[PATCH 0/8] New Haskell packages: cache, redis client, xmpp

  • Open
  • quality assurance status badge
Details
One participant
  • Stephen Paul Weber
Owner
unassigned
Submitted by
Stephen Paul Weber
Severity
normal
S
S
Stephen Paul Weber wrote on 27 Sep 2021 04:09
(address . guix-patches@gnu.org)
20210927020943.GC2089@singpolyma-beefy.lan
This series adds new Haskell packages for in-memory caching, a redis client and
dependency, and an XMPP library and needed dependencies (including gnutls and
gsasl bindings).
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEWeaCw+rzmiEMpzU00RwpEc5RnN4FAmFRJ+cACgkQ0RwpEc5R
nN7aaRAAtj+CFHwA1FfxdAnK3r3NX2BbaAXVS0b9ITN2FSeHGRKrD57tsb5KJ6ea
enC4ip+GOGOjngOLegcZH76fIFW2isesCmboYl6Ep30tsBz1fVYTCUJvRK517CPQ
XJxmFfqHFH8t2dxPKHM7tsIf6sU0YP3b9pKKWBP4aq6KFzxDyQwrF3QPptLuJA5H
Vbn5Rp2H4AoqMX2CKuD6oQOrb7M8gMNWIe2XTWiuIwiEmVsF/O8KZSO8b+unJ51s
NV3SeuZNNTAHWz4iJVMKqyC9LfX4GAKTOCXquUNIwmkfC4PVGhkjg4R2O2XVo1s1
3f74pkmdslWnnnK1CIygHDypKlvEf15GNSd9TbOCr2C+CRBezWBs+OlmM9gHuraa
4l7+wR1HG9A4PYQ3ku9FTqtcJU3zlIJX7t8Br8DEsaDAXZOUzc5agn3pdcuSiSi6
D95dyNx7+XDo+eFyzXfj53cPMpFtT60wOWwhGPeIAl0EuZCZaG7kxZ7pYzE2VIi5
KQQVmp4C/szqysfBNfSlftCIY/A8H4g2Ke0Ck6RTkUxohxElUWSctYSXyUbiMvdR
v5r6if0t+oLE6D5hz4Cpa4lsvw41U7Hd4YUkNY8BiKnkNgMSdWba2Im7PbzoyF2d
8Y2OZxTz/qFnitbsdUz6P/uDLbOG7iezuyOOfB2mOj+qVcVplrE=
=AnRY
-----END PGP SIGNATURE-----


S
S
Stephen Paul Weber wrote on 27 Sep 2021 04:10
[PATCH 1/8] gnu: Add ghc-cache.
(address . 50835@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210927021033.17700-1-singpolyma@singpolyma.net
* gnu/packages/haskell-xyz.scm (ghc-cache): New variable.
---
gnu/packages/haskell-xyz.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index f421458e15..f5ae156d35 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -15712,3 +15712,32 @@ 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-cache
+ (package
+ (name "ghc-cache")
+ (version "0.1.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/cache/cache-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32 "0d75257kvjpnv95ja50x5cs77pj8ccfr0nh9q5gzvcps83qdksa2"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-clock" ,ghc-clock)
+ ("ghc-hashable" ,ghc-hashable)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)))
+ (native-inputs
+ `(("ghc-hspec" ,ghc-hspec)
+ ("hspec-discover" ,hspec-discover)))
+ (home-page "https://github.com/hverr/haskell-cache#readme")
+ (synopsis "In-memory key/value store with expiration support")
+ (description
+ "An in-memory key/value store with expiration support, similar to
+patrickmn/go-cache for Go. The cache is a shared mutable HashMap implemented
+using STM and with support for expiration times.")
+ (license license:bsd-3)))
--
2.20.1
S
S
Stephen Paul Weber wrote on 27 Sep 2021 04:10
[PATCH 2/8] gnu: Add ghc-scanner.
(address . 50835@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210927021033.17700-2-singpolyma@singpolyma.net
* gnu/packages/haskell-xyz.scm (ghc-scanner): New variable.
---
gnu/packages/haskell-xyz.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index f5ae156d35..a7af298ada 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -15741,3 +15741,28 @@ compression ratios.")
patrickmn/go-cache for Go. The cache is a shared mutable HashMap implemented
using STM and with support for expiration times.")
(license license:bsd-3)))
+
+(define-public ghc-scanner
+ (package
+ (name "ghc-scanner")
+ (version "0.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/scanner/scanner-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32 "1mhqh94qra08zidqfsq0gxi83cgflqldnk9rr53haynbgmd5y82k"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-fail" ,ghc-fail)))
+ (native-inputs
+ `(("ghc-hspec" ,ghc-hspec)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://github.com/Yuras/scanner")
+ (synopsis
+ "Fast non-backtracking incremental combinator parsing for bytestrings")
+ (description
+ "Parser combinator library designed to be fast. It doesn't support backtracking.")
+ (license license:bsd-3)))
--
2.20.1
S
S
Stephen Paul Weber wrote on 27 Sep 2021 04:10
[PATCH 3/8] gnu: Add ghc-hedis.
(address . 50835@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210927021033.17700-3-singpolyma@singpolyma.net
* gnu/packages/haskell-xyz.scm (ghc-hedis): New variable.
---
gnu/packages/haskell-xyz.scm | 65 ++++++++++++++++++++++++++++++++++++
1 file changed, 65 insertions(+)

Toggle diff (75 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index a7af298ada..55efd9da2b 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -15766,3 +15766,68 @@ using STM and with support for expiration times.")
(description
"Parser combinator library designed to be fast. It doesn't support backtracking.")
(license license:bsd-3)))
+
+(define-public ghc-hedis
+ (package
+ (name "ghc-hedis")
+ (version "0.12.11")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/hedis/hedis-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32 "1n83zwg011n9w2v1zz4mwpms9jh3c8mk700zya4as1jg83748xww"))))
+ (build-system haskell-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ ; The main tests require redis-server running, but not doctest
+ (when tests? (invoke "runhaskell" "Setup.hs" "test" "doctest"))
+ #t)))))
+ (inputs
+ `(("ghc-scanner" ,ghc-scanner)
+ ("ghc-async" ,ghc-async)
+ ("ghc-bytestring-lexing" ,ghc-bytestring-lexing)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-network" ,ghc-network)
+ ("ghc-resource-pool" ,ghc-resource-pool)
+ ("ghc-tls" ,ghc-tls)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-http" ,ghc-http)
+ ("ghc-errors" ,ghc-errors)
+ ("ghc-network-uri" ,ghc-network-uri)))
+ (native-inputs
+ `(("ghc-hunit" ,ghc-hunit)
+ ("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
+ ("ghc-doctest" ,ghc-doctest)))
+ (home-page "https://github.com/informatikr/hedis")
+ (synopsis
+ "Client library for the Redis datastore: supports full command set, pipelining")
+ (description
+ "Redis is an open source, advanced key-value store. It is often referred
+to as a data structure server since keys can contain strings, hashes, lists,
+sets and sorted sets. This library is a Haskell client for the Redis datastore.
+Compared to other Haskell client libraries it has some advantages.
+
+Hedis is intended to be used with the latest stable version of Redis.
+Most redis commands are available as haskell functions, although MONITOR and SYNC
+are intentionally omitted. Additionally, a low-level API is exposed that
+makes it easy for the library user to implement further commands, such as new
+commands from an experimental Redis version.
+
+Commands are pipelined as much as possible without any work by the user.
+
+When subscribed to the Redis PubSub server, clients are not allowed to issue
+commands other than subscribing to or unsubscribing from channels.
+This library uses the type system to enforce the correct behavior.
+
+TCP sockets are the default way to connect to a Redis server. For connections
+to a server on the same machine, Unix domain sockets offer higher performance
+than the standard TCP connection.")
+ (license license:bsd-3)))
--
2.20.1
S
S
Stephen Paul Weber wrote on 27 Sep 2021 04:10
[PATCH 6/8] gnu: Add ghc-gnutls.
(address . 50835@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210927021033.17700-6-singpolyma@singpolyma.net
* gnu/packages/haskell-xyz.scm (ghc-gnutls): New variable.
---
gnu/packages/haskell-xyz.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index a385d3109e..bc2f94b6ac 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -69,6 +69,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages sdl)
#:use-module (gnu packages serialization)
+ #:use-module (gnu packages tls)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (guix build-system haskell)
@@ -15881,3 +15882,27 @@ than the standard TCP connection.")
(synopsis "Bindings for GNU libgsasl")
(description "Low-level bindings for using gsasl from Haskell.")
(license license:gpl3)))
+
+(define-public ghc-gnutls
+ (package
+ (name "ghc-gnutls")
+ (version "0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/gnutls/gnutls-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32 "1c5pm0d80wpgh2bkcgbvmc72agf89h8ghfnrn1m1x3fljbgzvrn0"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-monads-tf" ,ghc-monads-tf)
+ ("gnutls" ,gnutls)))
+ (native-inputs `(("pkg-config" ,pkg-config)))
+ (home-page "https://hackage.haskell.org/package/gnutls")
+ (synopsis "Bindings for GNU libgnutls")
+ (description
+ "Low-level bindings for using gnutls from Haskell.")
+ (license license:gpl3)))
--
2.20.1
S
S
Stephen Paul Weber wrote on 27 Sep 2021 04:10
[PATCH 4/8] gnu: Add ghc-libxml-sax.
(address . 50835@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210927021033.17700-4-singpolyma@singpolyma.net
* gnu/packages/haskell-xyz.scm (ghc-libxml-sax): New variable.
---
gnu/packages/haskell-xyz.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 55efd9da2b..0e00bc0605 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -15831,3 +15831,26 @@ TCP sockets are the default way to connect to a Redis server. For connections
to a server on the same machine, Unix domain sockets offer higher performance
than the standard TCP connection.")
(license license:bsd-3)))
+
+(define-public ghc-libxml-sax
+ (package
+ (name "ghc-libxml-sax")
+ (version "0.7.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/libxml-sax/libxml-sax-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32 "0lbdq6lmiyrnzk6gkx09vvp928wj8qnqnqfzy14mfv0drj21f54r"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-xml-types" ,ghc-xml-types)
+ ("libxml2" ,libxml2)))
+ (native-inputs `(("pkg-config" ,pkg-config)))
+ (home-page "https://hackage.haskell.org/package/libxml-sax")
+ (synopsis "Bindings for the libXML2 SAX interface")
+ (description "A very simple and direct binding to libXML2's SAX parser.")
+ (license license:expat)))
--
2.20.1
S
S
Stephen Paul Weber wrote on 27 Sep 2021 04:10
[PATCH 7/8] gnu: Add ghc-gnuidn.
(address . 50835@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210927021033.17700-7-singpolyma@singpolyma.net
* gnu/packages/haskell-xyz.scm (ghc-gnuidn): New variable.
---
gnu/packages/haskell-xyz.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)

Toggle diff (52 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index bc2f94b6ac..44ab7072c9 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -60,6 +60,7 @@
#:use-module (gnu packages haskell-crypto)
#:use-module (gnu packages haskell-web)
#:use-module (gnu packages libffi)
+ #:use-module (gnu packages libidn)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
#:use-module (gnu packages lua)
@@ -15906,3 +15907,37 @@ than the standard TCP connection.")
(description
"Low-level bindings for using gnutls from Haskell.")
(license license:gpl3)))
+
+(define-public ghc-gnuidn
+ (package
+ (name "ghc-gnuidn")
+ (version "0.2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/gnuidn/gnuidn-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32 "0vxrcp9xz5gsvx60k12991zn5c9nk3fgg0yw7dixbsjcfqgnnd31"))))
+ (build-system haskell-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'less-strict-dependencies
+ (lambda _
+ (substitute* "gnuidn.cabal"
+ (("chell >= 0.4 && < 0.5") "chell <0.6"))
+ #t)))))
+ (inputs `(("libidn" ,libidn)))
+ (native-inputs
+ `(("ghc-chell" ,ghc-chell)
+ ("ghc-c2hs" ,ghc-c2hs)
+ ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://hackage.haskell.org/package/gnuidn")
+ (synopsis "Bindings for GNU IDN")
+ (description "Low-level bindings for using libidn in Haskell.")
+ (license license:gpl3)))
--
2.20.1
S
S
Stephen Paul Weber wrote on 27 Sep 2021 04:10
[PATCH 5/8] gnu: Add ghc-gsasl.
(address . 50835@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210927021033.17700-5-singpolyma@singpolyma.net
* gnu/packages/haskell-xyz.scm (ghc-gsasl): New variable.
---
gnu/packages/haskell-xyz.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (44 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 0e00bc0605..a385d3109e 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -52,6 +52,7 @@
#:use-module (gnu packages emacs)
#:use-module (gnu packages gl)
#:use-module (gnu packages graphviz)
+ #:use-module (gnu packages gsasl)
#:use-module (gnu packages gtk)
#:use-module (gnu packages haskell)
#:use-module (gnu packages haskell-apps)
@@ -15854,3 +15855,29 @@ than the standard TCP connection.")
(synopsis "Bindings for the libXML2 SAX interface")
(description "A very simple and direct binding to libXML2's SAX parser.")
(license license:expat)))
+
+(define-public ghc-gsasl
+ (package
+ (name "ghc-gsasl")
+ (version "0.3.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/gsasl/gsasl-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32 "11i12r9s30jrq8hkgqagf2fd129r6ya607s9ibw549ablsxgr507"))))
+ (build-system haskell-build-system)
+ (arguments
+ `(#:cabal-revision
+ ("1" "1c806a82qd1hkxxfh1mwk0i062bz6fkaap5ys3n4x9n6wjv7ilin")))
+ (inputs
+ `(("ghc-monad-loops" ,ghc-monad-loops)
+ ("gsasl" ,gsasl)))
+ (native-inputs `(("pkg-config" ,pkg-config)))
+ (home-page "https://git.singpolyma.net/gsasl-haskell")
+ (synopsis "Bindings for GNU libgsasl")
+ (description "Low-level bindings for using gsasl from Haskell.")
+ (license license:gpl3)))
--
2.20.1
S
S
Stephen Paul Weber wrote on 27 Sep 2021 04:10
[PATCH 8/8] gnu: Add ghc-network-protocol-xmpp.
(address . 50835@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210927021033.17700-8-singpolyma@singpolyma.net
* gnu/packages/haskell-xyz.scm (ghc-network-protocol-xmpp): New variable.
---
gnu/packages/haskell-xyz.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 44ab7072c9..433f444a74 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -15941,3 +15941,32 @@ than the standard TCP connection.")
(synopsis "Bindings for GNU IDN")
(description "Low-level bindings for using libidn in Haskell.")
(license license:gpl3)))
+
+(define-public ghc-network-protocol-xmpp
+ (package
+ (name "ghc-network-protocol-xmpp")
+ (version "0.4.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/"
+ "network-protocol-xmpp/network-protocol-xmpp-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32 "1qjm22qvsmfsf9kmg0ha117yidys0yp80mawvnzs8ym5a6j80x42"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-gnuidn" ,ghc-gnuidn)
+ ("ghc-gnutls" ,ghc-gnutls)
+ ("ghc-gsasl" ,ghc-gsasl)
+ ("ghc-libxml-sax" ,ghc-libxml-sax)
+ ("ghc-monads-tf" ,ghc-monads-tf)
+ ("ghc-network" ,ghc-network)
+ ("ghc-xml-types" ,ghc-xml-types)))
+ (home-page "https://git.singpolyma.net/network-protocol-xmpp")
+ (synopsis "Client library for the XMPP protocol")
+ (description "Client or component library for XMPP in Haskell.
+Does only what it needs to and nothing more, no XEP wrappers, etc.")
+ (license license:gpl3)))
--
2.20.1
S
S
Stephen Paul Weber wrote on 14 Jan 2022 03:45
[PATCH v2 05/24] gnu: Add ghc-gsasl.
(address . 50835@debbugs.gnu.org)
20220114024546.75747-5-singpolyma@singpolyma.net
* gnu/packages/haskell-xyz.scm (ghc-gsasl): New variable.
---
gnu/packages/haskell-xyz.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (46 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 71e06e26bd..3820964eeb 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -53,6 +53,7 @@
#:use-module (gnu packages emacs)
#:use-module (gnu packages gl)
#:use-module (gnu packages graphviz)
+ #:use-module (gnu packages gsasl)
#:use-module (gnu packages gtk)
#:use-module (gnu packages haskell)
#:use-module (gnu packages haskell-apps)
@@ -16175,3 +16176,31 @@ than the standard TCP connection.")
(description "LibXML-SAX is a very simple and direct binding to libXML2's
SAX parser.")
(license license:expat)))
+
+(define-public ghc-gsasl
+ (package
+ (name "ghc-gsasl")
+ (version "0.3.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/gsasl/gsasl-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32 "11i12r9s30jrq8hkgqagf2fd129r6ya607s9ibw549ablsxgr507"))))
+ (build-system haskell-build-system)
+ (arguments
+ `(#:cabal-revision
+ ("1" "1c806a82qd1hkxxfh1mwk0i062bz6fkaap5ys3n4x9n6wjv7ilin")))
+ (inputs
+ (list
+ ghc-monad-loops
+ gsasl))
+ (native-inputs `(("pkg-config" ,pkg-config)))
+ (home-page "https://git.singpolyma.net/gsasl-haskell")
+ (synopsis "Bindings for GNU libgsasl")
+ (description
+ "This library provides low-level bindings for using gsasl from Haskell.")
+ (license license:gpl3)))
--
2.30.2
S
S
Stephen Paul Weber wrote on 14 Jan 2022 03:45
[PATCH v2 06/24] gnu: Add ghc-gnutls.
(address . 50835@debbugs.gnu.org)
20220114024546.75747-6-singpolyma@singpolyma.net
* gnu/packages/haskell-xyz.scm (ghc-gnutls): New variable.
---
gnu/packages/haskell-xyz.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 3820964eeb..d8b1218d69 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -16204,3 +16204,28 @@ SAX parser.")
(description
"This library provides low-level bindings for using gsasl from Haskell.")
(license license:gpl3)))
+
+(define-public ghc-gnutls
+ (package
+ (name "ghc-gnutls")
+ (version "0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/gnutls/gnutls-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32 "1c5pm0d80wpgh2bkcgbvmc72agf89h8ghfnrn1m1x3fljbgzvrn0"))))
+ (build-system haskell-build-system)
+ (inputs
+ (list
+ ghc-monads-tf
+ gnutls))
+ (native-inputs (list pkg-config))
+ (home-page "https://hackage.haskell.org/package/gnutls")
+ (synopsis "Bindings for GNU libgnutls")
+ (description
+ "This library provides Low-level bindings for using gnutls from Haskell.")
+ (license license:gpl3)))
--
2.30.2
S
S
Stephen Paul Weber wrote on 14 Jan 2022 03:45
[PATCH v2 07/24] gnu: Add ghc-gnuidn.
(address . 50835@debbugs.gnu.org)
20220114024546.75747-7-singpolyma@singpolyma.net
* gnu/packages/haskell-xyz.scm (ghc-gnuidn): New variable.
---
gnu/packages/haskell-xyz.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)

Toggle diff (53 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index d8b1218d69..a206e8cabb 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -61,6 +61,7 @@
#:use-module (gnu packages haskell-crypto)
#:use-module (gnu packages haskell-web)
#:use-module (gnu packages libffi)
+ #:use-module (gnu packages libidn)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
#:use-module (gnu packages lua)
@@ -16229,3 +16230,38 @@ SAX parser.")
(description
"This library provides Low-level bindings for using gnutls from Haskell.")
(license license:gpl3)))
+
+(define-public ghc-gnuidn
+ (package
+ (name "ghc-gnuidn")
+ (version "0.2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/gnuidn/gnuidn-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32 "0vxrcp9xz5gsvx60k12991zn5c9nk3fgg0yw7dixbsjcfqgnnd31"))))
+ (build-system haskell-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'less-strict-dependencies
+ (lambda _
+ (substitute* "gnuidn.cabal"
+ (("chell >= 0.4 && < 0.5") "chell <0.6")))))))
+ (inputs (list libidn))
+ (native-inputs
+ (list
+ ghc-chell
+ ghc-c2hs
+ ghc-chell-quickcheck
+ ghc-quickcheck
+ pkg-config))
+ (home-page "https://hackage.haskell.org/package/gnuidn")
+ (synopsis "Bindings for GNU IDN")
+ (description
+ "This library provides low-level bindings for using libidn in Haskell.")
+ (license license:gpl3)))
--
2.30.2
S
S
Stephen Paul Weber wrote on 14 Jan 2022 03:45
[PATCH v2 02/24] gnu: Add ghc-scanner.
(address . 50835@debbugs.gnu.org)
20220114024546.75747-2-singpolyma@singpolyma.net
* gnu/packages/haskell-xyz.scm (ghc-scanner): New variable.
---
gnu/packages/haskell-xyz.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 8260bb7dc4..9670b50a65 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -16057,3 +16057,30 @@ data Dec a
patrickmn/go-cache for Go. The cache is a shared mutable HashMap implemented
using STM and with support for expiration times.")
(license license:bsd-3)))
+
+(define-public ghc-scanner
+ (package
+ (name "ghc-scanner")
+ (version "0.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/scanner/scanner-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32 "1mhqh94qra08zidqfsq0gxi83cgflqldnk9rr53haynbgmd5y82k"))))
+ (build-system haskell-build-system)
+ (inputs (list ghc-fail))
+ (native-inputs
+ (list
+ ghc-hspec
+ pkg-config))
+ (home-page "https://github.com/Yuras/scanner")
+ (synopsis
+ "Fast non-backtracking incremental combinator parsing for bytestrings")
+ (description
+ "Scanner is a parser combinator library designed to be fast.
+It doesn't support backtracking.")
+ (license license:bsd-3)))
--
2.30.2
S
S
Stephen Paul Weber wrote on 14 Jan 2022 03:45
[PATCH v2 04/24] gnu: Add ghc-libxml-sax.
(address . 50835@debbugs.gnu.org)
20220114024546.75747-4-singpolyma@singpolyma.net
* gnu/packages/haskell-xyz.scm (ghc-libxml-sax): New variable.
---
gnu/packages/haskell-xyz.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index bf1aa68305..71e06e26bd 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -16150,3 +16150,28 @@ TCP sockets are the default way to connect to a Redis server. For connections
to a server on the same machine, Unix domain sockets offer higher performance
than the standard TCP connection.")
(license license:bsd-3)))
+
+(define-public ghc-libxml-sax
+ (package
+ (name "ghc-libxml-sax")
+ (version "0.7.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/libxml-sax/libxml-sax-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32 "0lbdq6lmiyrnzk6gkx09vvp928wj8qnqnqfzy14mfv0drj21f54r"))))
+ (build-system haskell-build-system)
+ (inputs
+ (list
+ ghc-xml-types
+ libxml2))
+ (native-inputs `(("pkg-config" ,pkg-config)))
+ (home-page "https://hackage.haskell.org/package/libxml-sax")
+ (synopsis "Bindings for the libXML2 SAX interface")
+ (description "LibXML-SAX is a very simple and direct binding to libXML2's
+SAX parser.")
+ (license license:expat)))
--
2.30.2
S
S
Stephen Paul Weber wrote on 14 Jan 2022 03:45
[PATCH v2 08/24] gnu: Add ghc-network-simple.
(address . 50835@debbugs.gnu.org)
20220114024546.75747-8-singpolyma@singpolyma.net
* gnu/packages/haskell-xyz.scm (ghc-network-simple): New variable.
---
gnu/packages/haskell-xyz.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

Toggle diff (29 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index a206e8cabb..8c02385f26 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -16265,3 +16265,22 @@ SAX parser.")
(description
"This library provides low-level bindings for using libidn in Haskell.")
(license license:gpl3)))
+
+(define-public ghc-network-simple
+ (package
+ (name "ghc-network-simple")
+ (version "0.4.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (hackage-uri "network-simple" version))
+ (sha256
+ (base32 "17hpgcwrsx2h8lrb2wwzy0anp33mn80dnwcgnqmb8prajwjvz807"))))
+ (build-system haskell-build-system)
+ (inputs (list ghc-network ghc-network-bsd ghc-safe-exceptions ghc-socks))
+ (home-page "https://github.com/k0001/network-simple")
+ (synopsis "Simple network sockets usage patterns")
+ (description
+ "Network Simple exports functions that abstract simple network socket
+usage patterns.")
+ (license license:bsd-3)))
--
2.30.2
S
S
Stephen Paul Weber wrote on 14 Jan 2022 03:45
[PATCH v2 03/24] gnu: Add ghc-hedis.
(address . 50835@debbugs.gnu.org)
20220114024546.75747-3-singpolyma@singpolyma.net
* gnu/packages/haskell-xyz.scm (ghc-hedis): New variable.
---
gnu/packages/haskell-xyz.scm | 66 ++++++++++++++++++++++++++++++++++++
1 file changed, 66 insertions(+)

Toggle diff (76 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 9670b50a65..bf1aa68305 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -16084,3 +16084,69 @@ using STM and with support for expiration times.")
"Scanner is a parser combinator library designed to be fast.
It doesn't support backtracking.")
(license license:bsd-3)))
+
+(define-public ghc-hedis
+ (package
+ (name "ghc-hedis")
+ (version "0.14.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/hedis/hedis-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32 "0h6s3x3pylyidjbzjqyrmc2cm5ls67m9iij35fn48rvq4l41w9h9"))))
+ (build-system haskell-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ ; The main tests require redis-server running, but not doctest
+ (when tests? (invoke "runhaskell" "Setup.hs" "test" "doctest")))))))
+ (inputs
+ (list
+ ghc-scanner
+ ghc-async
+ ghc-bytestring-lexing
+ ghc-unordered-containers
+ ghc-network
+ ghc-resource-pool
+ ghc-tls
+ ghc-vector
+ ghc-http
+ ghc-errors
+ ghc-network-uri))
+ (native-inputs
+ (list
+ ghc-hunit
+ ghc-test-framework
+ ghc-test-framework-hunit
+ ghc-doctest))
+ (home-page "https://github.com/informatikr/hedis")
+ (synopsis
+ "Client library for the Redis datastore: supports full command set, pipelining")
+ (description
+ "Redis is an open source, advanced key-value store. It is often referred
+to as a data structure server since keys can contain strings, hashes, lists,
+sets and sorted sets. This library is a Haskell client for the Redis datastore.
+Compared to other Haskell client libraries it has some advantages.
+
+Hedis is intended to be used with the latest stable version of Redis.
+Most redis commands are available as haskell functions, although MONITOR and SYNC
+are intentionally omitted. Additionally, a low-level API is exposed that
+makes it easy for the library user to implement further commands, such as new
+commands from an experimental Redis version.
+
+Commands are pipelined as much as possible without any work by the user.
+
+When subscribed to the Redis PubSub server, clients are not allowed to issue
+commands other than subscribing to or unsubscribing from channels.
+This library uses the type system to enforce the correct behavior.
+
+TCP sockets are the default way to connect to a Redis server. For connections
+to a server on the same machine, Unix domain sockets offer higher performance
+than the standard TCP connection.")
+ (license license:bsd-3)))
--
2.30.2
S
S
Stephen Paul Weber wrote on 14 Jan 2022 03:45
[PATCH v2 09/24] gnu: Add ghc-network-protocol-xmpp.
(address . 50835@debbugs.gnu.org)
20220114024546.75747-9-singpolyma@singpolyma.net
* gnu/packages/haskell-xyz.scm (ghc-network-protocol-xmpp): New variable.
---
gnu/packages/haskell-xyz.scm | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)

Toggle diff (41 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 8c02385f26..cf96ca2633 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -16284,3 +16284,34 @@ SAX parser.")
"Network Simple exports functions that abstract simple network socket
usage patterns.")
(license license:bsd-3)))
+
+(define-public ghc-network-protocol-xmpp
+ (package
+ (name "ghc-network-protocol-xmpp")
+ (version "0.4.10")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/"
+ "network-protocol-xmpp/network-protocol-xmpp-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32 "03xlw8337lzwp7f5jvbvgirf546pfmfsfjvnik08qjjy1rfn5jji"))))
+ (build-system haskell-build-system)
+ (inputs
+ (list
+ ghc-gnuidn
+ ghc-gnutls
+ ghc-gsasl
+ ghc-libxml-sax
+ ghc-monads-tf
+ ghc-network
+ ghc-network-simple
+ ghc-xml-types))
+ (home-page "https://git.singpolyma.net/network-protocol-xmpp")
+ (synopsis "Client library for the XMPP protocol")
+ (description "Network-protocol-XMPP is a client or component library for XMPP.
+Does only what it needs to do and nothing more, no XEP wrappers etc.")
+ (license license:gpl3)))
--
2.30.2
S
S
Stephen Paul Weber wrote on 14 Jan 2022 03:45
[PATCH v2 10/24] gnu: Add ghc-unexceptionalio-trans.
(address . 50835@debbugs.gnu.org)
20220114024546.75747-10-singpolyma@singpolyma.net
* gnu/packages/haskell-xyz.scm (ghc-unexceptional-trans): New variable.
---
gnu/packages/haskell-xyz.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index cf96ca2633..ebee13023e 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13615,6 +13615,33 @@ unbounded @code{Integer} type.")
handled safely, this is what you're left with.")
(license license:isc)))
+(define-public ghc-unexceptionalio-trans
+ (package
+ (name "ghc-unexceptionalio-trans")
+ (version "0.5.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (hackage-uri "unexceptionalio-trans" version))
+ (sha256
+ (base32 "100sfbrpaldz37a176qpfkk1nx5acyh8pchjmb8g5vhzbhyrqniz"))))
+ (build-system haskell-build-system)
+ (inputs (list ghc-unexceptionalio))
+ (arguments
+ `(#:cabal-revision
+ ("1" "0f15n8hqqczwjrcqxwjp2mrd9iycv53sylv407c95nb6d4hw93ci")))
+ (home-page "https://github.com/singpolyma/unexceptionalio-trans")
+ (synopsis "Wrapper around UnexceptionalIO using monad transformers")
+ (description
+ "UnexceptionalIO provides a basic type to witness having caught all
+exceptions you can safely handle. This library builds on that with
+transformers like ExceptT to provide a more ergonomic tool for many cases.
+It is intended that you use qualified imports with this library.
+
+> import UnexceptionalIO.Trans (UIO)
+> import qualified UnexceptionalIO.Trans as UIO")
+ (license license:isc)))
+
(define-public ghc-unicode-transforms
(package
(name "ghc-unicode-transforms")
--
2.30.2
S
S
Stephen Paul Weber wrote on 14 Jan 2022 03:45
[PATCH v2 11/24] gnu: Add ghc-base58-bytestring.
(address . 50835@debbugs.gnu.org)
20220114024546.75747-11-singpolyma@singpolyma.net
* gnu/packages/haskell-xyz.scm (ghc-base58-bytestring): New variable.
---
gnu/packages/haskell-xyz.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (32 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index ebee13023e..602fdc3ac1 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -16342,3 +16342,25 @@ usage patterns.")
(description "Network-protocol-XMPP is a client or component library for XMPP.
Does only what it needs to do and nothing more, no XEP wrappers etc.")
(license license:gpl3)))
+
+(define-public ghc-base58-bytestring
+ (package
+ (name "ghc-base58-bytestring")
+ (version "0.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (hackage-uri "base58-bytestring" version))
+ (sha256
+ (base32 "1ls05nzswjr6aw0wwk3q7cpv1hf0lw7vk16a5khm6l21yfcgbny2"))))
+ (build-system haskell-build-system)
+ (native-inputs
+ (list ghc-quickcheck-assertions
+ ghc-quickcheck-instances
+ ghc-tasty
+ ghc-tasty-quickcheck))
+ (home-page "https://bitbucket.org/s9gf4ult/base58-bytestring")
+ (synopsis "Implementation of BASE58 transcoding for ByteStrings")
+ (description
+ "Base58 ByteString is an implementation of BASE58 transcoding.")
+ (license license:public-domain)))
--
2.30.2
S
S
Stephen Paul Weber wrote on 14 Jan 2022 03:45
[PATCH v2 12/24] gnu: Add ghc-hstatsd.
(address . 50835@debbugs.gnu.org)
20220114024546.75747-12-singpolyma@singpolyma.net
* gnu/packages/haskell-xyz.scm (ghc-hstatsd): New variable.
---
gnu/packages/haskell-xyz.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 602fdc3ac1..146d5ce2cf 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -16364,3 +16364,27 @@ Does only what it needs to do and nothing more, no XEP wrappers etc.")
(description
"Base58 ByteString is an implementation of BASE58 transcoding.")
(license license:public-domain)))
+
+(define-public ghc-hstatsd
+ (package
+ (name "ghc-hstatsd")
+ (version "0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (hackage-uri "hstatsd" version))
+ (sha256
+ (base32 "092q52yyb1xdji1y72bdcgvp8by2w1z9j717sl1gmh2p89cpjrs4"))))
+ (build-system haskell-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-for-network-3
+ (lambda _
+ (substitute* "src/Network/StatsD.hs"
+ (("sClose") "close")))))))
+ (inputs (list ghc-network))
+ (home-page "https://github.com/mokus0/hstatsd")
+ (synopsis "Quick and dirty statsd interface")
+ (description "Hstatsd is a statsd interface.")
+ (license license:public-domain)))
--
2.30.2
S
S
Stephen Paul Weber wrote on 14 Jan 2022 03:45
[PATCH v2 13/24] gnu: Add ghc-random-shuffle.
(address . 50835@debbugs.gnu.org)
20220114024546.75747-13-singpolyma@singpolyma.net
* gnu/packages/haskell-xyz.scm (ghc-random-shuffle): New variable.
---
gnu/packages/haskell-xyz.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (30 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 146d5ce2cf..74d6460edf 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -16388,3 +16388,23 @@ Does only what it needs to do and nothing more, no XEP wrappers etc.")
(synopsis "Quick and dirty statsd interface")
(description "Hstatsd is a statsd interface.")
(license license:public-domain)))
+
+(define-public ghc-random-shuffle
+ (package
+ (name "ghc-random-shuffle")
+ (version "0.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (hackage-uri "random-shuffle" version))
+ (sha256
+ (base32 "0586bnlh0g2isc44jbjvafkcl4yw6lp1db8x6vr0pza0y08l8w2j"))))
+ (build-system haskell-build-system)
+ (inputs (list ghc-random ghc-monadrandom))
+ (home-page "http://hackage.haskell.org/package/random-shuffle")
+ (synopsis "Random shuffle implementation")
+ (description
+ "This library is a random shuffle implementation on immutable lists,
+based on `perfect shuffle' implementation by Oleg Kiselyov
+available at http://okmij.org/ftp/Haskell/perfect-shuffle.txt")
+ (license license:bsd-3)))
--
2.30.2
S
S
Stephen Paul Weber wrote on 14 Jan 2022 03:45
[PATCH v2 14/24] gnu: Add ghc-stm-delay.
(address . 50835@debbugs.gnu.org)
20220114024546.75747-14-singpolyma@singpolyma.net
* gnu/packages/haskell-xyz.scm (ghc-stm-delay): New variable.
---
gnu/packages/haskell-xyz.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (31 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 74d6460edf..f7a04e2976 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -16408,3 +16408,24 @@ Does only what it needs to do and nothing more, no XEP wrappers etc.")
based on `perfect shuffle' implementation by Oleg Kiselyov
available at http://okmij.org/ftp/Haskell/perfect-shuffle.txt")
(license license:bsd-3)))
+
+(define-public ghc-stm-delay
+ (package
+ (name "ghc-stm-delay")
+ (version "0.1.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (hackage-uri "stm-delay" version))
+ (sha256
+ (base32 "0cla21v89gcvmr1iwzibq13v1yq02xg4h6k9l6kcprj7mhd5hcmi"))))
+ (build-system haskell-build-system)
+ (home-page "https://github.com/joeyadams/haskell-stm-delay")
+ (synopsis "Updatable one-shot timer polled with STM")
+ (description
+ "STM Delay lets you create a one-shot timer, poll it using STM,
+and update it to ring at a different time than initially specified. It uses
+GHC event manager timeouts when available (GHC 7.2+, -threaded, non-Windows OS),
+yielding performance similar to threadDelay and registerDelay. Otherwise,
+it falls back to forked threads and threadDelay.")
+ (license license:bsd-3)))
--
2.30.2
S
S
Stephen Paul Weber wrote on 14 Jan 2022 03:45
[PATCH v2 15/24] gnu: Add ghc-hostandport.
(address . 50835@debbugs.gnu.org)
20220114024546.75747-15-singpolyma@singpolyma.net
* gnu/packages/haskell-xyz.scm (ghc-hostandport): New variable.
---
gnu/packages/haskell-xyz.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (31 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index f7a04e2976..c4fd46fcab 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -16429,3 +16429,24 @@ GHC event manager timeouts when available (GHC 7.2+, -threaded, non-Windows OS),
yielding performance similar to threadDelay and registerDelay. Otherwise,
it falls back to forked threads and threadDelay.")
(license license:bsd-3)))
+
+(define-public ghc-hostandport
+ (package
+ (name "ghc-hostandport")
+ (version "0.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (hackage-uri "HostAndPort" version))
+ (sha256
+ (base32 "1rjv6c7j6fdy6gnn1zr5jnfmiqiamsmjfw9h3bx119giw3sjb9hm"))))
+ (build-system haskell-build-system)
+ (native-inputs
+ (list ghc-hspec ghc-doctest))
+ (home-page "https://github.com/bacher09/hostandport")
+ (synopsis "Parser for host and port pairs like localhost:22")
+ (description
+ "HostAndPort is a simple parser for parsing host and port pairs.
+Host can be either ipv4, ipv6 or domain name and port are optional.
+IPv6 address should be surrounded by square brackets.")
+ (license license:expat)))
--
2.30.2
S
S
Stephen Paul Weber wrote on 14 Jan 2022 03:45
[PATCH v2 16/24] gnu: Add ghc-binary-varint.
(address . 50835@debbugs.gnu.org)
20220114024546.75747-16-singpolyma@singpolyma.net
* gnu/packages/haskell-xyz.scm (ghc-binary-varint): New variable.
---
gnu/packages/haskell-xyz.scm | 16 ++++++++++++++++
1 file changed, 16 insertions(+)

Toggle diff (26 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index c4fd46fcab..1534b454ef 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -16450,3 +16450,19 @@ it falls back to forked threads and threadDelay.")
Host can be either ipv4, ipv6 or domain name and port are optional.
IPv6 address should be surrounded by square brackets.")
(license license:expat)))
+
+(define-public ghc-binary-varint
+ (package
+ (name "ghc-binary-varint")
+ (version "0.1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (hackage-uri "binary-varint" version))
+ (sha256
+ (base32 "1i183ab4bbq3yarijnb2pwgbi9k1w1nc0fs6ph8d8xnysj6ws8l8"))))
+ (build-system haskell-build-system)
+ (home-page "https://github.com/monadic-xyz/ipfs")
+ (synopsis "VarInt encoding/decoding via Data.Binary")
+ (description "Binary VarInt implements VarInt encoding and decoding.")
+ (license license:bsd-3)))
--
2.30.2
S
S
Stephen Paul Weber wrote on 14 Jan 2022 03:45
[PATCH v2 17/24] gnu: Add ghc-multihash-cryptonite.
(address . 50835@debbugs.gnu.org)
20220114024546.75747-17-singpolyma@singpolyma.net
* gnu/packages/haskell-xyz.scm (ghc-multihash-cryptonite): New variable.
---
gnu/packages/haskell-xyz.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (30 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 1534b454ef..26ac5cdb5d 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -16466,3 +16466,23 @@ IPv6 address should be surrounded by square brackets.")
(synopsis "VarInt encoding/decoding via Data.Binary")
(description "Binary VarInt implements VarInt encoding and decoding.")
(license license:bsd-3)))
+
+(define-public ghc-multihash-cryptonite
+ (package
+ (name "ghc-multihash-cryptonite")
+ (version "0.1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (hackage-uri "multihash-cryptonite" version))
+ (sha256
+ (base32 "0gl13kjqz14lnwz7x162fad3j99qs1xa3zabpr30q53pkzk8adsi"))))
+ (build-system haskell-build-system)
+ (inputs (list ghc-binary-varint ghc-cryptonite ghc-hashable ghc-memory))
+ (native-inputs (list ghc-hedgehog ghc-doctest ghc-cabal-doctest))
+ (home-page "https://github.com/monadic-xyz/ipfs")
+ (synopsis "Multihash implementation for Haskell")
+ (description
+ "Multihash Cryptonite implements self-identifying hashes as an
+implementation of https://github.com/multiformats/multihash")
+ (license license:bsd-3)))
--
2.30.2
S
S
Stephen Paul Weber wrote on 14 Jan 2022 03:45
[PATCH v2 19/24] gnu: Add ghc-base32-z-bytestring.
(address . 50835@debbugs.gnu.org)
20220114024546.75747-19-singpolyma@singpolyma.net
* gnu/packages/haskell-xyz.scm (ghc-base32-z-bytestring): New variable.
---
gnu/packages/haskell-xyz.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

Toggle diff (43 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 92b3d99b19..93b81f19de 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -16504,3 +16504,36 @@ implementation of https://github.com/multiformats/multihash")
"CPU is a library to get basic lowlevel properties of the cpu platform,
like endianness and architecture.")
(license license:bsd-3)))
+
+(define-public ghc-base32-z-bytestring
+ (package
+ (name "ghc-base32-z-bytestring")
+ (version "1.0.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (hackage-uri "base32-z-bytestring" version))
+ (sha256
+ (base32 "1r0235a2qqnavsm7jl807m555yd2k2vi2kfacw878v83zdr5qyix"))))
+ (build-system haskell-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-internal-reference
+ (lambda _
+ (substitute* "base32-z-bytestring.cabal"
+ (("z-base32-bytestring") "base32-z-bytestring")))))))
+ (inputs (list ghc-cpu))
+ (native-inputs
+ (list ghc-hedgehog
+ ghc-tasty
+ ghc-tasty-fail-fast
+ ghc-tasty-hedgehog
+ ghc-tasty-hspec))
+ (home-page "https://github.com/oscoin/base32-z-bytestring")
+ (synopsis "Fast z-base32 and z-base32hex codec for ByteStrings")
+ (description
+ "Base32-Z-ByteString is an implementation of the base32 and base32hex
+codecs according to RFC4648, extended to support z-base32 encoding according to
+https://gist.github.com/maaku/8996338#file-bip-ecc32-mediawiki.")
+ (license license:bsd-3)))
--
2.30.2
S
S
Stephen Paul Weber wrote on 14 Jan 2022 03:45
[PATCH v2 18/24] gnu: Add ghc-cpu.
(address . 50835@debbugs.gnu.org)
20220114024546.75747-18-singpolyma@singpolyma.net
* gnu/packages/haskell-xyz.scm (ghc-cpu): New variable.
---
gnu/packages/haskell-xyz.scm | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)

Toggle diff (28 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 26ac5cdb5d..92b3d99b19 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -16486,3 +16486,21 @@ IPv6 address should be surrounded by square brackets.")
"Multihash Cryptonite implements self-identifying hashes as an
implementation of https://github.com/multiformats/multihash")
(license license:bsd-3)))
+
+(define-public ghc-cpu
+ (package
+ (name "ghc-cpu")
+ (version "0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (hackage-uri "cpu" version))
+ (sha256
+ (base32 "0x19mlanmkg96h6h1i04w2i631z84y4rbk22ki4zhgsajysgw9sn"))))
+ (build-system haskell-build-system)
+ (home-page "https://github.com/vincenthz/hs-cpu")
+ (synopsis "CPU information and properties helpers")
+ (description
+ "CPU is a library to get basic lowlevel properties of the cpu platform,
+like endianness and architecture.")
+ (license license:bsd-3)))
--
2.30.2
S
S
Stephen Paul Weber wrote on 14 Jan 2022 03:45
[PATCH v2 21/24] gnu: Add ghc-tasty-tap.
(address . 50835@debbugs.gnu.org)
20220114024546.75747-21-singpolyma@singpolyma.net
* gnu/packages/haskell-xyz.scm (ghc-tasty-tap): New variable.
---
gnu/packages/haskell-xyz.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

Toggle diff (29 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 7ad9c3eabd..7e654c6edf 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -16558,3 +16558,22 @@ https://gist.github.com/maaku/8996338#file-bip-ecc32-mediawiki.")
(description
"Formatting implements combinator-based type-safe formatting.")
(license license:bsd-3)))
+
+(define-public ghc-tasty-tap
+ (package
+ (name "ghc-tasty-tap")
+ (version "0.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (hackage-uri "tasty-tap" version))
+ (sha256
+ (base32 "16i7pd0xis1fyqgmsy4mq04y87ny61dh2lddnjijcf1s9jz9b6x8"))))
+ (build-system haskell-build-system)
+ (inputs (list ghc-tasty))
+ (native-inputs (list ghc-tasty-hunit ghc-tasty-golden))
+ (home-page "https://github.com/michaelxavier/tasty-tap")
+ (synopsis "TAP (Test Anything Protocol) Version 13 formatter for tasty")
+ (description
+ "Tasty TAP is a tasty ingredient to output test results in TAP 13 format.")
+ (license license:expat)))
--
2.30.2
S
S
Stephen Paul Weber wrote on 14 Jan 2022 03:45
[PATCH v2 23/24] gnu: Add ghc-multibase.
(address . 50835@debbugs.gnu.org)
20220114024546.75747-23-singpolyma@singpolyma.net
* gnu/packages/haskell-xyz.scm (ghc-multibase): New variable.
---
gnu/packages/haskell-xyz.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index a137b8b5da..c27064a327 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -16600,3 +16600,33 @@ https://gist.github.com/maaku/8996338#file-bip-ecc32-mediawiki.")
(description
"Tasty-fail-fast wraps any ingredient to fail as soon as the first test fails.")
(license license:bsd-3)))
+
+(define-public ghc-multibase
+ (package
+ (name "ghc-multibase")
+ (version "0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (hackage-uri "multibase" version))
+ (sha256
+ (base32 "036caj0dzhzp065dhy05flz2j5qml5pirs1y95np4hf2xv9jk32h"))))
+ (build-system haskell-build-system)
+ (inputs
+ (list ghc-aeson
+ ghc-base16-bytestring
+ ghc-base32-z-bytestring
+ ghc-base58-bytestring
+ ghc-base64-bytestring
+ ghc-formatting
+ ghc-hashable
+ ghc-sandi
+ ghc-serialise
+ ghc-tagged))
+ (native-inputs (list ghc-doctest ghc-quickcheck ghc-cabal-doctest))
+ (home-page "https://github.com/monadic-xyz/ipfs")
+ (synopsis "Multibase for Haskell")
+ (description
+ "Multibase implements self-identifying base encodings as an implementation
+of https://github.com/multiformats/multihash.")
+ (license license:bsd-3)))
--
2.30.2
S
S
Stephen Paul Weber wrote on 14 Jan 2022 03:45
[PATCH v2 20/24] gnu: Add ghc-formatting.
(address . 50835@debbugs.gnu.org)
20220114024546.75747-20-singpolyma@singpolyma.net
* gnu/packages/haskell-xyz.scm (ghc-formatting): New variable.
---
gnu/packages/haskell-xyz.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (31 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 93b81f19de..7ad9c3eabd 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -16537,3 +16537,24 @@ like endianness and architecture.")
codecs according to RFC4648, extended to support z-base32 encoding according to
https://gist.github.com/maaku/8996338#file-bip-ecc32-mediawiki.")
(license license:bsd-3)))
+
+(define-public ghc-formatting
+ (package
+ (name "ghc-formatting")
+ (version "7.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (hackage-uri "formatting" version))
+ (sha256
+ (base32 "1vrc2i1b6lxx2aq5hysfl3gl6miq2wbhxc384axvgrkqjbibnqc0"))))
+ (build-system haskell-build-system)
+ (inputs
+ (list ghc-clock ghc-old-locale ghc-scientific ghc-double-conversion))
+ (native-inputs (list ghc-hspec))
+ (home-page "https://github.com/AJChapman/formatting")
+ (synopsis
+ "Combinator-based type-safe formatting (like printf() or FORMAT)")
+ (description
+ "Formatting implements combinator-based type-safe formatting.")
+ (license license:bsd-3)))
--
2.30.2
S
S
Stephen Paul Weber wrote on 14 Jan 2022 03:45
[PATCH v2 22/24] gnu: Add ghc-tasty-fail-fast.
(address . 50835@debbugs.gnu.org)
20220114024546.75747-22-singpolyma@singpolyma.net
* gnu/packages/haskell-xyz.scm (ghc-tasty-fail-fast): New variable.
---
gnu/packages/haskell-xyz.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 7e654c6edf..a137b8b5da 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -16577,3 +16577,26 @@ https://gist.github.com/maaku/8996338#file-bip-ecc32-mediawiki.")
(description
"Tasty TAP is a tasty ingredient to output test results in TAP 13 format.")
(license license:expat)))
+
+(define-public ghc-tasty-fail-fast
+ (package
+ (name "ghc-tasty-fail-fast")
+ (version "0.0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/MichaelXavier/tasty-fail-fast")
+ (commit "68d7f182f4d1f7b97a724c26f554e5da27fe9413")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "05x4ly5sfj5fmjsxxrfys20qc6n078vwaxxzlk2l354l7kng5512"))))
+ (build-system haskell-build-system)
+ (inputs (list ghc-tasty ghc-tagged))
+ (native-inputs (list ghc-tasty-hunit ghc-tasty-golden ghc-tasty-tap))
+ (home-page "https://github.com/MichaelXavier/tasty-fail-fast")
+ (synopsis
+ "Adds the ability to fail a tasty test suite on first test failure")
+ (description
+ "Tasty-fail-fast wraps any ingredient to fail as soon as the first test fails.")
+ (license license:bsd-3)))
--
2.30.2
S
S
Stephen Paul Weber wrote on 14 Jan 2022 03:45
[PATCH v2 24/24] gnu: Add ghc-ipld-cid.
(address . 50835@debbugs.gnu.org)
20220114024546.75747-24-singpolyma@singpolyma.net
* gnu/packages/haskell-xyz.scm (ghc-ipld-cid): New variable.
---
gnu/packages/haskell-xyz.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index c27064a327..b1cc01b7d2 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -16630,3 +16630,26 @@ https://gist.github.com/maaku/8996338#file-bip-ecc32-mediawiki.")
"Multibase implements self-identifying base encodings as an implementation
of https://github.com/multiformats/multihash.")
(license license:bsd-3)))
+
+(define-public ghc-ipld-cid
+ (package
+ (name "ghc-ipld-cid")
+ (version "0.1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (hackage-uri "ipld-cid" version))
+ (sha256
+ (base32 "1y08j0ibcrpfcm0zv1h17zdgbl3hm3sjvm0w9bk1lzdipd6p6cwj"))))
+ (build-system haskell-build-system)
+ (inputs
+ (list ghc-binary-varint
+ ghc-cryptonite
+ ghc-hashable
+ ghc-multibase
+ ghc-multihash-cryptonite))
+ (native-inputs (list ghc-hedgehog))
+ (home-page "https://github.com/monadic-xyz/ipfs")
+ (synopsis "IPLD Content-IDentifiers for Hasell")
+ (description "IPLD-CID is an implementation of https://github.com/ipld/cid.")
+ (license license:bsd-3)))
--
2.30.2
S
S
Stephen Paul Weber wrote on 14 Jan 2022 03:45
[PATCH v2 01/24] gnu: Add ghc-cache.
(address . 50835@debbugs.gnu.org)
20220114024546.75747-1-singpolyma@singpolyma.net
* gnu/packages/haskell-xyz.scm (ghc-cache): New variable.
---
gnu/packages/haskell-xyz.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 1d86fe0c47..8260bb7dc4 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -16027,3 +16027,33 @@ data Dec a
"This package provides Type-level booleans.")
(license license:bsd-3)))
+(define-public ghc-cache
+ (package
+ (name "ghc-cache")
+ (version "0.1.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/cache/cache-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32 "0d75257kvjpnv95ja50x5cs77pj8ccfr0nh9q5gzvcps83qdksa2"))))
+ (build-system haskell-build-system)
+ (inputs
+ (list
+ ghc-clock
+ ghc-hashable
+ ghc-unordered-containers))
+ (native-inputs
+ (list
+ ghc-hspec
+ hspec-discover))
+ (home-page "https://github.com/hverr/haskell-cache#readme")
+ (synopsis "In-memory key/value store with expiration support")
+ (description
+ "Cache is an in-memory key/value store with expiration support, similar to
+patrickmn/go-cache for Go. The cache is a shared mutable HashMap implemented
+using STM and with support for expiration times.")
+ (license license:bsd-3)))
--
2.30.2
?