[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
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 50835@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 50835
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch