all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#38423] add postgrest
@ 2019-11-29 11:35 Robert Vollmert
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
  0 siblings, 1 reply; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:35 UTC (permalink / raw)
  To: 38423

Here’s a set of patches to package postgrest http://postgrest.org/en/v6.0/

I’ve been using it packaged like this successfully for a while, and thought
I’d leave the patches here even though they’re not fully polished. (That is,
I didn’t go over the descriptions carefully; everything else should be fine.)

^ permalink raw reply	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer.
  2019-11-29 11:35 [bug#38423] add postgrest Robert Vollmert
@ 2019-11-29 11:37 ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 02/49] gnu: Add ghc-text-latin1 Robert Vollmert
                     ` (47 more replies)
  0 siblings, 48 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-text-printer): New package.
---
 gnu/packages/haskell-xyz.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index fb6833207d..a267685f99 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13148,3 +13148,34 @@ Zstandard compression algorithm, a fast lossless compression algorithm
 targeting real-time compression scenarios at zlib-level and better
 compression ratios.")
     (license license:bsd-3)))
+
+(define-public ghc-text-printer
+  (package
+    (name "ghc-text-printer")
+    (version "0.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/text-printer/text-printer-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "02sadjd19dbxzawr1q8z3j7w6vhp5mvz1dbssk118hsvl6k0234g"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-text-latin1" ,ghc-text-latin1)
+       ("ghc-semigroups" ,ghc-semigroups)))
+    (native-inputs
+     `(("ghc-test-framework" ,ghc-test-framework)
+       ("ghc-test-framework-quickcheck2"
+        ,ghc-test-framework-quickcheck2)
+       ("ghc-quickcheck" ,ghc-quickcheck)))
+    (home-page "https://github.com/mvv/text-printer")
+    (synopsis
+     "Abstract interface for text builders/printers.")
+    (description
+     "This package provides an interface for injecting text
+into monoids such as builders and printers.")
+    (license license:bsd-3)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 02/49] gnu: Add ghc-text-latin1.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 03/49] gnu: Add ghc-text-builder Robert Vollmert
                     ` (46 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-text-latin1): New package.
---
 gnu/packages/haskell-xyz.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index a267685f99..f22c936920 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13179,3 +13179,32 @@ compression ratios.")
      "This package provides an interface for injecting text
 into monoids such as builders and printers.")
     (license license:bsd-3)))
+
+(define-public ghc-text-latin1
+  (package
+    (name "ghc-text-latin1")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/text-latin1/text-latin1-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "1wxbv6m567n3330baw2k0xxd50nhn2k6w3lgmpk6zq7x1jp84x3c"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-data-checked" ,ghc-data-checked)
+       ("ghc-semigroups" ,ghc-semigroups)
+       ("ghc-case-insensitive" ,ghc-case-insensitive)
+       ("ghc-hashable" ,ghc-hashable)))
+    (home-page "https://github.com/mvv/text-latin1")
+    (synopsis
+     "Latin-1 (including ASCII) utility functions")
+    (description
+     "This package provides various functions over the
+ASCII and Latin-1 portions of the 'Char' and 'Word8'
+data types.")
+    (license license:bsd-3)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 03/49] gnu: Add ghc-text-builder.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 02/49] gnu: Add ghc-text-latin1 Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 04/49] gnu: Add ghc-text-short Robert Vollmert
                     ` (45 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-text-builder): New package.
---
 gnu/packages/haskell-xyz.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index f22c936920..350af5b0c0 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13208,3 +13208,35 @@ into monoids such as builders and printers.")
 ASCII and Latin-1 portions of the 'Char' and 'Word8'
 data types.")
     (license license:bsd-3)))
+
+(define-public ghc-text-builder
+  (package
+    (name "ghc-text-builder")
+    (version "0.6.5.1") ;; newer than ghc-8.4 lts stackage
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/text-builder/text-builder-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "0g40s5md7kfmhqsxxrfliwb3p4whg3m2wp31bai051nx1ddkkvay"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-base-prelude" ,ghc-base-prelude)
+       ("ghc-semigroups" ,ghc-semigroups)))
+    (native-inputs
+     `(("ghc-quickcheck" ,ghc-quickcheck)
+       ("ghc-quickcheck-instances"
+        ,ghc-quickcheck-instances)
+       ("ghc-rerebase" ,ghc-rerebase)
+       ("ghc-tasty" ,ghc-tasty)
+       ("ghc-tasty-hunit" ,ghc-tasty-hunit)
+       ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
+    (home-page
+     "https://github.com/nikita-volkov/text-builder")
+    (synopsis "An efficient strict text builder")
+    (description "")
+    (license license:expat)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 04/49] gnu: Add ghc-text-short.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 02/49] gnu: Add ghc-text-latin1 Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 03/49] gnu: Add ghc-text-builder Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 05/49] gnu: Add ghc-data-checked Robert Vollmert
                     ` (44 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-text-short): New package.
---
 gnu/packages/haskell-xyz.scm | 41 ++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 350af5b0c0..708159adc6 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13240,3 +13240,44 @@ data types.")
     (synopsis "An efficient strict text builder")
     (description "")
     (license license:expat)))
+
+(define-public ghc-text-short
+  (package
+    (name "ghc-text-short")
+    (version "0.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/text-short/text-short-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "0rqiwgjkgyfy8596swl0s0x2jqk6ddh2h02qxa32az2cs5kviwmk"))))
+    (build-system haskell-build-system)
+    (inputs `(("ghc-hashable" ,ghc-hashable)))
+    (native-inputs
+     `(("ghc-tasty" ,ghc-tasty)
+       ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
+       ("ghc-tasty-hunit" ,ghc-tasty-hunit)
+       ("ghc-quickcheck-instances"
+        ,ghc-quickcheck-instances)))
+    (arguments
+     `(#:cabal-revision
+       ("2"
+        "106p7c0399zxdlh9f9qkgy7g2gp3bxqdpy6m6lnfhzi0pm5y8mks")))
+    (home-page
+     "http://hackage.haskell.org/package/text-short")
+    (synopsis
+     "Memory-efficient representation of Unicode text strings")
+    (description
+     "This package provides the 'ShortText' type which is
+suitable for keeping many short strings in memory.
+This is similiar to how 'ShortByteString' relates to 'ByteString'.
+The main difference between 'Text' and 'ShortText' is that 'ShortText'
+uses UTF-8 instead of UTF-16 internally and also doesn't support
+zero-copy slicing (thereby saving 2 words).  Consequently, the
+memory footprint of a (boxed) 'ShortText' value is 4 words
+(2 words when unboxed) plus the length of the UTF-8 encoded payload.")
+    (license license:bsd-3)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 05/49] gnu: Add ghc-data-checked.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (2 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 04/49] gnu: Add ghc-text-short Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 06/49] gnu: Add ghc-deferred-folds Robert Vollmert
                     ` (43 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-data-checked): New package.
---
 gnu/packages/haskell-xyz.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 708159adc6..612bd8100f 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13281,3 +13281,27 @@ zero-copy slicing (thereby saving 2 words).  Consequently, the
 memory footprint of a (boxed) 'ShortText' value is 4 words
 (2 words when unboxed) plus the length of the UTF-8 encoded payload.")
     (license license:bsd-3)))
+
+(define-public ghc-data-checked
+  (package
+    (name "ghc-data-checked")
+    (version "0.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/data-checked/data-checked-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "0xjn7iqlsgi51h8gz4x40kc2qb5lwf6nw5kjwgkck1w5gjfd11yw"))))
+    (build-system haskell-build-system)
+    (home-page "https://github.com/mvv/data-checked")
+    (synopsis
+     "Type-indexed runtime-checked properties")
+    (description
+     "This package provides a (phantom) type-indexed newtype
+evidence-wrapper for values that are checked to satisfy the
+property associated with the type.")
+    (license license:bsd-3)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 06/49] gnu: Add ghc-deferred-folds.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (3 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 05/49] gnu: Add ghc-data-checked Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 07/49] gnu: Add ghc-websockets Robert Vollmert
                     ` (42 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-deferred-folds): New package.
---
 gnu/packages/haskell-xyz.scm | 37 ++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 612bd8100f..3946129173 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13305,3 +13305,40 @@ memory footprint of a (boxed) 'ShortText' value is 4 words
 evidence-wrapper for values that are checked to satisfy the
 property associated with the type.")
     (license license:bsd-3)))
+
+(define-public ghc-deferred-folds
+  (package
+    (name "ghc-deferred-folds")
+    (version "0.9.10.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/deferred-folds/deferred-folds-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "15lwcc7i7wmi1gkkmak677qw0fnz4a4ldnv842xaimfi64753shv"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-foldl" ,ghc-foldl)
+       ("ghc-hashable" ,ghc-hashable)
+       ("ghc-primitive" ,ghc-primitive)
+       ("ghc-unordered-containers"
+        ,ghc-unordered-containers)
+       ("ghc-vector" ,ghc-vector)))
+    (native-inputs
+     `(("ghc-quickcheck" ,ghc-quickcheck)
+       ("ghc-quickcheck-instances"
+        ,ghc-quickcheck-instances)
+       ("ghc-rerebase" ,ghc-rerebase)
+       ("ghc-tasty" ,ghc-tasty)
+       ("ghc-tasty-hunit" ,ghc-tasty-hunit)
+       ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
+    (home-page
+     "https://github.com/metrix-ai/deferred-folds")
+    (synopsis "Abstractions over deferred folds")
+    (description
+     "Abstractions over deferred folds.")
+    (license license:expat)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 07/49] gnu: Add ghc-websockets.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (4 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 06/49] gnu: Add ghc-deferred-folds Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 08/49] gnu: Add ghc-wai-websockets Robert Vollmert
                     ` (41 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-web.scm (ghc-websockets): New package.
---
 gnu/packages/haskell-web.scm | 41 ++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index 1672170131..fdfb7de721 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -1527,3 +1527,44 @@ The first three components of the version number match the upstream flot
 version.  The package is designed to meet the redistribution
 requirements of downstream users (e.g. Debian).")
     (license license:expat)))
+
+(define-public ghc-websockets
+  (package
+    (name "ghc-websockets")
+    (version "0.12.6.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/websockets/websockets-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "1vp3790w3hmr6v96314vdx74f7sg2c7hvnc93gafq0xhbxnr7nvx"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-attoparsec" ,ghc-attoparsec)
+       ("ghc-base64-bytestring" ,ghc-base64-bytestring)
+       ("ghc-bytestring-builder"
+        ,ghc-bytestring-builder)
+       ("ghc-case-insensitive" ,ghc-case-insensitive)
+       ("ghc-network" ,ghc-network)
+       ("ghc-random" ,ghc-random)
+       ("ghc-sha" ,ghc-sha)
+       ("ghc-streaming-commons" ,ghc-streaming-commons)
+       ("ghc-entropy" ,ghc-entropy)))
+    (native-inputs
+     `(("ghc-hunit" ,ghc-hunit)
+       ("ghc-quickcheck" ,ghc-quickcheck)
+       ("ghc-test-framework" ,ghc-test-framework)
+       ("ghc-test-framework-hunit"
+        ,ghc-test-framework-hunit)
+       ("ghc-test-framework-quickcheck2"
+        ,ghc-test-framework-quickcheck2)))
+    (home-page "http://jaspervdj.be/websockets")
+    (synopsis
+     "A sensible and clean way to write WebSocket-capable servers in Haskell")
+    (description
+     "This library allows you to write WebSocket-capable servers.")
+    (license license:bsd-3)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 08/49] gnu: Add ghc-wai-websockets.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (5 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 07/49] gnu: Add ghc-websockets Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 09/49] gnu: Add ghc-wai-cors Robert Vollmert
                     ` (40 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-web.scm (ghc-wai-websockets): New package.
---
 gnu/packages/haskell-web.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index fdfb7de721..e337d33e18 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -1568,3 +1568,34 @@ requirements of downstream users (e.g. Debian).")
     (description
      "This library allows you to write WebSocket-capable servers.")
     (license license:bsd-3)))
+
+(define-public ghc-wai-websockets
+  (package
+    (name "ghc-wai-websockets")
+    (version "3.0.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/wai-websockets/wai-websockets-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "0b2xmdsrsqpssyib53wbr6r8hf75789ndyyanv37sv99iyqcwz4i"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-wai" ,ghc-wai)
+       ("ghc-case-insensitive" ,ghc-case-insensitive)
+       ("ghc-network" ,ghc-network)
+       ("ghc-websockets" ,ghc-websockets)
+       ("ghc-http-types" ,ghc-http-types)
+       ("ghc-warp" ,ghc-warp)
+       ("ghc-wai-app-static" ,ghc-wai-app-static)
+       ("ghc-file-embed" ,ghc-file-embed)))
+    (home-page "http://github.com/yesodweb/wai")
+    (synopsis
+     "Provide a bridge between WAI and the websockets package")
+    (description
+     "Provide a bridge between WAI and the websockets package.")
+    (license license:expat)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 09/49] gnu: Add ghc-wai-cors.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (6 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 08/49] gnu: Add ghc-wai-websockets Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 10/49] gnu: Add ghc-wai-middleware-static Robert Vollmert
                     ` (39 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-web.scm (ghc-wai-cors): New package.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/haskell-web.scm                  | 42 +++++++++++++++++++
 .../ghc-wai-cors-skip-phantomjs-tests.patch   | 13 ++++++
 3 files changed, 56 insertions(+)
 create mode 100644 gnu/packages/patches/ghc-wai-cors-skip-phantomjs-tests.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index e49029a379..56ff1d0f7b 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -889,6 +889,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/ghc-monad-par-fix-tests.patch		\
   %D%/packages/patches/ghc-pandoc-fix-html-tests.patch		\
   %D%/packages/patches/ghc-pandoc-fix-latex-test.patch		\
+  %D%/packages/patches/ghc-wai-cors-skip-phantomjs-tests.patch	\
   %D%/packages/patches/ghostscript-no-header-id.patch		\
   %D%/packages/patches/ghostscript-no-header-uuid.patch		\
   %D%/packages/patches/ghostscript-no-header-creationdate.patch \
diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index e337d33e18..7f54568399 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -1599,3 +1599,45 @@ requirements of downstream users (e.g. Debian).")
     (description
      "Provide a bridge between WAI and the websockets package.")
     (license license:expat)))
+
+(define-public ghc-wai-cors
+  (package
+    (name "ghc-wai-cors")
+    (version "0.2.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/wai-cors/wai-cors-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "11m9d8hn9pb9brprz0kglldmcqj83kjkjdwdpxdbl12430ii1ina"))
+       (patches (search-patches "ghc-wai-cors-skip-phantomjs-tests.patch"))))
+    (build-system haskell-build-system)
+    (arguments
+     ;; required for unclear reasons; those flags should default to false
+     `(#:configure-flags '("--flags=-wai-2" "--flags=-wai-1")))
+    (inputs
+     `(("ghc-attoparsec" ,ghc-attoparsec)
+       ("ghc-base-unicode-symbols"
+        ,ghc-base-unicode-symbols)
+       ("ghc-case-insensitive" ,ghc-case-insensitive)
+       ("ghc-http-types" ,ghc-http-types)
+       ("ghc-wai" ,ghc-wai)))
+    (native-inputs
+     `(("ghc-tasty" ,ghc-tasty)
+       ("ghc-tasty-hunit" ,ghc-tasty-hunit)
+       ("ghc-transformers-compat" ,ghc-transformers-compat)
+       ("ghc-wai-extra" ,ghc-wai-extra)
+       ("ghc-wai-websockets" ,ghc-wai-websockets)
+       ("ghc-warp" ,ghc-warp)
+       ("ghc-websockets" ,ghc-websockets)))
+    (home-page
+     "https://github.com/larskuhtz/wai-cors")
+    (synopsis "CORS for WAI")
+    (description
+     "This package provides an implemenation of Cross-Origin resource sharing
+(CORS) for Wai that aims to be compliant with http://www.w3.org/TR/cors.")
+    (license license:expat)))
diff --git a/gnu/packages/patches/ghc-wai-cors-skip-phantomjs-tests.patch b/gnu/packages/patches/ghc-wai-cors-skip-phantomjs-tests.patch
new file mode 100644
index 0000000000..ffb1929a03
--- /dev/null
+++ b/gnu/packages/patches/ghc-wai-cors-skip-phantomjs-tests.patch
@@ -0,0 +1,13 @@
+Skip phantomjs tests.
+
+--- a/wai-cors.cabal	2017-12-02 19:58:59.000000000 +0100
++++ b/wai-cors.cabal	2019-06-03 22:02:32.792000000 +0200
+@@ -102,6 +102,8 @@
+     ghc-options: -Wall
+ 
+ Test-Suite phantomjs
++    buildable: False
++
+     type: exitcode-stdio-1.0
+     default-language: Haskell2010
+     main-is: PhantomJS.hs
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 10/49] gnu: Add ghc-wai-middleware-static.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (7 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 09/49] gnu: Add ghc-wai-cors Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 11/49] gnu: Add ghc-wai-app-static Robert Vollmert
                     ` (38 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-web.scm (ghc-wai-middleware-static): New package.
---
 gnu/packages/haskell-web.scm | 38 ++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index 7f54568399..ef43e8222d 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -1641,3 +1641,41 @@ requirements of downstream users (e.g. Debian).")
      "This package provides an implemenation of Cross-Origin resource sharing
 (CORS) for Wai that aims to be compliant with http://www.w3.org/TR/cors.")
     (license license:expat)))
+
+(define-public ghc-wai-middleware-static
+  (package
+    (name "ghc-wai-middleware-static")
+    (version "0.8.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/wai-middleware-static/wai-middleware-static-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "1z5yapcf8j9w71f2na30snmalsajlyi8an2f9qrjdmajabyykr0b"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-cryptonite" ,ghc-cryptonite)
+       ("ghc-memory" ,ghc-memory)
+       ("ghc-expiring-cache-map"
+        ,ghc-expiring-cache-map)
+       ("ghc-http-types" ,ghc-http-types)
+       ("ghc-mime-types" ,ghc-mime-types)
+       ("ghc-old-locale" ,ghc-old-locale)
+       ("ghc-semigroups" ,ghc-semigroups)
+       ("ghc-wai" ,ghc-wai)))
+    (arguments
+     `(#:cabal-revision
+       ("2"
+        "17vq38dh7x1kqzfwla1s0rldd5hzm5mcrx49sjlzy8b66gd2n3ac")))
+    (home-page
+     "https://github.com/scotty-web/wai-middleware-static")
+    (synopsis
+     "WAI middleware that serves requests to static files.")
+    (description
+     "WAI middleware that intercepts requests to static files and serves
+them if they exist.")
+    (license license:bsd-3)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 11/49] gnu: Add ghc-wai-app-static.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (8 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 10/49] gnu: Add ghc-wai-middleware-static Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 12/49] gnu: Add ghc-expiring-cache-map Robert Vollmert
                     ` (37 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-web.scm (ghc-wai-app-static): New package.
---
 gnu/packages/haskell-web.scm | 45 ++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index ef43e8222d..87165be078 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -1679,3 +1679,48 @@ requirements of downstream users (e.g. Debian).")
      "WAI middleware that intercepts requests to static files and serves
 them if they exist.")
     (license license:bsd-3)))
+
+(define-public ghc-wai-app-static
+  (package
+    (name "ghc-wai-app-static")
+    (version "3.1.6.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/wai-app-static/wai-app-static-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "0gnwq6ad5m8w8sqq4dzpz23l5rjdphfsf8h9h27lrvv1prkabc6h"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-wai" ,ghc-wai)
+       ("ghc-http-types" ,ghc-http-types)
+       ("ghc-unix-compat" ,ghc-unix-compat)
+       ("ghc-old-locale" ,ghc-old-locale)
+       ("ghc-file-embed" ,ghc-file-embed)
+       ("ghc-cryptonite" ,ghc-cryptonite)
+       ("ghc-memory" ,ghc-memory)
+       ("ghc-http-date" ,ghc-http-date)
+       ("ghc-blaze-html" ,ghc-blaze-html)
+       ("ghc-blaze-markup" ,ghc-blaze-markup)
+       ("ghc-mime-types" ,ghc-mime-types)
+       ("ghc-unordered-containers"
+        ,ghc-unordered-containers)
+       ("ghc-zlib" ,ghc-zlib)
+       ("ghc-wai-extra" ,ghc-wai-extra)
+       ("ghc-optparse-applicative"
+        ,ghc-optparse-applicative)
+       ("ghc-warp" ,ghc-warp)))
+    (native-inputs
+     `(("ghc-hspec" ,ghc-hspec)
+       ("ghc-network" ,ghc-network)
+       ("ghc-temporary" ,ghc-temporary)
+       ("ghc-mockery" ,ghc-mockery)))
+    (home-page
+     "http://www.yesodweb.com/book/web-application-interface")
+    (synopsis "WAI application for static serving")
+    (description "WAI application for static serving.")
+    (license license:expat)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 12/49] gnu: Add ghc-expiring-cache-map.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (9 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 11/49] gnu: Add ghc-wai-app-static Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 13/49] gnu: Add ghc-insert-ordered-containers Robert Vollmert
                     ` (36 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-expiring-cache-map): New package.
---
 gnu/packages/haskell-xyz.scm | 33 ++++++++++++++++++++++++++++++++-
 1 file changed, 32 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 3946129173..75adb3d7d4 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13226,7 +13226,8 @@ data types.")
     (build-system haskell-build-system)
     (inputs
      `(("ghc-base-prelude" ,ghc-base-prelude)
-       ("ghc-semigroups" ,ghc-semigroups)))
+       ("ghc-semigroups" ,ghc-semigroups)
+       ("ghc-deferred-folds" ,ghc-deferred-folds)))
     (native-inputs
      `(("ghc-quickcheck" ,ghc-quickcheck)
        ("ghc-quickcheck-instances"
@@ -13342,3 +13343,33 @@ property associated with the type.")
     (description
      "Abstractions over deferred folds.")
     (license license:expat)))
+
+(define-public ghc-expiring-cache-map
+  (package
+    (name "ghc-expiring-cache-map")
+    (version "0.0.6.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/expiring-cache-map/expiring-cache-map-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "1fb47hsn06ybn2yzw7r6pjkmvvfpbdx7wjhbpxcywilbjyac4fqf"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-hashable" ,ghc-hashable)
+       ("ghc-unordered-containers"
+        ,ghc-unordered-containers)))
+    (home-page
+     "https://github.com/elblake/expiring-cache-map")
+    (synopsis "General purpose simple caching.")
+    (description
+     "A simple general purpose shared state cache map with
+automatic expiration of values, for caching the results of
+accessing a resource such as reading a file. With variations
+for Ord and Hashable keys using Data.Map.Strict and Data.HashMap.Strict,
+respectively.")
+    (license license:bsd-3)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 13/49] gnu: Add ghc-insert-ordered-containers.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (10 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 12/49] gnu: Add ghc-expiring-cache-map Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 14/49] gnu: Add ghc-protolude Robert Vollmert
                     ` (35 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-insert-ordered-containers): New variable.
---
 gnu/packages/haskell-xyz.scm | 37 ++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 75adb3d7d4..a9c25a8b16 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13373,3 +13373,40 @@ accessing a resource such as reading a file. With variations
 for Ord and Hashable keys using Data.Map.Strict and Data.HashMap.Strict,
 respectively.")
     (license license:bsd-3)))
+
+(define-public ghc-insert-ordered-containers
+  (package
+    (name "ghc-insert-ordered-containers")
+    (version "0.2.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/insert-ordered-containers/insert-ordered-containers-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "1ikjhg0pdfpnx1d645r92k2dwlk7y935j1w5lcsk23nzpwhbkxja"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-aeson" ,ghc-aeson)
+       ("ghc-base-compat" ,ghc-base-compat)
+       ("ghc-hashable" ,ghc-hashable)
+       ("ghc-lens" ,ghc-lens)
+       ("ghc-semigroupoids" ,ghc-semigroupoids)
+       ("ghc-semigroups" ,ghc-semigroups)
+       ("ghc-unordered-containers"
+        ,ghc-unordered-containers)))
+    (native-inputs
+     `(("ghc-tasty" ,ghc-tasty)
+       ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
+       ("ghc-quickcheck" ,ghc-quickcheck)))
+    (home-page
+     "https://github.com/phadej/insert-ordered-containers#readme")
+    (synopsis
+     "Associative containers retaining insertion order for traversals.")
+    (description
+     "Associative containers retaining insertion order for traversals.
+The implementation is based on `unordered-containers`.")
+    (license license:bsd-3)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 14/49] gnu: Add ghc-protolude.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (11 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 13/49] gnu: Add ghc-insert-ordered-containers Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 15/49] gnu: Add ghc-mtl-compat Robert Vollmert
                     ` (34 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-protolude): New variable.
---
 gnu/packages/haskell-xyz.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index a9c25a8b16..dc124b37a1 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13410,3 +13410,30 @@ respectively.")
      "Associative containers retaining insertion order for traversals.
 The implementation is based on `unordered-containers`.")
     (license license:bsd-3)))
+
+(define-public ghc-protolude
+  (package
+    (name "ghc-protolude")
+    (version "0.2.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/protolude/protolude-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "0zzkyxz0vmcbncpid7gp72fpjj0fla3gqhlfkij5c5lg12skjgfj"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-async" ,ghc-async)
+       ("ghc-hashable" ,ghc-hashable)
+       ("ghc-mtl-compat" ,ghc-mtl-compat)
+       ("ghc-transformers-compat"
+        ,ghc-transformers-compat)))
+    (home-page "https://github.com/sdiehl/protolude")
+    (synopsis "A small prelude.")
+    (description
+     "A sensible set of defaults for writing custom Preludes.")
+    (license license:expat)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 15/49] gnu: Add ghc-mtl-compat.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (12 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 14/49] gnu: Add ghc-protolude Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 16/49] gnu: Add ghc-monad-time Robert Vollmert
                     ` (33 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-mtl-compat): New variable.
---
 gnu/packages/haskell-xyz.scm | 39 ++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index dc124b37a1..be5b7b64d5 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13437,3 +13437,42 @@ The implementation is based on `unordered-containers`.")
     (description
      "A sensible set of defaults for writing custom Preludes.")
     (license license:expat)))
+
+(define-public ghc-mtl-compat
+  (package
+    (name "ghc-mtl-compat")
+    (version "0.2.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/mtl-compat/mtl-compat-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "15388p9ybdn6digk6cpdsw6havd0yva8vvwl3p7fnc9sb59wln34"))))
+    (build-system haskell-build-system)
+    (arguments
+     `(#:cabal-revision
+       ("4"
+        "1mfrx8cpx0502sjv0bmlfkl0h46c4krldg8m89k4fj6iawwg2ab5")
+       #:haddock?
+       #f))
+    (home-page
+     "https://github.com/haskell-compat/mtl-compat")
+    (synopsis
+     "Backported Control.Monad.Except module from mtl")
+    (description
+     "This package backports the Control.Monad.Except module from mtl
+(if using mtl-2.2.0.1 or earlier), which reexports the ExceptT monad
+transformer and the MonadError class.  This package should only be used
+if there is a need to use the Control.Monad.Except module specifically.
+If you just want the mtl class instances for ExceptT, use
+transformers-compat instead, since mtl-compat does nothing but reexport
+the instances from that package.  Note that unlike how mtl-2.2 or later
+works, the Control.Monad.Except module defined in this package exports
+all of ExceptT's monad class instances. Therefore, you may have to declare
+import Control.Monad.Except () at the top of your file to get all of the
+ExceptT instances in scope.")
+    (license license:bsd-3)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 16/49] gnu: Add ghc-monad-time.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (13 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 15/49] gnu: Add ghc-mtl-compat Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 17/49] gnu: Add ghc-bug Robert Vollmert
                     ` (32 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-monad-time): New variable.
---
 gnu/packages/haskell-xyz.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index be5b7b64d5..c4d2ed3b02 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13476,3 +13476,26 @@ all of ExceptT's monad class instances. Therefore, you may have to declare
 import Control.Monad.Except () at the top of your file to get all of the
 ExceptT instances in scope.")
     (license license:bsd-3)))
+
+(define-public ghc-monad-time
+  (package
+    (name "ghc-monad-time")
+    (version "0.3.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/monad-time/monad-time-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "0z30c0k5bqlz86vwajnm6kj26i09zx6dzqwd00z6ba8hqyzm1x0a"))))
+    (build-system haskell-build-system)
+    (home-page
+     "https://github.com/scrive/monad-time")
+    (synopsis
+     "Type class for monads which carry the notion of the current time.")
+    (description
+     "'MonadTime' type class for monads which carry the notion of the current time.")
+    (license license:bsd-3)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 17/49] gnu: Add ghc-bug.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (14 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 16/49] gnu: Add ghc-monad-time Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 18/49] gnu: Add ghc-only Robert Vollmert
                     ` (31 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-bug): New variable.
---
 gnu/packages/haskell-xyz.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index c4d2ed3b02..3eadfff08c 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13499,3 +13499,25 @@ ExceptT instances in scope.")
     (description
      "'MonadTime' type class for monads which carry the notion of the current time.")
     (license license:bsd-3)))
+
+(define-public ghc-bug
+  (package
+    (name "ghc-bug")
+    (version "1.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/bug/bug-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "1xfynvp5fyn46gg3p5qq9cmb1dnw2dyf3bz6w5wdvikfvs19dwhq"))))
+    (build-system haskell-build-system)
+    (home-page
+     "https://github.com/nikita-volkov/bug")
+    (synopsis
+     "Better alternatives to the \"error\" function")
+    (description "")
+    (license license:expat)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 18/49] gnu: Add ghc-only.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (15 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 17/49] gnu: Add ghc-bug Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 19/49] gnu: Add ghc-data-bword Robert Vollmert
                     ` (30 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-only): New variable.
---
 gnu/packages/haskell-xyz.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 3eadfff08c..497ce4a5e6 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13521,3 +13521,31 @@ ExceptT instances in scope.")
      "Better alternatives to the \"error\" function")
     (description "")
     (license license:expat)))
+
+(define-public ghc-only
+  (package
+    (name "ghc-only")
+    (version "0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/Only/Only-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "0rdj3a629fk2vp121jq8mf2smkblrz5w3cxhlsyx6my2x29s2ymb"))))
+    (build-system haskell-build-system)
+    (arguments
+     `(#:cabal-revision
+       ("1"
+        "1ahk7p34kmh041mz7lyc10nhcxgv2i4z8nvzxvqm2x34gslmsbzr")))
+    (home-page
+     "http://hackage.haskell.org/package/Only")
+    (synopsis
+     "The 1-tuple type or single-value \"collection\"")
+    (description
+     "This package provides a canonical anonymous 1-tuple type missing from
+Haskell for attaching typeclass instances.")
+    (license license:bsd-3)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 19/49] gnu: Add ghc-data-bword.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (16 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 18/49] gnu: Add ghc-only Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 20/49] gnu: Add ghc-data-dword Robert Vollmert
                     ` (29 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-data-bword): New variable.
---
 gnu/packages/haskell-xyz.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 497ce4a5e6..905beb533b 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13549,3 +13549,28 @@ ExceptT instances in scope.")
      "This package provides a canonical anonymous 1-tuple type missing from
 Haskell for attaching typeclass instances.")
     (license license:bsd-3)))
+
+(define-public ghc-data-bword
+  (package
+    (name "ghc-data-bword")
+    (version "0.1.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/data-bword/data-bword-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "0zfvk7b7qi6inra0kc03rhsic2rj0818n4i03lfwzvb5g22izw3h"))))
+    (build-system haskell-build-system)
+    (native-inputs
+     `(("ghc-tasty" ,ghc-tasty)
+       ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
+    (home-page "https://github.com/mvv/data-bword")
+    (synopsis
+     "Extra operations on binary words of fixed length")
+    (description
+     "This package provides extra (vs. 'Data.Bits') operations on binary words of fixed length.")
+    (license license:bsd-3)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 20/49] gnu: Add ghc-data-dword.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (17 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 19/49] gnu: Add ghc-data-bword Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 21/49] gnu: Add ghc-data-endian Robert Vollmert
                     ` (28 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-data-dword): New variable.
---
 gnu/packages/haskell-xyz.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 905beb533b..0b40ec6c6b 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13574,3 +13574,33 @@ Haskell for attaching typeclass instances.")
     (description
      "This package provides extra (vs. 'Data.Bits') operations on binary words of fixed length.")
     (license license:bsd-3)))
+
+(define-public ghc-data-dword
+  (package
+    (name "ghc-data-dword")
+    (version "0.3.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/data-dword/data-dword-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "084invjg8zj7ndxnz9clqmq06ch47k1d9lhxwap6xs0x4807crvb"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-hashable" ,ghc-hashable)
+       ("ghc-data-bword" ,ghc-data-bword)))
+    (native-inputs
+     `(("ghc-tasty" ,ghc-tasty)
+       ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
+    (home-page "https://github.com/mvv/data-dword")
+    (synopsis
+     "Stick two binary words together to get a bigger one")
+    (description
+     "This package provides Template Haskell utilities for declaring
+fixed-length binary word data types.  Signed and unsigned
+96, 128, 160, 192, 224, and 256-bit types are predefined.")
+    (license license:bsd-3)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 21/49] gnu: Add ghc-data-endian.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (18 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 20/49] gnu: Add ghc-data-dword Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 22/49] gnu: Add ghc-data-serializer Robert Vollmert
                     ` (27 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-data-endian): New variable.
---
 gnu/packages/haskell-xyz.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 0b40ec6c6b..5f90fc1551 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13604,3 +13604,24 @@ Haskell for attaching typeclass instances.")
 fixed-length binary word data types.  Signed and unsigned
 96, 128, 160, 192, 224, and 256-bit types are predefined.")
     (license license:bsd-3)))
+
+(define-public ghc-data-endian
+  (package
+    (name "ghc-data-endian")
+    (version "0.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/data-endian/data-endian-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "1h1abz87nha7cpw50yvf8fwvcca350wnnz2d3z9k30sg6wq4y7cc"))))
+    (build-system haskell-build-system)
+    (home-page "https://github.com/mvv/data-endian")
+    (synopsis "Endian-sensitive data")
+    (description
+     "This package provides helpers for converting endian-sensitive data.")
+    (license license:bsd-3)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 22/49] gnu: Add ghc-data-serializer.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (19 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 21/49] gnu: Add ghc-data-endian Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 23/49] gnu: Add ghc-data-textual Robert Vollmert
                     ` (26 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-data-serializer): New variable.
---
 gnu/packages/haskell-xyz.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 5f90fc1551..766eb129bb 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13625,3 +13625,35 @@ fixed-length binary word data types.  Signed and unsigned
     (description
      "This package provides helpers for converting endian-sensitive data.")
     (license license:bsd-3)))
+
+(define-public ghc-data-serializer
+  (package
+    (name "ghc-data-serializer")
+    (version "0.3.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/data-serializer/data-serializer-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "1ijy8l5lxmm8wpzx4h2vh9q21zz66xgh979s32aa4b16l9m1b4z7"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-semigroups" ,ghc-semigroups)
+       ("ghc-cereal" ,ghc-cereal)
+       ("ghc-data-endian" ,ghc-data-endian)
+       ("ghc-parsers" ,ghc-parsers)
+       ("ghc-split" ,ghc-split)))
+    (native-inputs
+     `(("ghc-tasty" ,ghc-tasty)
+       ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
+    (home-page
+     "https://github.com/mvv/data-serializer")
+    (synopsis
+     "Common API for serialization libraries")
+    (description
+     "This package provides a common API for serialization libraries like <http://hackage.haskell.org/package/binary binary> and <http://hackage.haskell.org/package/cereal cereal>.")
+    (license license:bsd-3)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 23/49] gnu: Add ghc-data-textual.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (20 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 22/49] gnu: Add ghc-data-serializer Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 24/49] gnu: Add ghc-directory Robert Vollmert
                     ` (25 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-data-textual): New variable.
---
 gnu/packages/haskell-xyz.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 766eb129bb..2421a5f9a1 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13657,3 +13657,36 @@ fixed-length binary word data types.  Signed and unsigned
     (description
      "This package provides a common API for serialization libraries like <http://hackage.haskell.org/package/binary binary> and <http://hackage.haskell.org/package/cereal cereal>.")
     (license license:bsd-3)))
+
+(define-public ghc-data-textual
+  (package
+    (name "ghc-data-textual")
+    (version "0.3.0.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/data-textual/data-textual-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "0c4qs923dj4jnvvkjvbij0c1yg922iw66140cq6wb1m4h6q31ia4"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-text-latin1" ,ghc-text-latin1)
+       ("ghc-text-printer" ,ghc-text-printer)
+       ("ghc-parsers" ,ghc-parsers)))
+    (native-inputs
+     `(("ghc-test-framework" ,ghc-test-framework)
+       ("ghc-test-framework-quickcheck2"
+        ,ghc-test-framework-quickcheck2)
+       ("ghc-quickcheck" ,ghc-quickcheck)
+       ("ghc-type-hint" ,ghc-type-hint)))
+    (home-page "https://github.com/mvv/data-textual")
+    (synopsis
+     "Human-friendly textual representations.")
+    (description
+     "This package provides an interface for converting
+between data and its (human-friendly) textual representation.")
+    (license license:bsd-3)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 24/49] gnu: Add ghc-directory.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (21 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 23/49] gnu: Add ghc-data-textual Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 25/49] gnu: Add ghc-network-ip Robert Vollmert
                     ` (24 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-directory): New variable.
---
 gnu/packages/haskell-xyz.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 2421a5f9a1..ed02b509ac 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13690,3 +13690,27 @@ fixed-length binary word data types.  Signed and unsigned
      "This package provides an interface for converting
 between data and its (human-friendly) textual representation.")
     (license license:bsd-3)))
+
+(define-public ghc-directory
+  (package
+    (name "ghc-directory")
+    (version "1.3.1.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/directory/directory-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "0zkqihmdfz7bzv3sxh1p9ijl4vra880kfy3qy9h96flq7d2if0f2"))))
+    (build-system haskell-build-system)
+    (home-page
+     "http://hackage.haskell.org/package/directory")
+    (synopsis
+     "Platform-agnostic library for filesystem operations")
+    (description
+     "This library provides a basic set of operations for manipulating
+files and directories in a portable way.")
+    (license license:bsd-3)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 25/49] gnu: Add ghc-network-ip.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (22 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 24/49] gnu: Add ghc-directory Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 26/49] gnu: Add ghc-http-media Robert Vollmert
                     ` (23 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-network-ip): New variable.
---
 gnu/packages/haskell-xyz.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index ed02b509ac..7c1b75a5ed 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13714,3 +13714,38 @@ between data and its (human-friendly) textual representation.")
      "This library provides a basic set of operations for manipulating
 files and directories in a portable way.")
     (license license:bsd-3)))
+
+(define-public ghc-network-ip
+  (package
+    (name "ghc-network-ip")
+    (version "0.3.0.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/network-ip/network-ip-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "1zjy232pamkd3977cyaq5w5r6ksbpqpgzzlds15zrahjccirs9gf"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-data-default-class"
+        ,ghc-data-default-class)
+       ("ghc-data-endian" ,ghc-data-endian)
+       ("ghc-data-dword" ,ghc-data-dword)
+       ("ghc-type-hint" ,ghc-type-hint)
+       ("ghc-hashable" ,ghc-hashable)
+       ("ghc-data-serializer" ,ghc-data-serializer)
+       ("ghc-text-printer" ,ghc-text-printer)
+       ("ghc-data-textual" ,ghc-data-textual)
+       ("ghc-parsers" ,ghc-parsers)))
+    (native-inputs
+     `(("ghc-tasty" ,ghc-tasty)
+       ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
+    (home-page "https://github.com/mvv/network-ip")
+    (synopsis "Internet Protocol data structures")
+    (description
+     "This package provides Internet Protocol data structures")
+    (license license:bsd-3)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 26/49] gnu: Add ghc-http-media.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (23 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 25/49] gnu: Add ghc-network-ip Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 27/49] gnu: Add ghc-type-hint Robert Vollmert
                     ` (22 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-web.scm (ghc-http-media): New variable.
---
 gnu/packages/haskell-web.scm | 40 ++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index 87165be078..da52f1f24f 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -1724,3 +1724,43 @@ them if they exist.")
     (synopsis "WAI application for static serving")
     (description "WAI application for static serving.")
     (license license:expat)))
+
+(define-public ghc-http-media
+  (package
+    (name "ghc-http-media")
+    (version "0.7.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/http-media/http-media-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "0kqjzvh5y8r6x5rw2kgd816w2963c6cbyw2qjvaj2mv59zxzqkrr"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-case-insensitive" ,ghc-case-insensitive)
+       ("ghc-utf8-string" ,ghc-utf8-string)))
+    (native-inputs
+     `(("ghc-quickcheck" ,ghc-quickcheck)
+       ("ghc-test-framework" ,ghc-test-framework)
+       ("ghc-test-framework-quickcheck2"
+        ,ghc-test-framework-quickcheck2)))
+    (arguments
+     `(#:cabal-revision
+       ("1"
+        "19py5pspx80gg679p9dzqr3iidflppxc1x4vkldamjkidyi406j8")))
+    (home-page "https://github.com/zmthy/http-media")
+    (synopsis
+     "Processing HTTP Content-Type and Accept headers")
+    (description
+     "This library is intended to be a comprehensive solution to parsing
+and selecting quality-indexed values in HTTP headers.  It is capable of
+parsing both media types and language parameters from the Accept and Content
+header families, and can be extended to match against other accept headers
+as well.  Selecting the appropriate header value is achieved by comparing
+a list of server options against the quality-indexed values supplied by
+the client.")
+    (license license:expat)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 27/49] gnu: Add ghc-type-hint.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (24 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 26/49] gnu: Add ghc-http-media Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 28/49] gnu: Add ghc-concise Robert Vollmert
                     ` (21 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-type-hint): New variable.
---
 gnu/packages/haskell-xyz.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 7c1b75a5ed..d5dbff4433 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13749,3 +13749,27 @@ files and directories in a portable way.")
     (description
      "This package provides Internet Protocol data structures")
     (license license:bsd-3)))
+
+(define-public ghc-type-hint
+  (package
+    (name "ghc-type-hint")
+    (version "0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/type-hint/type-hint-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "1fcrma7m6y7i1y42rzhv7qch8xkk93lkh1767saw4hsb9fzwsq8i"))))
+    (build-system haskell-build-system)
+    (home-page "https://github.com/mvv/type-hint")
+    (synopsis
+     "Guide type inference with proxy values")
+    (description
+     "This package provides 'Proxy' values for various types
+from the base library and functions to use these values as
+hints for type inference.")
+    (license license:bsd-3)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 28/49] gnu: Add ghc-concise.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (25 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 27/49] gnu: Add ghc-type-hint Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 29/49] gnu: Add ghc-lens-aeson Robert Vollmert
                     ` (20 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-concise): New variable.
---
 gnu/packages/haskell-xyz.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index d5dbff4433..28179eba97 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13773,3 +13773,33 @@ files and directories in a portable way.")
 from the base library and functions to use these values as
 hints for type inference.")
     (license license:bsd-3)))
+
+(define-public ghc-concise
+  (package
+    (name "ghc-concise")
+    (version "0.1.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/concise/concise-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "09crgc6gjfidlad6263253xx1di6wfhc9awhira21s0z7rddy9sw"))))
+    (build-system haskell-build-system)
+    (inputs `(("ghc-lens" ,ghc-lens)))
+    (native-inputs
+     `(("ghc-tasty" ,ghc-tasty)
+       ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
+       ("ghc-quickcheck" ,ghc-quickcheck)
+       ("ghc-quickcheck-instances"
+        ,ghc-quickcheck-instances)))
+    (home-page
+     "https://github.com/frasertweedale/hs-concise")
+    (synopsis "Utilities for Control.Lens.Cons")
+    (description
+     "concise provides a handful of functions to extend
+what you can do with Control.Lens.Cons.")
+    (license license:bsd-3)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 29/49] gnu: Add ghc-lens-aeson.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (26 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 28/49] gnu: Add ghc-concise Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 30/49] gnu: Add ghc-placeholders Robert Vollmert
                     ` (19 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-lens-aeson): New variable.
---
 gnu/packages/haskell-xyz.scm | 38 ++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 28179eba97..5cba944601 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13803,3 +13803,41 @@ hints for type inference.")
      "concise provides a handful of functions to extend
 what you can do with Control.Lens.Cons.")
     (license license:bsd-3)))
+
+(define-public ghc-lens-aeson
+  (package
+    (name "ghc-lens-aeson")
+    (version "1.0.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/lens-aeson/lens-aeson-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "1k028ycmhz7mnjlrap88fqix4nmmpyy6b88m16kv77d3r8sz04a3"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-lens" ,ghc-lens)
+       ("ghc-vector" ,ghc-vector)
+       ("ghc-unordered-containers"
+        ,ghc-unordered-containers)
+       ("ghc-attoparsec" ,ghc-attoparsec)
+       ("ghc-aeson" ,ghc-aeson)
+       ("ghc-scientific" ,ghc-scientific)))
+    (native-inputs
+     `(("ghc-doctest" ,ghc-doctest)
+       ("ghc-generic-deriving" ,ghc-generic-deriving)
+       ("ghc-semigroups" ,ghc-semigroups)
+       ("ghc-simple-reflect" ,ghc-simple-reflect)
+       ("cabal-doctest" ,cabal-doctest)))
+    (arguments
+     `(#:cabal-revision
+       ("6"
+        "1pg5v8fnlqw1krgi3d2a03a0zkjjdv5yp5f5z6q4mlb5jldz99a8")))
+    (home-page "http://github.com/lens/lens-aeson/")
+    (synopsis "Law-abiding lenses for aeson")
+    (description "Law-abiding lenses for aeson")
+    (license license:expat)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 30/49] gnu: Add ghc-placeholders.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (27 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 29/49] gnu: Add ghc-lens-aeson Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 31/49] gnu: Add ghc-binary-parser Robert Vollmert
                     ` (18 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-placeholders): New variable.
---
 gnu/packages/haskell-xyz.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 5cba944601..c38aa5f62e 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13841,3 +13841,30 @@ what you can do with Control.Lens.Cons.")
     (synopsis "Law-abiding lenses for aeson")
     (description "Law-abiding lenses for aeson")
     (license license:expat)))
+
+(define-public ghc-placeholders
+  (package
+    (name "ghc-placeholders")
+    (version "0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/placeholders/placeholders-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "0ih35n2pw5gr9ggj2xz5zfcs4bdk200fdw6q9hdy3xna7maphak5"))))
+    (build-system haskell-build-system)
+    (home-page
+     "http://github.com/ahammar/placeholders")
+    (synopsis
+     "Placeholders for use while developing Haskell code")
+    (description
+     "While working on some Haskell code, it is often useful to work
+incrementally by inserting undefined as a placeholder for missing code.
+This library provides placeholders that produce better messages when
+evaluated at run-time and also generate compile-time warnings so that
+they do not get forgotten so easily.")
+    (license license:bsd-3)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 31/49] gnu: Add ghc-binary-parser.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (28 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 30/49] gnu: Add ghc-placeholders Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 32/49] gnu: Add ghc-bytestring-tree-builder Robert Vollmert
                     ` (17 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-binary-parser): New variable.
---
 gnu/packages/haskell-xyz.scm | 37 ++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index c38aa5f62e..26e5b2644d 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13868,3 +13868,40 @@ This library provides placeholders that produce better messages when
 evaluated at run-time and also generate compile-time warnings so that
 they do not get forgotten so easily.")
     (license license:bsd-3)))
+
+(define-public ghc-binary-parser
+  (package
+    (name "ghc-binary-parser")
+    (version "0.5.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/binary-parser/binary-parser-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "1cs3zrhgnng2h84xnnvqcy6yrdm0xay1494dsa612y590s773aqx"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-base-prelude" ,ghc-base-prelude)))
+    (native-inputs
+     `(("ghc-tasty" ,ghc-tasty)
+       ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
+       ("ghc-tasty-hunit" ,ghc-tasty-hunit)
+       ("ghc-quickcheck-instances"
+        ,ghc-quickcheck-instances)
+       ("ghc-rerebase" ,ghc-rerebase)))
+    (arguments
+     `(#:tests?  ; rely on outdated test library versions
+       #f        ; https://github.com/nikita-volkov/binary-parser/pull/3
+       #:cabal-revision
+       ("3"
+        "14n41yazmks2qw0v4krxcqw3ac0wdy2z53d0qz0rdjcd94fpghjf")))
+    (home-page
+     "https://github.com/nikita-volkov/binary-parser")
+    (synopsis
+     "A highly-efficient but limited parser API specialised for bytestrings")
+    (description "")
+    (license license:expat)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 32/49] gnu: Add ghc-bytestring-tree-builder.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (29 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 31/49] gnu: Add ghc-binary-parser Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 33/49] gnu: Add ghc-bytestring-strict-builder Robert Vollmert
                     ` (16 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-bytestring-tree-builder): New variable.
---
 gnu/packages/haskell-xyz.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 26e5b2644d..acf8093de9 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13905,3 +13905,38 @@ they do not get forgotten so easily.")
      "A highly-efficient but limited parser API specialised for bytestrings")
     (description "")
     (license license:expat)))
+
+(define-public ghc-bytestring-tree-builder
+  (package
+    (name "ghc-bytestring-tree-builder")
+    (version "0.2.7.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/bytestring-tree-builder/bytestring-tree-builder-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "03h2nmhyrr63gw4xmflsrmwf80gvayhs32wnpg3k9aqfjzpz4bd1"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-semigroups" ,ghc-semigroups)
+       ("ghc-base-prelude" ,ghc-base-prelude)))
+    (native-inputs
+     `(("ghc-tasty" ,ghc-tasty)
+       ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
+       ("ghc-tasty-hunit" ,ghc-tasty-hunit)
+       ("ghc-quickcheck-instances"
+        ,ghc-quickcheck-instances)
+       ("ghc-quickcheck" ,ghc-quickcheck)))
+    (home-page
+     "https://github.com/nikita-volkov/bytestring-tree-builder")
+    (synopsis
+     "A very efficient ByteString builder implementation based on the binary tree")
+    (description
+     "According to the benchmarks this builder implementation beats all the alternatives.
+It is especially well-suited for generating strict bytestrings, beating the standard
+builder by at least the factor of 4.")
+    (license license:expat)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 33/49] gnu: Add ghc-bytestring-strict-builder.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (30 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 32/49] gnu: Add ghc-bytestring-tree-builder Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 34/49] gnu: Add ghc-heredoc Robert Vollmert
                     ` (15 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-bytestring-strict-builder): New variable.
---
 gnu/packages/haskell-xyz.scm | 43 ++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index acf8093de9..8637f5c637 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13940,3 +13940,46 @@ they do not get forgotten so easily.")
 It is especially well-suited for generating strict bytestrings, beating the standard
 builder by at least the factor of 4.")
     (license license:expat)))
+
+(define-public ghc-bytestring-strict-builder
+  (package
+    (name "ghc-bytestring-strict-builder")
+    (version "0.4.5.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/bytestring-strict-builder/bytestring-strict-builder-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "17n6ll8k26312fgxbhws1yrswvy5dbsgyf57qksnj0akdssysy8q"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-semigroups" ,ghc-semigroups)
+       ("ghc-base-prelude" ,ghc-base-prelude)))
+    (native-inputs
+     `(("ghc-tasty" ,ghc-tasty)
+       ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
+       ("ghc-tasty-hunit" ,ghc-tasty-hunit)
+       ("ghc-quickcheck-instances"
+        ,ghc-quickcheck-instances)
+       ("ghc-quickcheck" ,ghc-quickcheck)
+       ("ghc-rerebase" ,ghc-rerebase)))
+    (arguments
+     `(#:cabal-revision
+       ("1"
+        "1snn8qb17maa76zji75i4yfz9x8ci16xp6zwg6kgwb33lf06imnd")))
+    (home-page
+     "https://github.com/nikita-volkov/bytestring-strict-builder")
+    (synopsis
+     "An efficient strict bytestring builder")
+    (description
+     "According to https://github.com/nikita-volkov/bytestring-builders-benchmark,
+this library provides on average the fastest builder of strict bytestrings.
+Practical benchmarks have proven it to be highly performant as well.  The
+encoders from the postgresql-binary library have shown a stable performance
+improvement by factors of up to 10 after the migration from the standard builder
+to bytestring-strict-builder.")
+    (license license:expat)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 34/49] gnu: Add ghc-heredoc.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (31 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 33/49] gnu: Add ghc-bytestring-strict-builder Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 35/49] gnu: Add ghc-interpolatedstring-perl6 Robert Vollmert
                     ` (14 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-heredoc): New variable.
---
 gnu/packages/haskell-xyz.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 8637f5c637..f876709648 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13983,3 +13983,26 @@ encoders from the postgresql-binary library have shown a stable performance
 improvement by factors of up to 10 after the migration from the standard builder
 to bytestring-strict-builder.")
     (license license:expat)))
+
+(define-public ghc-heredoc
+  (package
+    (name "ghc-heredoc")
+    (version "0.2.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/heredoc/heredoc-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "0h0g2f7yscwl1ba1yn3jnz2drvd6ns9m910hwlmq3kdq3k39y3f9"))))
+    (build-system haskell-build-system)
+    (home-page
+     "http://hackage.haskell.org/package/heredoc")
+    (synopsis
+     "multi-line string / here document using QuasiQuotes")
+    (description
+     "multi-line string / here document using QuasiQuotes")
+    (license license:public-domain)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 35/49] gnu: Add ghc-interpolatedstring-perl6.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (32 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 34/49] gnu: Add ghc-heredoc Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 36/49] gnu: Add ghc-loch-th Robert Vollmert
                     ` (13 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-interpolatedstring-perl6): New variable.
---
 gnu/packages/haskell-xyz.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index f876709648..d401ddd469 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -14006,3 +14006,28 @@ to bytestring-strict-builder.")
     (description
      "multi-line string / here document using QuasiQuotes")
     (license license:public-domain)))
+
+(define-public ghc-interpolatedstring-perl6
+  (package
+    (name "ghc-interpolatedstring-perl6")
+    (version "1.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/interpolatedstring-perl6/interpolatedstring-perl6-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "0n3j6qvzp6as5ji93rn0sy873w5hdsplik51lkrah42cl95vmbay"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
+    (home-page
+     "http://hackage.haskell.org/package/interpolatedstring-perl6")
+    (synopsis
+     "QuasiQuoter for Perl6-style multi-line interpolated strings")
+    (description
+     "QuasiQuoter for Perl6-style multi-line interpolated strings.")
+    (license license:public-domain)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 36/49] gnu: Add ghc-loch-th.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (33 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 35/49] gnu: Add ghc-interpolatedstring-perl6 Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 37/49] gnu: Add ghc-ranged-sets Robert Vollmert
                     ` (12 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-loch-th): New variable.
---
 gnu/packages/haskell-xyz.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index d401ddd469..1b9db3f519 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -14031,3 +14031,27 @@ to bytestring-strict-builder.")
     (description
      "QuasiQuoter for Perl6-style multi-line interpolated strings.")
     (license license:public-domain)))
+
+(define-public ghc-loch-th
+  (package
+    (name "ghc-loch-th")
+    (version "0.2.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/loch-th/loch-th-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "1hvdkcyrlnv65q8x8h0441x30wr9bbfbg3961xd3fy9an5r961fc"))))
+    (build-system haskell-build-system)
+    (home-page "https://github.com/liskin/loch-th")
+    (synopsis
+     "Support for precise error locations in source files (Template Haskell version)")
+    (description
+     "This module provides a Template Haskell based mechanism to tag failures with
+the location of the failure call.  The location message includes the file name,
+line and column numbers.")
+    (license license:bsd-3)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 37/49] gnu: Add ghc-ranged-sets.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (34 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 36/49] gnu: Add ghc-loch-th Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 38/49] gnu: Add ghc-postgresql-binary Robert Vollmert
                     ` (11 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-ranged-sets): New variable.
---
 gnu/packages/haskell-xyz.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 1b9db3f519..88dd872b9e 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -14055,3 +14055,32 @@ to bytestring-strict-builder.")
 the location of the failure call.  The location message includes the file name,
 line and column numbers.")
     (license license:bsd-3)))
+
+(define-public ghc-ranged-sets
+  (package
+    (name "ghc-ranged-sets")
+    (version "0.4.0") ;; not stackage LTS 8.4
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/Ranged-sets/Ranged-sets-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "1skd2a6yw7dd5vq8x81kwh28gi8sgyzg9qqqyadxmgpvy11sh9ab"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-hunit" ,ghc-hunit)
+       ("ghc-quickcheck" ,ghc-quickcheck)))
+    (home-page
+     "https://github.com/PaulJohnson/Ranged-sets")
+    (synopsis "Ranged sets for Haskell")
+    (description
+     "A ranged set is an ordered list of ranges.
+This allows sets such as all reals x such that:
+(0.25 < x <= 0.75 or 1.4 <= x < 2.3 or 4.5 < x).
+Alternatively you can have all strings s such that:
+(\"F\" <= s < \"G\")")
+    (license license:bsd-3)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 38/49] gnu: Add ghc-postgresql-binary.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (35 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 37/49] gnu: Add ghc-ranged-sets Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 39/49] gnu: Add ghc-postgresql-libpq Robert Vollmert
                     ` (10 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-postgresql-binary): New variable.
---
 gnu/packages/haskell-xyz.scm | 42 ++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 88dd872b9e..efe751fa88 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -14084,3 +14084,45 @@ This allows sets such as all reals x such that:
 Alternatively you can have all strings s such that:
 (\"F\" <= s < \"G\")")
     (license license:bsd-3)))
+
+(define-public ghc-postgresql-binary
+  (package
+    (name "ghc-postgresql-binary")
+    (version "0.12.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/postgresql-binary/postgresql-binary-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "10h5299fxqmfz0kxyvivfy396q35gzg60spnjagyha33kx5m3bc3"))))
+    (build-system haskell-build-system)
+    (arguments `(#:tests? #f)) ; relies on running postgres
+    (inputs
+     `(("ghc-binary-parser" ,ghc-binary-parser)
+       ("ghc-bytestring-strict-builder"
+        ,ghc-bytestring-strict-builder)
+       ("ghc-aeson" ,ghc-aeson)
+       ("ghc-uuid" ,ghc-uuid)
+       ("ghc-scientific" ,ghc-scientific)
+       ("ghc-vector" ,ghc-vector)
+       ("ghc-network-ip" ,ghc-network-ip)
+       ("ghc-unordered-containers"
+        ,ghc-unordered-containers)
+       ("ghc-loch-th" ,ghc-loch-th)
+       ("ghc-placeholders" ,ghc-placeholders)
+       ("ghc-base-prelude" ,ghc-base-prelude)))
+    (home-page
+     "https://github.com/nikita-volkov/postgresql-binary")
+    (synopsis
+     "Encoders and decoders for the PostgreSQL's binary format")
+    (description
+     "An API for dealing with PostgreSQL's binary data format.
+It can be used to implement performant bindings to Postgres.
+E.g., hasql is based on this library.  It supports all Postgres
+versions starting from 8.3 and is tested against 8.3, 9.3 and 9.5
+with the integer_datetimes setting off and on.")
+    (license license:expat)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 39/49] gnu: Add ghc-postgresql-libpq.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (36 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 38/49] gnu: Add ghc-postgresql-binary Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 40/49] gnu: Add ghc-hasql Robert Vollmert
                     ` (9 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-postgresql-libpq): New variable.
---
 gnu/packages/haskell-xyz.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index efe751fa88..4ca9ffa5ec 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -42,12 +42,14 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages base)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages databases)
   #:use-module (gnu packages emacs)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages haskell-apps)
+  #:use-module (gnu packages haskell)
   #:use-module (gnu packages haskell-check)
   #:use-module (gnu packages haskell-crypto)
   #:use-module (gnu packages haskell-web)
@@ -8620,6 +8622,33 @@ standard Read class, for better deserialisation of Haskell values from
 Strings.")
     (license license:lgpl2.1)))
 
+(define-public ghc-postgresql-libpq
+  (package
+    (name "ghc-postgresql-libpq")
+    (version "0.9.4.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/postgresql-libpq/postgresql-libpq-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "1y86kysakfcf3zq252yl2llrx3765vxvkdwda4q5ql7ikv3m786f"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("postgresql" ,postgresql)))
+    (home-page
+     "https://github.com/phadej/postgresql-libpq")
+    (synopsis "low-level binding to libpq")
+    (description
+     "This is a binding to libpq: the C application programmer's interface
+to PostgreSQL.  libpq is a set of library functions that allow client
+programs to pass queries to the PostgreSQL backend server and to receive
+the results of these queries.")
+    (license license:bsd-3)))
+
 (define-public ghc-pqueue
   (package
     (name "ghc-pqueue")
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 40/49] gnu: Add ghc-hasql.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (37 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 39/49] gnu: Add ghc-postgresql-libpq Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 41/49] gnu: Add ghc-hasql-pool Robert Vollmert
                     ` (8 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-hasql): New variable.
---
 gnu/packages/haskell-xyz.scm | 48 ++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 4ca9ffa5ec..6f24921b5f 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -14155,3 +14155,51 @@ E.g., hasql is based on this library.  It supports all Postgres
 versions starting from 8.3 and is tested against 8.3, 9.3 and 9.5
 with the integer_datetimes setting off and on.")
     (license license:expat)))
+
+(define-public ghc-hasql
+  (package
+    (name "ghc-hasql")
+    (version "1.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/hasql/hasql-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "0j2arb96i1dinpz1yxl2cjl4qhbljk9yph52cj9az50mvl8vx3w4"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-attoparsec" ,ghc-attoparsec)
+       ("ghc-postgresql-binary" ,ghc-postgresql-binary)
+       ("ghc-postgresql-libpq" ,ghc-postgresql-libpq)
+       ("ghc-bytestring-strict-builder"
+        ,ghc-bytestring-strict-builder)
+       ("ghc-dlist" ,ghc-dlist)
+       ("ghc-vector" ,ghc-vector)
+       ("ghc-hashtables" ,ghc-hashtables)
+       ("ghc-text-builder" ,ghc-text-builder)
+       ("ghc-hashable" ,ghc-hashable)
+       ("ghc-data-default-class"
+        ,ghc-data-default-class)
+       ("ghc-profunctors" ,ghc-profunctors)
+       ("ghc-contravariant-extras"
+        ,ghc-contravariant-extras)
+       ("ghc-contravariant" ,ghc-contravariant)
+       ("ghc-loch-th" ,ghc-loch-th)
+       ("ghc-placeholders" ,ghc-placeholders)
+       ("ghc-base-prelude" ,ghc-base-prelude)))
+    (arguments
+     `(#:tests?  ; tests require a running postgres
+       #f))
+    (home-page
+     "https://github.com/nikita-volkov/hasql")
+    (synopsis
+     "An efficient PostgreSQL driver and a flexible mapping API")
+    (description
+     "This package is the root of the hasql ecosystem.
+The API is completely disinfected from exceptions.
+All error-reporting is explicit and is presented using the Either type.")
+    (license license:expat)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 41/49] gnu: Add ghc-hasql-pool.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (38 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 40/49] gnu: Add ghc-hasql Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 42/49] gnu: Add ghc-hasql-transaction Robert Vollmert
                     ` (7 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-hasql-pool): New variable.
---
 gnu/packages/haskell-xyz.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 6f24921b5f..79091ddae4 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -14203,3 +14203,31 @@ with the integer_datetimes setting off and on.")
 The API is completely disinfected from exceptions.
 All error-reporting is explicit and is presented using the Either type.")
     (license license:expat)))
+
+(define-public ghc-hasql-pool
+  (package
+    (name "ghc-hasql-pool")
+    (version "0.5.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/hasql-pool/hasql-pool-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "0agl5ilp0amsp9pidhmgivdyaq43x3xi7hb80c91n9l92pv6163k"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-resource-pool" ,ghc-resource-pool)
+       ("ghc-hasql" ,ghc-hasql)
+       ("ghc-base-prelude" ,ghc-base-prelude)))
+    (arguments
+     `(#:tests?  ; tests require a running postgres
+       #f))
+    (home-page
+     "https://github.com/nikita-volkov/hasql-pool")
+    (synopsis "A pool of connections for Hasql")
+    (description "A pool of connections for Hasql")
+    (license license:expat)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 42/49] gnu: Add ghc-hasql-transaction.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (39 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 41/49] gnu: Add ghc-hasql-pool Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 43/49] gnu: Add ghc-swagger2 Robert Vollmert
                     ` (6 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-hasql-transaction): New variable.
---
 gnu/packages/haskell-xyz.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 79091ddae4..b8fc8a8960 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -14231,3 +14231,36 @@ All error-reporting is explicit and is presented using the Either type.")
     (synopsis "A pool of connections for Hasql")
     (description "A pool of connections for Hasql")
     (license license:expat)))
+
+(define-public ghc-hasql-transaction
+  (package
+    (name "ghc-hasql-transaction")
+    (version "0.7.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/hasql-transaction/hasql-transaction-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "13d5zisr34bdbiypvpcb114d4c9yi6pyb9wnhigqpwd90vzpzsb5"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-hasql" ,ghc-hasql)
+       ("ghc-bytestring-tree-builder"
+        ,ghc-bytestring-tree-builder)
+       ("ghc-contravariant" ,ghc-contravariant)
+       ("ghc-contravariant-extras"
+        ,ghc-contravariant-extras)
+       ("ghc-base-prelude" ,ghc-base-prelude)))
+    (arguments
+     `(#:tests?  ; tests require a running postgres
+       #f))
+    (home-page
+     "https://github.com/nikita-volkov/hasql-transaction")
+    (synopsis
+     "A composable abstraction over retryable transactions for Hasql")
+    (description "A composable abstraction over retryable transactions for Hasql")
+    (license license:expat)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 43/49] gnu: Add ghc-swagger2.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (40 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 42/49] gnu: Add ghc-hasql-transaction Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 44/49] gnu: Add ghc-configurator-pg Robert Vollmert
                     ` (5 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-web.scm (ghc-swagger2): New variable.
---
 gnu/packages/haskell-web.scm | 57 ++++++++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)

diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index da52f1f24f..aca00c5aee 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -1764,3 +1764,60 @@ as well.  Selecting the appropriate header value is achieved by comparing
 a list of server options against the quality-indexed values supplied by
 the client.")
     (license license:expat)))
+
+(define-public ghc-swagger2
+  (package
+    (name "ghc-swagger2")
+    (version "2.3.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/swagger2/swagger2-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "19fslhjqcnk0da1c8sdflnnxjzbbzqb0nbknpgyd45q0psxr6xs7"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-base-compat-batteries"
+        ,ghc-base-compat-batteries)
+       ("ghc-aeson" ,ghc-aeson)
+       ("ghc-cookie" ,ghc-cookie)
+       ("ghc-generics-sop" ,ghc-generics-sop)
+       ("ghc-hashable" ,ghc-hashable)
+       ("ghc-http-media" ,ghc-http-media)
+       ("ghc-insert-ordered-containers"
+        ,ghc-insert-ordered-containers)
+       ("ghc-lens" ,ghc-lens)
+       ("ghc-network" ,ghc-network)
+       ("ghc-scientific" ,ghc-scientific)
+       ("ghc-transformers-compat"
+        ,ghc-transformers-compat)
+       ("ghc-unordered-containers"
+        ,ghc-unordered-containers)
+       ("ghc-uuid-types" ,ghc-uuid-types)
+       ("ghc-vector" ,ghc-vector)))
+    (native-inputs
+     `(("cabal-doctest" ,cabal-doctest)
+       ("hspec-discover" ,hspec-discover)
+       ("ghc-glob" ,ghc-glob)
+       ("ghc-hunit" ,ghc-hunit)
+       ("ghc-quickcheck" ,ghc-quickcheck)
+       ("ghc-aeson-qq" ,ghc-aeson-qq)
+       ("ghc-doctest" ,ghc-doctest)
+       ("ghc-hspec" ,ghc-hspec)
+       ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
+    (arguments
+     `(#:cabal-revision
+       ("1"
+        "1g6jiadrvglrbf0857nzfbnjxmb3lwqamgs47j3qv9k6kfwilzyk")))
+    (home-page
+     "https://github.com/GetShopTV/swagger2")
+    (synopsis "Swagger 2.0 data model")
+    (description
+     "This library is inteded to be used for decoding and encoding Swagger 2.0
+API specifications as well as manipulating them.  The original Swagger 2.0
+specification is available at http://swagger.io/specification/.")
+    (license license:bsd-3)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 44/49] gnu: Add ghc-configurator-pg.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (41 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 43/49] gnu: Add ghc-swagger2 Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 45/49] gnu: Add ghc-cassava Robert Vollmert
                     ` (4 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-configurator-pg): New variable.
---
 gnu/packages/haskell-xyz.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index b8fc8a8960..ac3fecc382 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -14264,3 +14264,39 @@ All error-reporting is explicit and is presented using the Either type.")
      "A composable abstraction over retryable transactions for Hasql")
     (description "A composable abstraction over retryable transactions for Hasql")
     (license license:expat)))
+
+(define-public ghc-configurator-pg
+  (package
+    (name "ghc-configurator-pg")
+    (version "0.1.0.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/configurator-pg/configurator-pg-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "0fc77ihnablff8v0kgr88pcc3rn41ca14bvfxr21jx807fn8g63p"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-attoparsec" ,ghc-attoparsec)
+       ("ghc-protolude" ,ghc-protolude)
+       ("ghc-scientific" ,ghc-scientific)))
+    (native-inputs
+     `(("ghc-hunit" ,ghc-hunit)
+       ("ghc-test-framework" ,ghc-test-framework)
+       ("ghc-test-framework-hunit"
+        ,ghc-test-framework-hunit)))
+    (home-page
+     "https://github.com/robx/configurator-pg")
+    (synopsis
+     "Reduced parser for configurator-ng config files")
+    (description
+     "This module provides a simplified and updated interface to the configuration file format
+of <https://hackage.haskell.org/package/configurator configurator> and
+<https://hackage.haskell.org/package/configurator-ng configurator-ng>.
+Its aim is primarily to allow updating programs that depend on configurator-ng to new versions
+of GHC without changing the configuration file format.")
+    (license license:bsd-3)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 45/49] gnu: Add ghc-cassava.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (42 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 44/49] gnu: Add ghc-configurator-pg Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 46/49] gnu: Add ghc-tasty-hspec Robert Vollmert
                     ` (3 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-xyz.scm (ghc-cassava): New variable.
---
 gnu/packages/haskell-xyz.scm | 40 ++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index ac3fecc382..fd8929dd7b 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -14300,3 +14300,43 @@ of <https://hackage.haskell.org/package/configurator configurator> and
 Its aim is primarily to allow updating programs that depend on configurator-ng to new versions
 of GHC without changing the configuration file format.")
     (license license:bsd-3)))
+
+(define-public ghc-cassava
+  (package
+    (name "ghc-cassava")
+    (version "0.5.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/cassava/cassava-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "0xs2c5lpy0g5lsmp2cx0dm5lnxij7cgry6xd5gsn3bfdlap8lb3n"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-attoparsec" ,ghc-attoparsec)
+       ("ghc-hashable" ,ghc-hashable)
+       ("ghc-scientific" ,ghc-scientific)
+       ("ghc-unordered-containers"
+        ,ghc-unordered-containers)
+       ("ghc-vector" ,ghc-vector)
+       ("ghc-only" ,ghc-only)
+       ("ghc-text-short" ,ghc-text-short)
+       ("ghc-bytestring-builder"
+        ,ghc-bytestring-builder)))
+    (arguments
+     `(#:tests? ; require outdated quickcheck version
+       #f
+       #:cabal-revision
+       ("2"
+        "13mbhan3agzf8ki8hcac1xf50h9nbzx2b47zjqrch2050v6xa351")))
+    (home-page "https://github.com/hvr/cassava")
+    (synopsis "A CSV parsing and encoding library")
+    (description
+     "cassava is a library for parsing and encoding [RFC 4180](https://tools.ietf.org/html/rfc4180)
+compliant [comma-separated values (CSV)](https://en.wikipedia.org/wiki/Comma-separated_values) data,
+which is a textual line-oriented format commonly used for exchanging tabular data.")
+    (license license:bsd-3)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 46/49] gnu: Add ghc-tasty-hspec.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (43 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 45/49] gnu: Add ghc-cassava Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 47/49] gnu: Add ghc-jose Robert Vollmert
                     ` (2 subsequent siblings)
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-check.scm (ghc-tasty-hspec): New field.
---
 gnu/packages/haskell-check.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm
index c6e89460ea..98706c4764 100644
--- a/gnu/packages/haskell-check.scm
+++ b/gnu/packages/haskell-check.scm
@@ -963,3 +963,37 @@ values (similar to @code{toEnum} but for any algebraic data type).  This
 can be used for SmallCheck-style systematic testing, QuickCheck-style
 random testing, and hybrids of the two.")
     (license license:bsd-3)))
+
+(define-public ghc-tasty-hspec
+  (package
+    (name "ghc-tasty-hspec")
+    (version "1.1.5.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/tasty-hspec/tasty-hspec-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "0i9kdzjpk750sa078jj3iyhp72k0177zk7vxl131r6dkyz09x27y"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-hspec" ,ghc-hspec)
+       ("ghc-hspec-core" ,ghc-hspec-core)
+       ("ghc-quickcheck" ,ghc-quickcheck)
+       ("ghc-tasty" ,ghc-tasty)
+       ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
+       ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
+    (arguments
+     `(#:cabal-revision
+       ("3"
+        "1wgz3z5bnq5qml8d0i18gvz30dmmax3686lmqz3vf4hxd3vqfkpj")))
+    (home-page
+     "https://github.com/mitchellwrosen/tasty-hspec")
+    (synopsis
+     "Hspec support for the Tasty test framework.")
+    (description
+     "This package provides a Tasty provider for Hspec test suites.")
+    (license license:bsd-3)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 47/49] gnu: Add ghc-jose.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (44 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 46/49] gnu: Add ghc-tasty-hspec Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 48/49] gnu: Add postgrest Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 49/49] gnu: Add postgrest service Robert Vollmert
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-web.scm (ghc-jose): New variable.
---
 gnu/packages/haskell-web.scm | 54 ++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index aca00c5aee..b38ca37e25 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -1821,3 +1821,57 @@ the client.")
 API specifications as well as manipulating them.  The original Swagger 2.0
 specification is available at http://swagger.io/specification/.")
     (license license:bsd-3)))
+
+(define-public ghc-jose
+  (package
+    (name "ghc-jose")
+    (version "0.8.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/jose/jose-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "02xg8axy6whbkn0mzg1gjy6b1mhxlmsh1x7vjk1fiawvg9nwzrkl"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-attoparsec" ,ghc-attoparsec)
+       ("ghc-base64-bytestring" ,ghc-base64-bytestring)
+       ("ghc-concise" ,ghc-concise)
+       ("ghc-cryptonite" ,ghc-cryptonite)
+       ("ghc-lens" ,ghc-lens)
+       ("ghc-memory" ,ghc-memory)
+       ("ghc-monad-time" ,ghc-monad-time)
+       ("ghc-semigroups" ,ghc-semigroups)
+       ("ghc-safe" ,ghc-safe)
+       ("ghc-aeson" ,ghc-aeson)
+       ("ghc-unordered-containers"
+        ,ghc-unordered-containers)
+       ("ghc-network-uri" ,ghc-network-uri)
+       ("ghc-quickcheck" ,ghc-quickcheck)
+       ("ghc-quickcheck-instances"
+        ,ghc-quickcheck-instances)
+       ("ghc-x509" ,ghc-x509)
+       ("ghc-vector" ,ghc-vector)))
+    (native-inputs
+     `(("ghc-hspec" ,ghc-hspec)
+       ("ghc-tasty" ,ghc-tasty)
+       ("ghc-tasty-hspec" ,ghc-tasty-hspec)
+       ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
+    (home-page
+     "https://github.com/frasertweedale/hs-jose")
+    (synopsis
+     "Javascript Object Signing and Encryption and JSON Web Token library")
+    (description
+     "An implementation of the Javascript Object Signing and Encryption (JOSE)
+and JSON Web Token (JWT; RFC 7519) formats.
+The JSON Web Signature (JWS; RFC 7515) implementation is complete.
+EdDSA signatures (RFC 8037) are supported (Ed25519 only).
+JWK Thumbprint (RFC 7638) is supported (requires /aeson/ >= 0.10).
+JSON Web Encryption (JWE; RFC 7516) is not yet implemented.
+The __ECDSA implementation is vulnerable to timing attacks__
+and should only be used for verification.")
+    (license license:asl2.0)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 48/49] gnu: Add postgrest.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (45 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 47/49] gnu: Add ghc-jose Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  2019-11-29 11:37   ` [bug#38423] [PATCH 49/49] gnu: Add postgrest service Robert Vollmert
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/packages/haskell-apps.scm (postgrest): New variable.
---
 gnu/packages/haskell-apps.scm | 67 +++++++++++++++++++++++++++++++++++
 1 file changed, 67 insertions(+)

diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm
index d5c31cbb0b..1cca90f429 100644
--- a/gnu/packages/haskell-apps.scm
+++ b/gnu/packages/haskell-apps.scm
@@ -724,3 +724,70 @@ advanced user's otherwise working script to fail under future circumstances.
 code in a file, just clean up import statements and a few other tedious
 items.  This tool tries to help where necessary without getting in the way.")
     (license license:bsd-3)))
+
+(define-public postgrest
+  (package
+    (name "postgrest")
+    (version "6.0.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/postgrest/postgrest-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "0c1yapjwsccqmj6jh8bkgv15p83dh7bd7ib68cd80pi3n9dplqvw"))))
+    (build-system haskell-build-system)
+    (arguments `(#:tests? #f)) ; tests require a running postgresql server
+    (inputs
+     `(("ghc-aeson" ,ghc-aeson)
+       ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
+       ("ghc-base64-bytestring" ,ghc-base64-bytestring)
+       ("ghc-case-insensitive" ,ghc-case-insensitive)
+       ("ghc-cassava" ,ghc-cassava)
+       ("ghc-configurator-pg" ,ghc-configurator-pg)
+       ("ghc-contravariant" ,ghc-contravariant)
+       ("ghc-contravariant-extras"
+        ,ghc-contravariant-extras)
+       ("ghc-either" ,ghc-either)
+       ("ghc-gitrev" ,ghc-gitrev)
+       ("ghc-hasql" ,ghc-hasql)
+       ("ghc-hasql-pool" ,ghc-hasql-pool)
+       ("ghc-hasql-transaction" ,ghc-hasql-transaction)
+       ("ghc-heredoc" ,ghc-heredoc)
+       ("ghc-http" ,ghc-http)
+       ("ghc-http-types" ,ghc-http-types)
+       ("ghc-insert-ordered-containers"
+        ,ghc-insert-ordered-containers)
+       ("ghc-interpolatedstring-perl6"
+        ,ghc-interpolatedstring-perl6)
+       ("ghc-jose" ,ghc-jose)
+       ("ghc-lens" ,ghc-lens)
+       ("ghc-lens-aeson" ,ghc-lens-aeson)
+       ("ghc-network-uri" ,ghc-network-uri)
+       ("ghc-optparse-applicative"
+        ,ghc-optparse-applicative)
+       ("ghc-protolude" ,ghc-protolude)
+       ("ghc-ranged-sets" ,ghc-ranged-sets)
+       ("ghc-regex-tdfa" ,ghc-regex-tdfa)
+       ("ghc-scientific" ,ghc-scientific)
+       ("ghc-swagger2" ,ghc-swagger2)
+       ("ghc-unordered-containers"
+        ,ghc-unordered-containers)
+       ("ghc-vector" ,ghc-vector)
+       ("ghc-wai" ,ghc-wai)
+       ("ghc-wai-cors" ,ghc-wai-cors)
+       ("ghc-wai-extra" ,ghc-wai-extra)
+       ("ghc-wai-middleware-static"
+        ,ghc-wai-middleware-static)
+       ("ghc-cookie" ,ghc-cookie)
+       ("ghc-auto-update" ,ghc-auto-update)
+       ("ghc-warp" ,ghc-warp)
+       ("ghc-retry" ,ghc-retry)))
+    (home-page "https://postgrest.org")
+    (synopsis "REST API for any Postgres database")
+    (description
+     "Reads the schema of a PostgreSQL database and creates RESTful routes for the tables and views, supporting all HTTP verbs that security permits.")
+    (license license:expat)))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [bug#38423] [PATCH 49/49] gnu: Add postgrest service.
  2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
                     ` (46 preceding siblings ...)
  2019-11-29 11:37   ` [bug#38423] [PATCH 48/49] gnu: Add postgrest Robert Vollmert
@ 2019-11-29 11:37   ` Robert Vollmert
  47 siblings, 0 replies; 50+ messages in thread
From: Robert Vollmert @ 2019-11-29 11:37 UTC (permalink / raw)
  To: 38423; +Cc: Robert Vollmert

* gnu/services/databases.scm: Add postgrest service and associated
record type.
---
 gnu/services/databases.scm | 101 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 100 insertions(+), 1 deletion(-)

diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm
index 6b04ae0a0f..3f938689df 100644
--- a/gnu/services/databases.scm
+++ b/gnu/services/databases.scm
@@ -28,6 +28,7 @@
   #:use-module (gnu system shadow)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages databases)
+  #:use-module (gnu packages haskell-apps)
   #:use-module (guix build-system trivial)
   #:use-module (guix build union)
   #:use-module (guix modules)
@@ -81,7 +82,11 @@
 
             redis-configuration
             redis-configuration?
-            redis-service-type))
+            redis-service-type
+
+            postgrest-configuration
+            postgrest-configuration?
+            postgrest-service-type))
 
 ;;; Commentary:
 ;;;
@@ -647,3 +652,97 @@ The optional @var{config} argument specifies the configuration for
                        (service-extension account-service-type
                                           (const %redis-accounts))))
                 (default-value (redis-configuration))))
+
+\f
+;;;
+;;; PostgREST
+;;;
+
+(define-record-type* <postgrest-configuration>
+  postgrest-configuration make-postgrest-configuration
+  postgrest-configuration?
+  (postgrest     postgrest-configuration-postgrest ;<package>
+                 (default postgrest))
+  (db-uri        postgrest-configuration-db-uri
+                 (default "postgres://postgrest@localhost:5432/postgrestdb"))
+  (db-schema     postgrest-configuration-db-schema
+                 (default "public"))
+  (db-anon-role  postgrest-configuration-db-anon-role
+                 (default "postgrest-anon"))
+  (jwt-secret    postgrest-configuration-jwt-secret
+                 (default #f))
+  (server-host   postgrest-configuration-server-host
+                 (default "127.0.0.1"))
+  (server-port   postgrest-configuration-server-port
+                 (default 3000))
+  (config-file   postgrest-configuration-config-file
+                 (default #f)))
+
+(define (default-postgrest.conf db-uri db-schema db-anon-role jwt-secret server-host server-port)
+  (mixed-text-file "postgrest.conf"
+                   "server-host = \"" server-host "\"\n"
+                   "server-port = " (number->string server-port) "\n"
+                   "db-uri = \"" db-uri "\"\n"
+                   "db-schema = \"" db-schema "\"\n"
+                   "db-anon-role = \"" db-anon-role "\"\n"
+                   (if jwt-secret
+                     (string-append "jwt-secret = \"" jwt-secret "\"\n")
+                     "")))
+
+(define %postgrest-accounts
+  (list (user-group (name "postgrest") (system? #t))
+        (user-account
+         (name "postgrest")
+         (group "postgrest")
+         (system? #t)
+         (comment "PostgREST server user")
+         (home-directory "/var/empty")
+         (shell (file-append shadow "/sbin/nologin")))))
+
+(define* (logger-wrapper name exec . args)
+  "Return a derivation that builds a script to start a process with
+standard output and error redirected to syslog via logger."
+  (define exp
+    #~(begin
+        (use-modules (ice-9 popen))
+        (let* ((pid    (number->string (getpid)))
+               (logger #$(file-append inetutils "/bin/logger"))
+               (args   (list "-t" #$name (string-append "--id=" pid)))
+               (pipe   (apply open-pipe* OPEN_WRITE logger args)))
+          (dup pipe 1)
+          (dup pipe 2)
+          (execl #$exec #$exec #$@args))))
+  (program-file (string-append name "-logger") exp))
+
+(define postgrest-shepherd-service
+  (match-lambda
+    (($ <postgrest-configuration> postgrest db-uri db-schema db-anon-role
+                                  jwt-secret server-port server-host config-file)
+     (let* ((config-file
+             (or config-file
+                 (default-postgrest.conf db-uri db-schema db-anon-role
+                   jwt-secret server-port server-host)))
+            (postgrest-logger
+             (logger-wrapper "postgrest"
+                             (file-append postgrest "/bin/postgrest")
+                             config-file)))
+
+       (list (shepherd-service
+              (provision '(postgrest))
+              (documentation "Run the PostgREST daemon.")
+              (requirement '(user-processes postgres))
+              (start #~(make-forkexec-constructor
+                        '(#$postgrest-logger)
+                        #:user "postgrest"
+                        #:group "postgrest"))
+              (stop #~(make-kill-destructor))))))))
+
+(define postgrest-service-type
+  (service-type
+   (name 'postgrest)
+   (extensions
+    (list (service-extension shepherd-root-service-type
+                             postgrest-shepherd-service)
+          (service-extension account-service-type
+                             (const %postgrest-accounts))))
+   (default-value (postgrest-configuration))))
-- 
2.21.0 (Apple Git-122.2)

^ permalink raw reply related	[flat|nested] 50+ messages in thread

end of thread, other threads:[~2019-11-29 11:45 UTC | newest]

Thread overview: 50+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-11-29 11:35 [bug#38423] add postgrest Robert Vollmert
2019-11-29 11:37 ` [bug#38423] [PATCH 01/49] gnu: Add ghc-text-printer Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 02/49] gnu: Add ghc-text-latin1 Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 03/49] gnu: Add ghc-text-builder Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 04/49] gnu: Add ghc-text-short Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 05/49] gnu: Add ghc-data-checked Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 06/49] gnu: Add ghc-deferred-folds Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 07/49] gnu: Add ghc-websockets Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 08/49] gnu: Add ghc-wai-websockets Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 09/49] gnu: Add ghc-wai-cors Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 10/49] gnu: Add ghc-wai-middleware-static Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 11/49] gnu: Add ghc-wai-app-static Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 12/49] gnu: Add ghc-expiring-cache-map Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 13/49] gnu: Add ghc-insert-ordered-containers Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 14/49] gnu: Add ghc-protolude Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 15/49] gnu: Add ghc-mtl-compat Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 16/49] gnu: Add ghc-monad-time Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 17/49] gnu: Add ghc-bug Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 18/49] gnu: Add ghc-only Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 19/49] gnu: Add ghc-data-bword Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 20/49] gnu: Add ghc-data-dword Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 21/49] gnu: Add ghc-data-endian Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 22/49] gnu: Add ghc-data-serializer Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 23/49] gnu: Add ghc-data-textual Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 24/49] gnu: Add ghc-directory Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 25/49] gnu: Add ghc-network-ip Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 26/49] gnu: Add ghc-http-media Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 27/49] gnu: Add ghc-type-hint Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 28/49] gnu: Add ghc-concise Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 29/49] gnu: Add ghc-lens-aeson Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 30/49] gnu: Add ghc-placeholders Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 31/49] gnu: Add ghc-binary-parser Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 32/49] gnu: Add ghc-bytestring-tree-builder Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 33/49] gnu: Add ghc-bytestring-strict-builder Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 34/49] gnu: Add ghc-heredoc Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 35/49] gnu: Add ghc-interpolatedstring-perl6 Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 36/49] gnu: Add ghc-loch-th Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 37/49] gnu: Add ghc-ranged-sets Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 38/49] gnu: Add ghc-postgresql-binary Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 39/49] gnu: Add ghc-postgresql-libpq Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 40/49] gnu: Add ghc-hasql Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 41/49] gnu: Add ghc-hasql-pool Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 42/49] gnu: Add ghc-hasql-transaction Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 43/49] gnu: Add ghc-swagger2 Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 44/49] gnu: Add ghc-configurator-pg Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 45/49] gnu: Add ghc-cassava Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 46/49] gnu: Add ghc-tasty-hspec Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 47/49] gnu: Add ghc-jose Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 48/49] gnu: Add postgrest Robert Vollmert
2019-11-29 11:37   ` [bug#38423] [PATCH 49/49] gnu: Add postgrest service Robert Vollmert

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.