[PATCH] Add several new ruby gems to Guix

OpenSubmitted by Stephen Paul Weber.
Details
3 participants
  • jgart
  • Raghav Gururajan
  • Stephen Paul Weber
Owner
unassigned
Severity
normal
S
S
Stephen Paul Weber wrote on 12 Sep 2021 05:02
(address . guix-patches@gnu.org)
20210912030229.GB26145@singpolyma-beefy.lan
This patch series adds all the depenencies and development tools for one of my
company's main projects to Guix, so that we can use Guix for development and
deployment, and everyone can benefit from their availability.
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEWeaCw+rzmiEMpzU00RwpEc5RnN4FAmE9bcUACgkQ0RwpEc5R
nN5vTw/+OG50Kysq+WJiN1hKwwyCmK4JPUhyURBsHiGMwhUlxmqKeZSwPGfAxdMH
kImNcQmbsATZMl7J/2EhnijcUJxH5hPZnAxfgVzzuFAUogq7EOUZiH0K1MIRya3l
RKplkIBLaRniBQXAWYVLzKXb0afUkyLdxw88VzSgfkh5ZtkCMshSbTcMUnNLJ7ey
u4KcOa1CW4RwKLUjCML2oDY5Lqwbvh0xnr0fE46f7qxuMjrSSu6WvFOaIPPo4GJ1
Fs2JfY4iOHFaCG7WMbF6v6bZvRgPjOQI6lXq/N1AZysvYlxDQ2BtqGz9H9oOLNcM
CfvYjVJb2PTvEDpcCq1ecaBKG8dsDp7FBSxLt50lXyAmWTEanZfLl3Leuk67Aqjk
jN/gv9WQBssRg8D6dy6TRfLJ39Xnglnn3Kik/5nYyxucJQWAXsaf1AdSQhFM7Hg8
uXH3YHnF9aDK7DRNtxU1kwh3bLpA3+asVgFIJycq1q1NbAAPJ5BRUCvXo1ZAoy7U
EFdIpz5EdDi13C8/UQTEeFcjTdhDFr1YncyPhxCbqS0eJUgWhpQQM+A3HMeMR/4A
4a/Ex4YiPEYkYo60vTqIXCtkK8dKAROrkz4bzQNZH8hg9Q1t1qIUy/ONDQLF7x1z
Rge5N/LUIpYZLRSsQFm+sHupiDXuT8YK4Ufh/6rp0RmstAGO3w8=
=tQsW
-----END PGP SIGNATURE-----


S
S
Stephen Paul Weber wrote on 12 Sep 2021 05:05
[PATCH 02/27] gnu: Add ruby-niceogiri.
(address . 50537@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210912030532.7439-2-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-niceogiri): New variable.
---
gnu/packages/ruby.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)

Toggle diff (44 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index bb2ace23d3..1eb6a0fb82 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12520,3 +12520,37 @@ management, status tracking and reporting.")
     (home-page
       "https://github.com/brandonhilkert/sucker_punch")
     (license license:expat)))
+
+(define-public ruby-niceogiri
+  (package
+    (name "ruby-niceogiri")
+    (version "1.1.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "niceogiri" version))
+        (sha256
+          (base32
+            "1ha93211bc9cvh23s9w89zz7rq8irpf64ccd9arvg8v1sxg2798a"))))
+    (build-system ruby-build-system)
+    (arguments
+     `(#:test-target "spec"
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'extract-gemspec 'less-strict-dependencies
+           (lambda _
+             (substitute* "niceogiri.gemspec"
+               (("2.7") "3.8")
+               ((".*guard-rspec.*") "\n"))
+             #t)))))
+    (propagated-inputs
+      `(("ruby-nokogiri" ,ruby-nokogiri)))
+    (native-inputs
+     `(("ruby-rspec" ,ruby-rspec)
+       ("ruby-yard" ,ruby-yard)))
+    (synopsis "Make dealing with XML less painful")
+    (description
+      "Make dealing with XML less painful")
+    (home-page
+      "https://github.com/benlangfeld/Niceogiri")
+    (license license:expat)))
-- 
2.20.1
S
S
Stephen Paul Weber wrote on 12 Sep 2021 05:05
[PATCH 05/27] gnu: Add ruby-braintree.
(address . 50537@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210912030532.7439-5-singpolyma@singpolyma.net
* gnu/pacakges/ruby.scm (ruby-braintree): New variable.
---
gnu/packages/ruby.scm | 46 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)

Toggle diff (56 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 79528b934a..efef72db03 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12616,3 +12616,49 @@ completes")
       "XMPP DSL for Ruby written on top of EventMachine and Nokogiri")
     (home-page "https://github.com/adhearsion/blather")
     (license license:expat)))
+
+(define-public ruby-braintree
+  (package
+    (name "ruby-braintree")
+    (version "4.4.0")
+    (source
+     (origin
+       (method git-fetch)
+       ;; Download from GitHub because the rubygems version does not contain
+       ;; Rakefile.
+       (uri (git-reference
+             (url "https://github.com/braintree/braintree_ruby")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0dzf26yhmlf65464nranvqg5rzhrc8gfaqbg3p4ld3abz8ccnw08"))))
+    (build-system ruby-build-system)
+    (arguments
+     `(#:test-target "test:unit"
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'less-strict-dependencies
+           (lambda _
+             (substitute* "Gemfile"
+               (("gem \"libxml-ruby\", \"3.2.0\"") "gem \"libxml-ruby\", \"~> 3.0.0\"")
+               (("gem \"rspec\", \"3.9.0\"") "gem \"rspec\", \"~> 3.8.0\"")
+               (("gem \"rubocop\", \"~>1.12.0\"") "gem \"rubocop\", \"~> 1.10.0\""))
+             #t)))))
+    (propagated-inputs
+      `(("ruby-builder" ,ruby-builder)
+        ("ruby-rexml" ,ruby-rexml)))
+    (native-inputs
+     `(("ruby-rspec" ,ruby-rspec)
+       ("ruby-libxml" ,ruby-libxml)
+       ("ruby-pry" ,ruby-pry)
+       ("ruby-rake" ,ruby-rake)
+       ("ruby-webrick" ,ruby-webrick)
+       ("ruby-rubocop" ,ruby-rubocop)))
+    (synopsis
+      "Resources and tools integrating Braintree's global payments platform")
+    (description
+      "Resources and tools for developers to integrate Braintree's global
+payments platform.")
+    (home-page "https://www.braintreepayments.com/")
+    (license license:expat)))
-- 
2.20.1
S
S
Stephen Paul Weber wrote on 12 Sep 2021 05:05
[PATCH 01/27] gnu: Add ruby-sucker-punch
(address . 50537@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210912030532.7439-1-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-sucker-punch): New variable.
---
gnu/packages/ruby.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 8db5bd9158..bb2ace23d3 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12488,3 +12488,35 @@ resource assignment, cost and revenue planning, risk and communication
 management, status tracking and reporting.")
     (home-page "https://taskjuggler.org")
     (license license:gpl2)))
+
+(define-public ruby-sucker-punch
+  (package
+    (name "ruby-sucker-punch")
+    (version "2.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "sucker_punch" version))
+        (sha256
+          (base32
+            "008vv7gpv2nm5n1njzvabd3aagbywc240y23vifvq6plir53ybay"))))
+    (build-system ruby-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'extract-gemspec 'less-strict-dependencies
+           (lambda _
+             (substitute* "sucker_punch.gemspec"
+               (("1.0.0") "1.0"))
+             #t)))))
+    (propagated-inputs
+      `(("ruby-concurrent" ,ruby-concurrent)))
+    (native-inputs
+     `(("ruby-pry" ,ruby-pry)))
+    (synopsis
+      "Asynchronous processing library for Ruby")
+    (description
+      "Asynchronous processing library for Ruby")
+    (home-page
+      "https://github.com/brandonhilkert/sucker_punch")
+    (license license:expat)))
-- 
2.20.1
S
S
Stephen Paul Weber wrote on 12 Sep 2021 05:05
[PATCH 04/27] gnu: Add ruby-blather.
(address . 50537@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210912030532.7439-4-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-blather): New variable.
---
gnu/packages/ruby.scm | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)

Toggle diff (50 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 0b5aed4b37..79528b934a 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12576,3 +12576,43 @@ completes")
     (home-page
       "https://github.com/benlangfeld/countdownlatch")
     (license license:expat)))
+
+(define-public ruby-blather
+  (package
+    (name "ruby-blather")
+    (version "2.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "blather" version))
+        (sha256
+          (base32
+            "05ry2x835fj4pzk61282pcz86n018cr39zbgwbi213md74i90s7c"))))
+    (build-system ruby-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'extract-gemspec 'less-strict-dependencies
+           (lambda _
+             (substitute* "blather.gemspec"
+               ((".*guard-rspec.*") "\n")
+                ((".*bluecloth.*") "\n"))
+             #t)))))
+    (propagated-inputs
+      `(("ruby-activesupport" ,ruby-activesupport)
+        ("ruby-eventmachine" ,ruby-eventmachine)
+        ("ruby-niceogiri" ,ruby-niceogiri)
+        ("ruby-nokogiri" ,ruby-nokogiri)
+        ("ruby-sucker-punch" ,ruby-sucker-punch)))
+    (native-inputs
+     `(("ruby-rspec" ,ruby-rspec)
+       ("ruby-yard" ,ruby-yard)
+       ("ruby-countdownlatch" ,ruby-countdownlatch)
+       ("ruby-rb-fsevent" ,ruby-rb-fsevent)
+       ("ruby-mocha" ,ruby-mocha)))
+    (synopsis
+      "XMPP DSL for Ruby written on top of EventMachine and Nokogiri")
+    (description
+      "XMPP DSL for Ruby written on top of EventMachine and Nokogiri")
+    (home-page "https://github.com/adhearsion/blather")
+    (license license:expat)))
-- 
2.20.1
S
S
Stephen Paul Weber wrote on 12 Sep 2021 05:05
[PATCH 07/27] gnu: Add ruby-promise.rb.
(address . 50537@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210912030532.7439-7-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-promise.rb): New variable.
---
gnu/packages/ruby.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

Toggle diff (43 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 4b04710665..e42532acde 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12694,3 +12694,36 @@ plus extensible, lightweight validation and coercion.")
     (home-page
       "https://github.com/tomdalling/value_semantics")
     (license license:expat)))
+
+(define-public ruby-promise.rb
+  (package
+    (name "ruby-promise.rb")
+    (version "0.7.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "promise.rb" version))
+        (sha256
+          (base32
+            "0a819sikcqvhi8hck1y10d1nv2qkjvmmm553626fmrh51h2i089d"))))
+    (build-system ruby-build-system)
+    (arguments
+     `(#:test-target "spec"
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'extract-gemspec 'less-strict-dependencies
+           (lambda _
+             (substitute* "Rakefile"
+               (("if Gem.ruby_version.*") "if false\n"))
+             (substitute* "spec/spec_helper.rb"
+               ((".*devtools/spec_helper.*") "\n"))
+             #t)))))
+    (native-inputs
+     `(("ruby-rspec" ,ruby-rspec)
+       ("ruby-rspec-its" ,ruby-rspec-its)
+       ("ruby-awesome-print" ,ruby-awesome-print)
+       ("ruby-fuubar" ,ruby-fuubar)))
+    (synopsis "Promises/A+ for Ruby")
+    (description "Promises/A+ for Ruby")
+    (home-page "https://github.com/lgierth/promise.rb")
+    (license license:unlicense)))
-- 
2.20.1
S
S
Stephen Paul Weber wrote on 12 Sep 2021 05:05
[PATCH 08/27] gnu: Add ruby-multicodecs.
(address . 50537@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210912030532.7439-8-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-multicodecs): New variable.
---
gnu/packages/ruby.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (31 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index e42532acde..dbcca3bb60 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12727,3 +12727,24 @@ plus extensible, lightweight validation and coercion.")
     (description "Promises/A+ for Ruby")
     (home-page "https://github.com/lgierth/promise.rb")
     (license license:unlicense)))
+
+(define-public ruby-multicodecs
+  (package
+    (name "ruby-multicodecs")
+    (version "0.2.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "multicodecs" version))
+        (sha256
+          (base32
+            "0drq267di57l9zqw6zvqqimilz42rbc8z7392dwkk8wslq30s7v8"))))
+    (build-system ruby-build-system)
+    (synopsis
+      "PORO of the multicodec table for use with other multiformat ruby gems")
+    (description
+      "This gem provides a PORO of the multicodec table for use with other
+    multiformat ruby gems.")
+    (home-page
+      "https://github.com/SleeplessByte/ruby-multicodec")
+    (license license:expat)))
-- 
2.20.1
S
S
Stephen Paul Weber wrote on 12 Sep 2021 05:05
[PATCH 06/27] gnu: Add ruby-value-semantics.
(address . 50537@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210912030532.7439-6-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-value-semantics): New variable.
---
gnu/packages/ruby.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index efef72db03..4b04710665 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12662,3 +12662,35 @@ completes")
 payments platform.")
     (home-page "https://www.braintreepayments.com/")
     (license license:expat)))
+
+(define-public ruby-value-semantics
+  (package
+    (name "ruby-value-semantics")
+    (version "3.6.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "value_semantics" version))
+        (sha256
+          (base32
+            "1vdwai8wf6r1fkvdpyz1vzxm89q7ghjvb3pqpg2kvwibwzd99dnx"))))
+    (build-system ruby-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda _
+             (invoke "rspec")
+             #t)))))
+    (native-inputs
+     `(("ruby-rspec" ,ruby-rspec)))
+    (synopsis
+      "Modules that provide conventional value semantics for a set of attributes")
+    (description
+      "Generates modules that provide conventional value semantics for a given
+set of attributes.
+The behaviour is similar to an immutable `Struct` class,
+plus extensible, lightweight validation and coercion.")
+    (home-page
+      "https://github.com/tomdalling/value_semantics")
+    (license license:expat)))
-- 
2.20.1
S
S
Stephen Paul Weber wrote on 12 Sep 2021 05:05
[PATCH 09/27] gnu: Add ruby-multihashes.
(address . 50537@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210912030532.7439-9-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-multihashes): New variable.
---
gnu/packages/ruby.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index dbcca3bb60..20b6287723 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12748,3 +12748,26 @@ plus extensible, lightweight validation and coercion.")
     (home-page
       "https://github.com/SleeplessByte/ruby-multicodec")
     (license license:expat)))
+
+(define-public ruby-multihashes
+  (package
+    (name "ruby-multihashes")
+    (version "0.2.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "multihashes" version))
+        (sha256
+          (base32
+            "17wiyy3fiv8rpgdv9ca01yncsmaaf8yg15bg18wc7m9frss1vgqg"))))
+    (build-system ruby-build-system)
+    (propagated-inputs
+      `(("ruby-multicodecs" ,ruby-multicodecs)))
+    (synopsis
+      "Simple, low-level multihash implementation for ruby")
+    (description
+      "This package provides a simple, low-level multihash
+(https://github.com/jbenet/multihash) implementation for ruby.")
+    (home-page
+      "https://github.com/multiformats/ruby-multihash")
+    (license license:expat)))
-- 
2.20.1
S
S
Stephen Paul Weber wrote on 12 Sep 2021 05:05
[PATCH 10/27] gnu: Add ruby-lazy-object.
(address . 50537@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210912030532.7439-10-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-lazy-object): New variable.
---
gnu/packages/ruby.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (32 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 20b6287723..2fa797eeec 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12771,3 +12771,25 @@ plus extensible, lightweight validation and coercion.")
     (home-page
       "https://github.com/multiformats/ruby-multihash")
     (license license:expat)))
+
+(define-public ruby-lazy-object
+  (package
+    (name "ruby-lazy-object")
+    (version "0.0.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "lazy_object" version))
+        (sha256
+          (base32
+            "08px15lahc28ik9smvw1hgamf792gd6gq0s4k94yq1h7jq25wjn8"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:test-target "spec"))
+    (synopsis
+      "Object wrapper that forwards all calls to the reference object")
+    (description
+      "It's an object wrapper that forwards all calls to the reference object.
+This object is not created until the first method dispatch.")
+    (home-page "https://github.com/HornsAndHooves/lazy_object")
+    (license license:expat)))
-- 
2.20.1
S
S
Stephen Paul Weber wrote on 12 Sep 2021 05:05
[PATCH 12/27] gnu: Add ruby-cbor.
(address . 50537@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210912030532.7439-12-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-cbor): New variable.
---
gnu/packages/ruby.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 2934033db8..1daa2c4236 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12815,3 +12815,29 @@ This object is not created until the first method dispatch.")
     (description "Parsing Expressions for Ruby")
     (home-page "http://mjackson.github.io/citrus/")
     (license license:expat)))
+
+(define-public ruby-cbor
+  (package
+    (name "ruby-cbor")
+    (version "0.5.9.6")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "cbor" version))
+        (sha256
+          (base32
+            "0511idr8xps9625nh3kxr68sdy6l3xy2kcz7r57g47fxb1v18jj3"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:test-target "spec"))
+    (native-inputs
+     `(("ruby-rspec" ,ruby-rspec)
+       ("ruby-rake-compiler" ,ruby-rake-compiler)
+       ("ruby-yard" ,ruby-yard)))
+    (synopsis
+      "Ruby library for CBOR binary object representation format")
+    (description
+      "CBOR is a library for the CBOR binary object representation format,
+based on Sadayuki Furuhashi's MessagePack library.")
+    (home-page "http://cbor.io/")
+    (license license:asl2.0)))
-- 
2.20.1
S
S
Stephen Paul Weber wrote on 12 Sep 2021 05:05
[PATCH 14/27] gnu: Add ruby-base32.
(address . 50537@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210912030532.7439-14-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-base32): New variable.
---
gnu/packages/ruby.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (31 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 715635148f..c644f6d798 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12864,3 +12864,24 @@ based on Sadayuki Furuhashi's MessagePack library.")
     (home-page
     "https://github.com/svenfuchs/gem-release")
     (license license:expat)))
+
+(define-public ruby-base32
+  (package
+    (name "ruby-base32")
+    (version "0.3.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "base32" version))
+        (sha256
+          (base32
+            "1fjs0l3c5g9qxwp43kcnhc45slx29yjb6m6jxbb2x1krgjmi166b"))))
+    (build-system ruby-build-system)
+    (native-inputs
+     `(("ruby-gem-release" ,ruby-gem-release)))
+    (synopsis
+      "Ruby extension for base32 encoding and decoding")
+    (description
+      "Ruby extension for base32 encoding and decoding")
+    (home-page "https://github.com/stesla/base32")
+    (license license:expat)))
-- 
2.20.1
S
S
Stephen Paul Weber wrote on 12 Sep 2021 05:05
[PATCH 13/27] gnu: Add ruby-gem-release
(address . 50537@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210912030532.7439-13-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-gem-release): New variable.
---
gnu/packages/ruby.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 1daa2c4236..715635148f 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12841,3 +12841,26 @@ This object is not created until the first method dispatch.")
 based on Sadayuki Furuhashi's MessagePack library.")
     (home-page "http://cbor.io/")
     (license license:asl2.0)))
+
+(define-public ruby-gem-release
+  (package
+    (name "ruby-gem-release")
+    (version "2.2.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "gem-release" version))
+        (sha256
+          (base32
+            "108rrfaiayi14zrqbb6z0cbwcxh8n15am5ry2a86v7c8c3niysq9"))))
+    (build-system ruby-build-system)
+    (arguments
+     ;; No rakefile
+     `(#:tests? #f))
+    (synopsis
+      "Release your ruby gems with ease")
+    (description
+      "Release your ruby gems with ease.")
+    (home-page
+    "https://github.com/svenfuchs/gem-release")
+    (license license:expat)))
-- 
2.20.1
S
S
Stephen Paul Weber wrote on 12 Sep 2021 05:05
[PATCH 11/27] gnu: Add ruby-citrus.
(address . 50537@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210912030532.7439-11-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-citrus): New variable.
---
gnu/packages/ruby.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (32 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 2fa797eeec..2934033db8 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12793,3 +12793,25 @@ plus extensible, lightweight validation and coercion.")
 This object is not created until the first method dispatch.")
     (home-page "https://github.com/HornsAndHooves/lazy_object")
     (license license:expat)))
+
+(define-public ruby-citrus
+  (package
+    (name "ruby-citrus")
+    (version "3.0.2")
+    (source
+     (origin
+       (method git-fetch)
+       ;; Download from GitHub because the rubygems version does not contain
+       ;; files needed for tests
+       (uri (git-reference
+             (url "https://github.com/mjackson/citrus")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "197wrgqrddgm1xs3yvjvd8vkvil4h4mdrcp16jmd4b57rxrrr769"))))
+    (build-system ruby-build-system)
+    (synopsis "Parsing Expressions for Ruby")
+    (description "Parsing Expressions for Ruby")
+    (home-page "http://mjackson.github.io/citrus/")
+    (license license:expat)))
-- 
2.20.1
S
S
Stephen Paul Weber wrote on 12 Sep 2021 05:05
[PATCH 18/27] gnu: Add ruby-money-open-exchange-rates.
(address . 50537@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210912030532.7439-18-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-money-open-exchange-rates): New variable.
---
gnu/packages/ruby.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)

Toggle diff (45 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index c602ad177d..79aff0a775 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12968,3 +12968,38 @@ Money objects.")
     (home-page
       "https://github.com/RubyMoney/monetize")
     (license license:expat)))
+
+(define-public ruby-money-open-exchange-rates
+  (package
+    (name "ruby-money-open-exchange-rates")
+    (version "1.4.0")
+    (source
+     (origin
+       (method git-fetch)
+       ;; Download from GitHub because the rubygems version does not contain
+       ;; Rakefile.
+       (uri (git-reference
+             (url "https://github.com/spk/money-open-exchange-rates")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "11xwqli8snr19k48yh8h77sal5vxd4snzq9gxg08v61f0574m3gw"))))
+    (build-system ruby-build-system)
+    (propagated-inputs `(("ruby-money" ,ruby-money)))
+    (native-inputs
+     `(("ruby-minitest" ,ruby-minitest)
+       ("ruby-mocha" ,ruby-mocha)
+       ("ruby-timecop" ,ruby-timecop)
+       ("ruby-webmock" ,ruby-webmock)
+       ("ruby-monetize" ,ruby-monetize)
+       ("ruby-rake" ,ruby-rake)
+       ("ruby-rubocop" ,ruby-rubocop)))
+    (synopsis
+      "Calculates the exchange rate using published rates from open-exchange-rates")
+    (description
+      "This package provides a gem that calculates the exchange rate using
+published rates from open-exchange-rates.  Compatible with the money gem.")
+    (home-page
+      "https://github.com/spk/money-open-exchange-rates")
+    (license license:expat)))
-- 
2.20.1
S
S
Stephen Paul Weber wrote on 12 Sep 2021 05:05
[PATCH 15/27] gnu: Add ruby-dhall.
(address . 50537@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210912030532.7439-15-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-dhall): New variable.
---
gnu/packages/ruby.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

Toggle diff (43 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index c644f6d798..c6d006162f 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12885,3 +12885,36 @@ based on Sadayuki Furuhashi's MessagePack library.")
       "Ruby extension for base32 encoding and decoding")
     (home-page "https://github.com/stesla/base32")
     (license license:expat)))
+
+(define-public ruby-dhall
+  (package
+    (name "ruby-dhall")
+    (version "0.5.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "dhall" version))
+        (sha256
+          (base32
+            "09wcq8xc1ynld04r2f332bx8cn7rjc4afaq8hm1dr2fc35jlpn6m"))))
+    (build-system ruby-build-system)
+    (arguments
+     ;; No test in gem archive
+     `(#:tests? #f))
+    (propagated-inputs
+      `(("ruby-base32" ,ruby-base32)
+        ("ruby-cbor" ,ruby-cbor)
+        ("ruby-citrus" ,ruby-citrus)
+        ("ruby-lazy-object" ,ruby-lazy-object)
+        ("ruby-multihashes" ,ruby-multihashes)
+        ("ruby-promise.rb" ,ruby-promise.rb)
+        ("ruby-value-semantics" ,ruby-value-semantics)))
+    (synopsis
+      "This is a Ruby implementation of the Dhall configuration language")
+    (description
+      "This is a Ruby implementation of the Dhall configuration language.
+Dhall is a powerful, but safe and non-Turing-complete configuration language.
+For more information, see: https://dhall-lang.org")
+    (home-page
+      "https://git.sr.ht/~singpolyma/dhall-ruby")
+    (license license:gpl3)))
-- 
2.20.1
S
S
Stephen Paul Weber wrote on 12 Sep 2021 05:05
[PATCH 16/27] gnu: Add ruby-money.
(address . 50537@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210912030532.7439-16-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-money): New variable.
---
gnu/packages/ruby.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index c6d006162f..5cffa281a5 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12918,3 +12918,27 @@ For more information, see: https://dhall-lang.org")
     (home-page
       "https://git.sr.ht/~singpolyma/dhall-ruby")
     (license license:gpl3)))
+
+(define-public ruby-money
+  (package
+    (name "ruby-money")
+    (version "6.16.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "money" version))
+        (sha256
+          (base32
+            "0jkmsj5ymadik7bvl670bqwmvhsdyv7hjr8gq9z293hq35gnyiyg"))))
+    (build-system ruby-build-system)
+    (arguments
+     ;; No rakefile
+     `(#:tests? #f))
+    (propagated-inputs `(("ruby-i18n" ,ruby-i18n)))
+    (synopsis
+      "Ruby Library for dealing with money and currency conversion")
+    (description
+      "This package provides a Ruby Library for dealing with money and
+currency conversion.")
+    (home-page "https://rubymoney.github.io/money/")
+    (license license:expat)))
-- 
2.20.1
S
S
Stephen Paul Weber wrote on 12 Sep 2021 05:05
[PATCH 17/27] gnu: Add ruby-monetize.
(address . 50537@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210912030532.7439-17-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-monetize): New variable.
---
gnu/packages/ruby.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 5cffa281a5..c602ad177d 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12942,3 +12942,29 @@ For more information, see: https://dhall-lang.org")
 currency conversion.")
     (home-page "https://rubymoney.github.io/money/")
     (license license:expat)))
+
+(define-public ruby-monetize
+  (package
+    (name "ruby-monetize")
+    (version "1.11.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "monetize" version))
+        (sha256
+          (base32
+            "0cna2myxdbwfq0gn6k2hgrh368dq7wld3jklm96443ysykd0difn"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:test-target "spec"))
+    (native-inputs
+     `(("ruby-rspec" ,ruby-rspec)))
+    (propagated-inputs `(("ruby-money" ,ruby-money)))
+    (synopsis
+      "Convert various objects into Money objects")
+    (description
+      "This package provides a library for converting various objects into
+Money objects.")
+    (home-page
+      "https://github.com/RubyMoney/monetize")
+    (license license:expat)))
-- 
2.20.1
S
S
Stephen Paul Weber wrote on 12 Sep 2021 05:05
[PATCH 19/27] gnu: Add ruby-roda.
(address . 50537@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210912030532.7439-19-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-roda): New variable.
---
gnu/packages/ruby.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (31 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 79aff0a775..c2da3bb168 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13003,3 +13003,24 @@ published rates from open-exchange-rates.  Compatible with the money gem.")
     (home-page
       "https://github.com/spk/money-open-exchange-rates")
     (license license:expat)))
+
+(define-public ruby-roda
+  (package
+    (name "ruby-roda")
+    (version "3.47.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "roda" version))
+        (sha256
+          (base32
+            "1g3zs4bk8hqii15ci1hsykcsya88vr2qv63gp1qbcx4bm14l8lkl"))))
+    (build-system ruby-build-system)
+    (arguments
+     ;; No rakefile
+     `(#:tests? #f))
+    (propagated-inputs `(("ruby-rack" ,ruby-rack)))
+    (synopsis "Routing tree web toolkit")
+    (description "Routing tree web toolkit")
+    (home-page "http://roda.jeremyevans.net")
+    (license license:expat)))
-- 
2.20.1
S
S
Stephen Paul Weber wrote on 12 Sep 2021 05:05
[PATCH 22/27] gnu: Add ruby-bandwidth-iris.
(address . 50537@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210912030532.7439-22-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-bandwidth-iris): New variable.
---
gnu/packages/ruby.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

Toggle diff (43 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index f7a5344c35..37e09d22e8 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13071,3 +13071,36 @@ published rates from open-exchange-rates.  Compatible with the money gem.")
     (home-page
       "https://github.com/lostisland/faraday_middleware")
     (license license:expat)))
+
+(define-public ruby-bandwidth-iris
+  (package
+    (name "ruby-bandwidth-iris")
+    (version "4.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "ruby-bandwidth-iris" version))
+        (sha256
+          (base32
+            "16bbx6y0ni3jl190ddr6xfbi2rbcikqfm2ghzr53445fpk6g12zc"))))
+    (build-system ruby-build-system)
+    (arguments
+     ; Tests don't require helper for some reason, so all fail...
+     '(#:tests? #f))
+    (propagated-inputs
+      `(("ruby-activesupport" ,ruby-activesupport)
+        ("ruby-builder" ,ruby-builder)
+        ("ruby-faraday" ,ruby-faraday)
+        ("ruby-faraday-middleware"
+         ,ruby-faraday-middleware)
+        ("ruby-nori" ,ruby-nori)))
+    (native-inputs
+     `(("ruby-rspec" ,ruby-rspec)
+       ("ruby-yard" ,ruby-yard)))
+    (synopsis
+      "Gem for integrating to Bandwidth's Iris API")
+    (description
+      "Gem for integrating to Bandwidth's Iris API")
+    (home-page
+      "https://github.com/Bandwidth/ruby-bandwidth-iris")
+    (license license:expat)))
-- 
2.20.1
S
S
Stephen Paul Weber wrote on 12 Sep 2021 05:05
[PATCH 20/27] gnu: Add ruby-nori.
(address . 50537@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210912030532.7439-20-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-nori): New variable.
---
gnu/packages/ruby.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index c2da3bb168..92146f5fcf 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13024,3 +13024,27 @@ published rates from open-exchange-rates.  Compatible with the money gem.")
     (description "Routing tree web toolkit")
     (home-page "http://roda.jeremyevans.net")
     (license license:expat)))
+
+(define-public ruby-nori
+  (package
+    (name "ruby-nori")
+    (version "2.6.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "nori" version))
+        (sha256
+          (base32
+            "066wc774a2zp4vrq3k7k8p0fhv30ymqmxma1jj7yg5735zls8agn"))))
+    (build-system ruby-build-system)
+    (arguments
+     ;; Tests require too old version of rspec
+     `(#:tests? #f))
+    (native-inputs
+     `(("ruby-rspec" ,ruby-rspec)
+       ("ruby-rake" ,ruby-rake)
+       ("ruby-nokogiri" ,ruby-nokogiri)))
+    (synopsis "XML to Hash translator")
+    (description "XML to Hash translator")
+    (home-page "https://github.com/savonrb/nori")
+    (license license:expat)))
-- 
2.20.1
S
S
Stephen Paul Weber wrote on 12 Sep 2021 05:05
[PATCH 21/27] gnu: Add ruby-faraday-middleware.
(address . 50537@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210912030532.7439-21-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-faraday-middleware): New variable.
---
gnu/packages/ruby.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 92146f5fcf..f7a5344c35 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13048,3 +13048,26 @@ published rates from open-exchange-rates.  Compatible with the money gem.")
     (description "XML to Hash translator")
     (home-page "https://github.com/savonrb/nori")
     (license license:expat)))
+
+(define-public ruby-faraday-middleware
+  (package
+    (name "ruby-faraday-middleware")
+    (version "1.1.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "faraday_middleware" version))
+        (sha256
+          (base32
+            "0kgcphf7n74l3wlcvxafcp6a4l18b1bf4qslvz5dqj6v3gc8h8j4"))))
+    (build-system ruby-build-system)
+    (arguments
+     ;; No rakefile
+     `(#:tests? #f))
+    (propagated-inputs
+      `(("ruby-faraday" ,ruby-faraday)))
+    (synopsis "Various middleware for Faraday")
+    (description "Various middleware for Faraday")
+    (home-page
+      "https://github.com/lostisland/faraday_middleware")
+    (license license:expat)))
-- 
2.20.1
S
S
Stephen Paul Weber wrote on 12 Sep 2021 05:05
[PATCH 23/27] gnu: Add ruby-sentry-core
(address . 50537@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210912030532.7439-23-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-sentry-core): New variable.
---
gnu/packages/ruby.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 37e09d22e8..778cd04e8a 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13104,3 +13104,30 @@ published rates from open-exchange-rates.  Compatible with the money gem.")
     (home-page
       "https://github.com/Bandwidth/ruby-bandwidth-iris")
     (license license:expat)))
+
+(define-public ruby-sentry-core
+  (package
+    (name "ruby-sentry-core")
+    (version "4.3.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "sentry-ruby-core" version))
+        (sha256
+          (base32
+            "13z35s9mflh3v775a0scsnqhscz9q46kaak38y7zmx32z7sg2a3a"))))
+    (build-system ruby-build-system)
+    (arguments
+     ; No rakefile in gem
+     '(#:tests? #f))
+    (propagated-inputs
+      `(("ruby-concurrent" ,ruby-concurrent)
+        ("ruby-faraday" ,ruby-faraday)))
+    (synopsis
+      "Client interface for the Sentry error logger (core)")
+    (description
+      "This package provides a gem that provides a client interface for the
+Sentry error logger")
+    (home-page
+      "https://github.com/getsentry/sentry-ruby")
+    (license license:expat)))
-- 
2.20.1
S
S
Stephen Paul Weber wrote on 12 Sep 2021 05:05
[PATCH 24/27] gnu: Add ruby-sentry.
(address . 50537@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210912030532.7439-24-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-sentry): New variable.
---
gnu/packages/ruby.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 778cd04e8a..b1c4a156a2 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13131,3 +13131,31 @@ Sentry error logger")
     (home-page
       "https://github.com/getsentry/sentry-ruby")
     (license license:expat)))
+
+(define-public ruby-sentry
+  (package
+    (name "ruby-sentry")
+    (version "4.3.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "sentry-ruby" version))
+        (sha256
+          (base32
+            "101q3141xfkmh7vi8h4sjqqmxcx90xhyq51lmfnhfiwgii7cn9k8"))))
+    (build-system ruby-build-system)
+    (arguments
+     ; No rakefile in gem
+     '(#:tests? #f))
+    (propagated-inputs
+      `(("ruby-concurrent" ,ruby-concurrent)
+        ("ruby-faraday" ,ruby-faraday)
+        ("ruby-sentry-core" ,ruby-sentry-core)))
+    (synopsis
+      "Client interface for the Sentry error logger")
+    (description
+      "This package provides a gem that provides a client interface for the
+Sentry error logger")
+    (home-page
+      "https://github.com/getsentry/sentry-ruby")
+    (license license:expat)))
-- 
2.20.1
S
S
Stephen Paul Weber wrote on 12 Sep 2021 05:05
[PATCH 26/27] gnu: Add ruby-interception.
(address . 50537@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210912030532.7439-26-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-interception): New variable.
---
gnu/packages/ruby.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index f20b2d4409..2a13e139e8 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13179,3 +13179,26 @@ Sentry error logger")
 HTTPS server, a proxy server, and a virtual-host server.")
     (home-page "https://github.com/ruby/webrick")
     (license license:bsd-2)))
+
+(define-public ruby-interception
+  (package
+    (name "ruby-interception")
+    (version "0.5")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "interception" version))
+        (sha256
+          (base32
+            "01vrkn28psdx1ysh5js3hn17nfp1nvvv46wc1pwqsakm6vb1hf55"))))
+    (build-system ruby-build-system)
+    (native-inputs
+     `(("ruby-rspec" ,ruby-rspec)))
+    (synopsis
+      "Provides a cross-platform ability to intercept all exceptions")
+    (description
+      "This package provides a cross-platform ability to intercept all
+exceptions as they are raised.")
+    (home-page
+      "https://github.com/ConradIrwin/interception")
+    (license license:expat)))
-- 
2.20.1
S
S
Stephen Paul Weber wrote on 12 Sep 2021 05:05
[PATCH 25/27] gnu: Add ruby-webrick.
(address . 50537@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210912030532.7439-25-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-webrick): New variable.
---
gnu/packages/ruby.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (30 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index b1c4a156a2..f20b2d4409 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13159,3 +13159,23 @@ Sentry error logger")
     (home-page
       "https://github.com/getsentry/sentry-ruby")
     (license license:expat)))
+
+(define-public ruby-webrick
+  (package
+    (name "ruby-webrick")
+    (version "1.7.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "webrick" version))
+        (sha256
+          (base32
+            "1d4cvgmxhfczxiq5fr534lmizkhigd15bsx5719r5ds7k7ivisc7"))))
+    (build-system ruby-build-system)
+    (synopsis
+      "WEBrick is an HTTP server toolkit")
+    (description
+      "WEBrick is an HTTP server toolkit that can be configured as an
+HTTPS server, a proxy server, and a virtual-host server.")
+    (home-page "https://github.com/ruby/webrick")
+    (license license:bsd-2)))
-- 
2.20.1
S
S
Stephen Paul Weber wrote on 12 Sep 2021 05:05
[PATCH 27/27] gnu: Add ruby-pry-rescue.
(address . 50537@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210912030532.7439-27-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-pry-rescue): New variable.
---
gnu/packages/ruby.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)

Toggle diff (45 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 2a13e139e8..bfbcd88272 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13202,3 +13202,38 @@ exceptions as they are raised.")
     (home-page
       "https://github.com/ConradIrwin/interception")
     (license license:expat)))
+
+(define-public ruby-pry-rescue
+  (package
+    (name "ruby-pry-rescue")
+    (version "1.5.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "pry-rescue" version))
+        (sha256
+          (base32
+            "1wn72y8y3d3g0ng350ld92nyjln012432q2z2iy9lhwzjc4dwi65"))))
+    (build-system ruby-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'nuke-bad-test
+           (lambda _
+             (substitute* "spec/source_location_spec.rb"
+               (("time = Time.now") "skip"))
+             #t)))))
+    (propagated-inputs
+      `(("ruby-interception" ,ruby-interception)
+        ("ruby-pry" ,ruby-pry)))
+    (native-inputs
+     `(("ruby-rspec" ,ruby-rspec)
+       ("ruby-pry-stack-explorer" ,ruby-pry-stack-explorer)))
+    (synopsis
+      "Allows you to wrap code to open a pry session at any unhandled exceptions")
+    (description
+      "Allows you to wrap code in Pry::rescue{ } to open a pry session at any
+unhandled exceptions")
+    (home-page
+      "https://github.com/ConradIrwin/pry-rescue")
+    (license license:expat)))
-- 
2.20.1
S
S
Stephen Paul Weber wrote on 12 Sep 2021 05:05
[PATCH 03/27] gnu: Add ruby-countdownlatch.
(address . 50537@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20210912030532.7439-3-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-countdownlatch): New variable.
---
gnu/packages/ruby.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (32 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 1eb6a0fb82..0b5aed4b37 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12554,3 +12554,25 @@ management, status tracking and reporting.")
     (home-page
       "https://github.com/benlangfeld/Niceogiri")
     (license license:expat)))
+
+(define-public ruby-countdownlatch
+  (package
+    (name "ruby-countdownlatch")
+    (version "1.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "countdownlatch" version))
+        (sha256
+          (base32
+            "1v6pbay6z07fp7yvnba1hmyacbicvmjndd8rn2h1b5rmpcb5s0j3"))))
+    (build-system ruby-build-system)
+    (synopsis
+      "Synchronization aid allowing threads to wait for operations in other threads")
+    (description
+      "This package provides a synchronization aid that allows one or more
+threads to wait until a set of operations being performed in other threads
+completes")
+    (home-page
+      "https://github.com/benlangfeld/countdownlatch")
+    (license license:expat)))
-- 
2.20.1
R
R
Raghav Gururajan wrote on 27 Apr 18:12 +0200
Re: [PATCH] Add several new ruby gems to Guix
(address . 50537@debbugs.gnu.org)(address . singpolyma@singpolyma.net)
ea7af51a-a65f-8086-d179-dd87d9650dd8@raghavgururajan.name
Hi Stephen,
As mentioned over XMPP, could you please send us the re-formatted
patches (based-off of current master)? I'll check and merge, with slight
modifications if required.
Sorry for the long wait and thanks for the patience. :)
Regards,
RG.
Attachment: OpenPGP_signature
J
(name . Raghav Gururajan)(address . rg@raghavgururajan.name)
20220427133726.GB32202@gac.attlocal.net
On Wed, 27 Apr 2022 12:12:01 -0400 Raghav Gururajan <rg@raghavgururajan.name> wrote:
Toggle quote (8 lines)
> Hi Stephen,
>
> As mentioned over XMPP, could you please send us the re-formatted
> patches (based-off of current master)? I'll check and merge, with slight
> modifications if required.
>
> Sorry for the long wait and thanks for the patience. :)

Yay! Thanks Raghav for taking the time to review this.

It's much appreciated!!

all best,

jgart
S
S
Stephen Paul Weber wrote on 27 Apr 20:46 +0200
[PATCH v2 02/27] gnu: Add ruby-niceogiri.
(address . 50537@debbugs.gnu.org)
20220427184633.94169-2-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-niceogiri): New variable.
---
gnu/packages/ruby.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)

Toggle diff (44 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 50d6f86943..6547a2d35d 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12249,3 +12249,37 @@ floating-point numbers or complex numbers as arguments.")
     (home-page
       "https://github.com/brandonhilkert/sucker_punch")
     (license license:expat)))
+
+(define-public ruby-niceogiri
+  (package
+    (name "ruby-niceogiri")
+    (version "1.1.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "niceogiri" version))
+        (sha256
+          (base32
+            "1ha93211bc9cvh23s9w89zz7rq8irpf64ccd9arvg8v1sxg2798a"))))
+    (build-system ruby-build-system)
+    (arguments
+     `(#:test-target "spec"
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'extract-gemspec 'less-strict-dependencies
+           (lambda _
+             (substitute* "niceogiri.gemspec"
+               (("2.7") "3.8")
+               ((".*guard-rspec.*") "\n"))
+             #t)))))
+    (propagated-inputs
+      `(("ruby-nokogiri" ,ruby-nokogiri)))
+    (native-inputs
+     `(("ruby-rspec" ,ruby-rspec)
+       ("ruby-yard" ,ruby-yard)))
+    (synopsis "Make dealing with XML less painful")
+    (description
+      "Make dealing with XML less painful")
+    (home-page
+      "https://github.com/benlangfeld/Niceogiri")
+    (license license:expat)))
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 27 Apr 20:46 +0200
[PATCH v2 01/27] gnu: Add ruby-sucker-punch
(address . 50537@debbugs.gnu.org)
20220427184633.94169-1-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-sucker-punch): New variable.
---
gnu/packages/ruby.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index acccc4d4c4..50d6f86943 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12217,3 +12217,35 @@ functions for complex numbers.  The functions in this module accept integers,
 floating-point numbers or complex numbers as arguments.")
     (home-page "https://github.com/ruby/cmath")
     (license license:bsd-2)))
+
+(define-public ruby-sucker-punch
+  (package
+    (name "ruby-sucker-punch")
+    (version "2.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "sucker_punch" version))
+        (sha256
+          (base32
+            "008vv7gpv2nm5n1njzvabd3aagbywc240y23vifvq6plir53ybay"))))
+    (build-system ruby-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'extract-gemspec 'less-strict-dependencies
+           (lambda _
+             (substitute* "sucker_punch.gemspec"
+               (("1.0.0") "1.0"))
+             #t)))))
+    (propagated-inputs
+      `(("ruby-concurrent" ,ruby-concurrent)))
+    (native-inputs
+     `(("ruby-pry" ,ruby-pry)))
+    (synopsis
+      "Asynchronous processing library for Ruby")
+    (description
+      "Asynchronous processing library for Ruby")
+    (home-page
+      "https://github.com/brandonhilkert/sucker_punch")
+    (license license:expat)))
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 27 Apr 20:46 +0200
[PATCH v2 04/27] gnu: Add ruby-blather.
(address . 50537@debbugs.gnu.org)
20220427184633.94169-4-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-blather): New variable.
---
gnu/packages/ruby.scm | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)

Toggle diff (50 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 70f3477ccb..34d5a22908 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12305,3 +12305,43 @@ completes")
     (home-page
       "https://github.com/benlangfeld/countdownlatch")
     (license license:expat)))
+
+(define-public ruby-blather
+  (package
+    (name "ruby-blather")
+    (version "2.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "blather" version))
+        (sha256
+          (base32
+            "05ry2x835fj4pzk61282pcz86n018cr39zbgwbi213md74i90s7c"))))
+    (build-system ruby-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'extract-gemspec 'less-strict-dependencies
+           (lambda _
+             (substitute* "blather.gemspec"
+               ((".*guard-rspec.*") "\n")
+                ((".*bluecloth.*") "\n"))
+             #t)))))
+    (propagated-inputs
+      `(("ruby-activesupport" ,ruby-activesupport)
+        ("ruby-eventmachine" ,ruby-eventmachine)
+        ("ruby-niceogiri" ,ruby-niceogiri)
+        ("ruby-nokogiri" ,ruby-nokogiri)
+        ("ruby-sucker-punch" ,ruby-sucker-punch)))
+    (native-inputs
+     `(("ruby-rspec" ,ruby-rspec)
+       ("ruby-yard" ,ruby-yard)
+       ("ruby-countdownlatch" ,ruby-countdownlatch)
+       ("ruby-rb-fsevent" ,ruby-rb-fsevent)
+       ("ruby-mocha" ,ruby-mocha)))
+    (synopsis
+      "XMPP DSL for Ruby written on top of EventMachine and Nokogiri")
+    (description
+      "XMPP DSL for Ruby written on top of EventMachine and Nokogiri")
+    (home-page "https://github.com/adhearsion/blather")
+    (license license:expat)))
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 27 Apr 20:46 +0200
[PATCH v2 06/27] gnu: Add ruby-value-semantics.
(address . 50537@debbugs.gnu.org)
20220427184633.94169-6-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-value-semantics): New variable.
---
gnu/packages/ruby.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index f9edb4ac3f..9b4e8c5311 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12391,3 +12391,35 @@ completes")
 payments platform.")
     (home-page "https://www.braintreepayments.com/")
     (license license:expat)))
+
+(define-public ruby-value-semantics
+  (package
+    (name "ruby-value-semantics")
+    (version "3.6.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "value_semantics" version))
+        (sha256
+          (base32
+            "1vdwai8wf6r1fkvdpyz1vzxm89q7ghjvb3pqpg2kvwibwzd99dnx"))))
+    (build-system ruby-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda _
+             (invoke "rspec")
+             #t)))))
+    (native-inputs
+     `(("ruby-rspec" ,ruby-rspec)))
+    (synopsis
+      "Modules that provide conventional value semantics for a set of attributes")
+    (description
+      "Generates modules that provide conventional value semantics for a given
+set of attributes.
+The behaviour is similar to an immutable `Struct` class,
+plus extensible, lightweight validation and coercion.")
+    (home-page
+      "https://github.com/tomdalling/value_semantics")
+    (license license:expat)))
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 27 Apr 20:46 +0200
[PATCH v2 07/27] gnu: Add ruby-promise.rb.
(address . 50537@debbugs.gnu.org)
20220427184633.94169-7-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-promise.rb): New variable.
---
gnu/packages/ruby.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

Toggle diff (43 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 9b4e8c5311..691317559e 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12423,3 +12423,36 @@ plus extensible, lightweight validation and coercion.")
     (home-page
       "https://github.com/tomdalling/value_semantics")
     (license license:expat)))
+
+(define-public ruby-promise.rb
+  (package
+    (name "ruby-promise.rb")
+    (version "0.7.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "promise.rb" version))
+        (sha256
+          (base32
+            "0a819sikcqvhi8hck1y10d1nv2qkjvmmm553626fmrh51h2i089d"))))
+    (build-system ruby-build-system)
+    (arguments
+     `(#:test-target "spec"
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'extract-gemspec 'less-strict-dependencies
+           (lambda _
+             (substitute* "Rakefile"
+               (("if Gem.ruby_version.*") "if false\n"))
+             (substitute* "spec/spec_helper.rb"
+               ((".*devtools/spec_helper.*") "\n"))
+             #t)))))
+    (native-inputs
+     `(("ruby-rspec" ,ruby-rspec)
+       ("ruby-rspec-its" ,ruby-rspec-its)
+       ("ruby-awesome-print" ,ruby-awesome-print)
+       ("ruby-fuubar" ,ruby-fuubar)))
+    (synopsis "Promises/A+ for Ruby")
+    (description "Promises/A+ for Ruby")
+    (home-page "https://github.com/lgierth/promise.rb")
+    (license license:unlicense)))
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 27 Apr 20:46 +0200
[PATCH v2 03/27] gnu: Add ruby-countdownlatch.
(address . 50537@debbugs.gnu.org)
20220427184633.94169-3-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-countdownlatch): New variable.
---
gnu/packages/ruby.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (32 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 6547a2d35d..70f3477ccb 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12283,3 +12283,25 @@ floating-point numbers or complex numbers as arguments.")
     (home-page
       "https://github.com/benlangfeld/Niceogiri")
     (license license:expat)))
+
+(define-public ruby-countdownlatch
+  (package
+    (name "ruby-countdownlatch")
+    (version "1.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "countdownlatch" version))
+        (sha256
+          (base32
+            "1v6pbay6z07fp7yvnba1hmyacbicvmjndd8rn2h1b5rmpcb5s0j3"))))
+    (build-system ruby-build-system)
+    (synopsis
+      "Synchronization aid allowing threads to wait for operations in other threads")
+    (description
+      "This package provides a synchronization aid that allows one or more
+threads to wait until a set of operations being performed in other threads
+completes")
+    (home-page
+      "https://github.com/benlangfeld/countdownlatch")
+    (license license:expat)))
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 27 Apr 20:46 +0200
[PATCH v2 05/27] gnu: Add ruby-braintree.
(address . 50537@debbugs.gnu.org)
20220427184633.94169-5-singpolyma@singpolyma.net
* gnu/pacakges/ruby.scm (ruby-braintree): New variable.
---
gnu/packages/ruby.scm | 46 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)

Toggle diff (56 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 34d5a22908..f9edb4ac3f 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12345,3 +12345,49 @@ completes")
       "XMPP DSL for Ruby written on top of EventMachine and Nokogiri")
     (home-page "https://github.com/adhearsion/blather")
     (license license:expat)))
+
+(define-public ruby-braintree
+  (package
+    (name "ruby-braintree")
+    (version "4.4.0")
+    (source
+     (origin
+       (method git-fetch)
+       ;; Download from GitHub because the rubygems version does not contain
+       ;; Rakefile.
+       (uri (git-reference
+             (url "https://github.com/braintree/braintree_ruby")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0dzf26yhmlf65464nranvqg5rzhrc8gfaqbg3p4ld3abz8ccnw08"))))
+    (build-system ruby-build-system)
+    (arguments
+     `(#:test-target "test:unit"
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'less-strict-dependencies
+           (lambda _
+             (substitute* "Gemfile"
+               (("gem \"libxml-ruby\", \"3.2.0\"") "gem \"libxml-ruby\", \"~> 3.0.0\"")
+               (("gem \"rspec\", \"3.9.0\"") "gem \"rspec\", \"~> 3.8.0\"")
+               (("gem \"rubocop\", \"~>1.12.0\"") "gem \"rubocop\", \"~> 1.10.0\""))
+             #t)))))
+    (propagated-inputs
+      `(("ruby-builder" ,ruby-builder)
+        ("ruby-rexml" ,ruby-rexml)))
+    (native-inputs
+     `(("ruby-rspec" ,ruby-rspec)
+       ("ruby-libxml" ,ruby-libxml)
+       ("ruby-pry" ,ruby-pry)
+       ("ruby-rake" ,ruby-rake)
+       ("ruby-webrick" ,ruby-webrick)
+       ("ruby-rubocop" ,ruby-rubocop)))
+    (synopsis
+      "Resources and tools integrating Braintree's global payments platform")
+    (description
+      "Resources and tools for developers to integrate Braintree's global
+payments platform.")
+    (home-page "https://www.braintreepayments.com/")
+    (license license:expat)))
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 27 Apr 20:46 +0200
[PATCH v2 08/27] gnu: Add ruby-multicodecs.
(address . 50537@debbugs.gnu.org)
20220427184633.94169-8-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-multicodecs): New variable.
---
gnu/packages/ruby.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (31 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 691317559e..790bce9724 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12456,3 +12456,24 @@ plus extensible, lightweight validation and coercion.")
     (description "Promises/A+ for Ruby")
     (home-page "https://github.com/lgierth/promise.rb")
     (license license:unlicense)))
+
+(define-public ruby-multicodecs
+  (package
+    (name "ruby-multicodecs")
+    (version "0.2.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "multicodecs" version))
+        (sha256
+          (base32
+            "0drq267di57l9zqw6zvqqimilz42rbc8z7392dwkk8wslq30s7v8"))))
+    (build-system ruby-build-system)
+    (synopsis
+      "PORO of the multicodec table for use with other multiformat ruby gems")
+    (description
+      "This gem provides a PORO of the multicodec table for use with other
+    multiformat ruby gems.")
+    (home-page
+      "https://github.com/SleeplessByte/ruby-multicodec")
+    (license license:expat)))
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 27 Apr 20:46 +0200
[PATCH v2 09/27] gnu: Add ruby-multihashes.
(address . 50537@debbugs.gnu.org)
20220427184633.94169-9-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-multihashes): New variable.
---
gnu/packages/ruby.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 790bce9724..66409b91cb 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12477,3 +12477,26 @@ plus extensible, lightweight validation and coercion.")
     (home-page
       "https://github.com/SleeplessByte/ruby-multicodec")
     (license license:expat)))
+
+(define-public ruby-multihashes
+  (package
+    (name "ruby-multihashes")
+    (version "0.2.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "multihashes" version))
+        (sha256
+          (base32
+            "17wiyy3fiv8rpgdv9ca01yncsmaaf8yg15bg18wc7m9frss1vgqg"))))
+    (build-system ruby-build-system)
+    (propagated-inputs
+      `(("ruby-multicodecs" ,ruby-multicodecs)))
+    (synopsis
+      "Simple, low-level multihash implementation for ruby")
+    (description
+      "This package provides a simple, low-level multihash
+(https://github.com/jbenet/multihash) implementation for ruby.")
+    (home-page
+      "https://github.com/multiformats/ruby-multihash")
+    (license license:expat)))
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 27 Apr 20:46 +0200
[PATCH v2 10/27] gnu: Add ruby-lazy-object.
(address . 50537@debbugs.gnu.org)
20220427184633.94169-10-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-lazy-object): New variable.
---
gnu/packages/ruby.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (32 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 66409b91cb..bf364102ba 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12500,3 +12500,25 @@ plus extensible, lightweight validation and coercion.")
     (home-page
       "https://github.com/multiformats/ruby-multihash")
     (license license:expat)))
+
+(define-public ruby-lazy-object
+  (package
+    (name "ruby-lazy-object")
+    (version "0.0.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "lazy_object" version))
+        (sha256
+          (base32
+            "08px15lahc28ik9smvw1hgamf792gd6gq0s4k94yq1h7jq25wjn8"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:test-target "spec"))
+    (synopsis
+      "Object wrapper that forwards all calls to the reference object")
+    (description
+      "It's an object wrapper that forwards all calls to the reference object.
+This object is not created until the first method dispatch.")
+    (home-page "https://github.com/HornsAndHooves/lazy_object")
+    (license license:expat)))
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 27 Apr 20:46 +0200
[PATCH v2 11/27] gnu: Add ruby-citrus.
(address . 50537@debbugs.gnu.org)
20220427184633.94169-11-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-citrus): New variable.
---
gnu/packages/ruby.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (32 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index bf364102ba..55679c5703 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12522,3 +12522,25 @@ plus extensible, lightweight validation and coercion.")
 This object is not created until the first method dispatch.")
     (home-page "https://github.com/HornsAndHooves/lazy_object")
     (license license:expat)))
+
+(define-public ruby-citrus
+  (package
+    (name "ruby-citrus")
+    (version "3.0.2")
+    (source
+     (origin
+       (method git-fetch)
+       ;; Download from GitHub because the rubygems version does not contain
+       ;; files needed for tests
+       (uri (git-reference
+             (url "https://github.com/mjackson/citrus")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "197wrgqrddgm1xs3yvjvd8vkvil4h4mdrcp16jmd4b57rxrrr769"))))
+    (build-system ruby-build-system)
+    (synopsis "Parsing Expressions for Ruby")
+    (description "Parsing Expressions for Ruby")
+    (home-page "http://mjackson.github.io/citrus/")
+    (license license:expat)))
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 27 Apr 20:46 +0200
[PATCH v2 12/27] gnu: Add ruby-cbor.
(address . 50537@debbugs.gnu.org)
20220427184633.94169-12-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-cbor): New variable.
---
gnu/packages/ruby.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 55679c5703..2f2c623a99 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12544,3 +12544,29 @@ This object is not created until the first method dispatch.")
     (description "Parsing Expressions for Ruby")
     (home-page "http://mjackson.github.io/citrus/")
     (license license:expat)))
+
+(define-public ruby-cbor
+  (package
+    (name "ruby-cbor")
+    (version "0.5.9.6")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "cbor" version))
+        (sha256
+          (base32
+            "0511idr8xps9625nh3kxr68sdy6l3xy2kcz7r57g47fxb1v18jj3"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:test-target "spec"))
+    (native-inputs
+     `(("ruby-rspec" ,ruby-rspec)
+       ("ruby-rake-compiler" ,ruby-rake-compiler)
+       ("ruby-yard" ,ruby-yard)))
+    (synopsis
+      "Ruby library for CBOR binary object representation format")
+    (description
+      "CBOR is a library for the CBOR binary object representation format,
+based on Sadayuki Furuhashi's MessagePack library.")
+    (home-page "http://cbor.io/")
+    (license license:asl2.0)))
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 27 Apr 20:46 +0200
[PATCH v2 16/27] gnu: Add ruby-money.
(address . 50537@debbugs.gnu.org)
20220427184633.94169-16-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-money): New variable.
---
gnu/packages/ruby.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 3c4d62dd3c..603ca69edc 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12647,3 +12647,27 @@ For more information, see: https://dhall-lang.org")
     (home-page
       "https://git.sr.ht/~singpolyma/dhall-ruby")
     (license license:gpl3)))
+
+(define-public ruby-money
+  (package
+    (name "ruby-money")
+    (version "6.16.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "money" version))
+        (sha256
+          (base32
+            "0jkmsj5ymadik7bvl670bqwmvhsdyv7hjr8gq9z293hq35gnyiyg"))))
+    (build-system ruby-build-system)
+    (arguments
+     ;; No rakefile
+     `(#:tests? #f))
+    (propagated-inputs `(("ruby-i18n" ,ruby-i18n)))
+    (synopsis
+      "Ruby Library for dealing with money and currency conversion")
+    (description
+      "This package provides a Ruby Library for dealing with money and
+currency conversion.")
+    (home-page "https://rubymoney.github.io/money/")
+    (license license:expat)))
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 27 Apr 20:46 +0200
[PATCH v2 18/27] gnu: Add ruby-money-open-exchange-rates.
(address . 50537@debbugs.gnu.org)
20220427184633.94169-18-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-money-open-exchange-rates): New variable.
---
gnu/packages/ruby.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)

Toggle diff (45 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 0d9214bae1..100f9fd1ad 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12697,3 +12697,38 @@ Money objects.")
     (home-page
       "https://github.com/RubyMoney/monetize")
     (license license:expat)))
+
+(define-public ruby-money-open-exchange-rates
+  (package
+    (name "ruby-money-open-exchange-rates")
+    (version "1.4.0")
+    (source
+     (origin
+       (method git-fetch)
+       ;; Download from GitHub because the rubygems version does not contain
+       ;; Rakefile.
+       (uri (git-reference
+             (url "https://github.com/spk/money-open-exchange-rates")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "11xwqli8snr19k48yh8h77sal5vxd4snzq9gxg08v61f0574m3gw"))))
+    (build-system ruby-build-system)
+    (propagated-inputs `(("ruby-money" ,ruby-money)))
+    (native-inputs
+     `(("ruby-minitest" ,ruby-minitest)
+       ("ruby-mocha" ,ruby-mocha)
+       ("ruby-timecop" ,ruby-timecop)
+       ("ruby-webmock" ,ruby-webmock)
+       ("ruby-monetize" ,ruby-monetize)
+       ("ruby-rake" ,ruby-rake)
+       ("ruby-rubocop" ,ruby-rubocop)))
+    (synopsis
+      "Calculates the exchange rate using published rates from open-exchange-rates")
+    (description
+      "This package provides a gem that calculates the exchange rate using
+published rates from open-exchange-rates.  Compatible with the money gem.")
+    (home-page
+      "https://github.com/spk/money-open-exchange-rates")
+    (license license:expat)))
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 27 Apr 20:46 +0200
[PATCH v2 17/27] gnu: Add ruby-monetize.
(address . 50537@debbugs.gnu.org)
20220427184633.94169-17-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-monetize): New variable.
---
gnu/packages/ruby.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 603ca69edc..0d9214bae1 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12671,3 +12671,29 @@ For more information, see: https://dhall-lang.org")
 currency conversion.")
     (home-page "https://rubymoney.github.io/money/")
     (license license:expat)))
+
+(define-public ruby-monetize
+  (package
+    (name "ruby-monetize")
+    (version "1.11.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "monetize" version))
+        (sha256
+          (base32
+            "0cna2myxdbwfq0gn6k2hgrh368dq7wld3jklm96443ysykd0difn"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:test-target "spec"))
+    (native-inputs
+     `(("ruby-rspec" ,ruby-rspec)))
+    (propagated-inputs `(("ruby-money" ,ruby-money)))
+    (synopsis
+      "Convert various objects into Money objects")
+    (description
+      "This package provides a library for converting various objects into
+Money objects.")
+    (home-page
+      "https://github.com/RubyMoney/monetize")
+    (license license:expat)))
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 27 Apr 20:46 +0200
[PATCH v2 19/27] gnu: Add ruby-roda.
(address . 50537@debbugs.gnu.org)
20220427184633.94169-19-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-roda): New variable.
---
gnu/packages/ruby.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (31 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 100f9fd1ad..d734da56e0 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12732,3 +12732,24 @@ published rates from open-exchange-rates.  Compatible with the money gem.")
     (home-page
       "https://github.com/spk/money-open-exchange-rates")
     (license license:expat)))
+
+(define-public ruby-roda
+  (package
+    (name "ruby-roda")
+    (version "3.47.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "roda" version))
+        (sha256
+          (base32
+            "1g3zs4bk8hqii15ci1hsykcsya88vr2qv63gp1qbcx4bm14l8lkl"))))
+    (build-system ruby-build-system)
+    (arguments
+     ;; No rakefile
+     `(#:tests? #f))
+    (propagated-inputs `(("ruby-rack" ,ruby-rack)))
+    (synopsis "Routing tree web toolkit")
+    (description "Routing tree web toolkit")
+    (home-page "http://roda.jeremyevans.net")
+    (license license:expat)))
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 27 Apr 20:46 +0200
[PATCH v2 15/27] gnu: Add ruby-dhall.
(address . 50537@debbugs.gnu.org)
20220427184633.94169-15-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-dhall): New variable.
---
gnu/packages/ruby.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

Toggle diff (43 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index e3330d54eb..3c4d62dd3c 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12614,3 +12614,36 @@ based on Sadayuki Furuhashi's MessagePack library.")
       "Ruby extension for base32 encoding and decoding")
     (home-page "https://github.com/stesla/base32")
     (license license:expat)))
+
+(define-public ruby-dhall
+  (package
+    (name "ruby-dhall")
+    (version "0.5.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "dhall" version))
+        (sha256
+          (base32
+            "09wcq8xc1ynld04r2f332bx8cn7rjc4afaq8hm1dr2fc35jlpn6m"))))
+    (build-system ruby-build-system)
+    (arguments
+     ;; No test in gem archive
+     `(#:tests? #f))
+    (propagated-inputs
+      `(("ruby-base32" ,ruby-base32)
+        ("ruby-cbor" ,ruby-cbor)
+        ("ruby-citrus" ,ruby-citrus)
+        ("ruby-lazy-object" ,ruby-lazy-object)
+        ("ruby-multihashes" ,ruby-multihashes)
+        ("ruby-promise.rb" ,ruby-promise.rb)
+        ("ruby-value-semantics" ,ruby-value-semantics)))
+    (synopsis
+      "This is a Ruby implementation of the Dhall configuration language")
+    (description
+      "This is a Ruby implementation of the Dhall configuration language.
+Dhall is a powerful, but safe and non-Turing-complete configuration language.
+For more information, see: https://dhall-lang.org")
+    (home-page
+      "https://git.sr.ht/~singpolyma/dhall-ruby")
+    (license license:gpl3)))
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 27 Apr 20:46 +0200
[PATCH v2 21/27] gnu: Add ruby-faraday-middleware.
(address . 50537@debbugs.gnu.org)
20220427184633.94169-21-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-faraday-middleware): New variable.
---
gnu/packages/ruby.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 62f2bbb97f..d9cbd84e66 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12777,3 +12777,26 @@ published rates from open-exchange-rates.  Compatible with the money gem.")
     (description "XML to Hash translator")
     (home-page "https://github.com/savonrb/nori")
     (license license:expat)))
+
+(define-public ruby-faraday-middleware
+  (package
+    (name "ruby-faraday-middleware")
+    (version "1.1.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "faraday_middleware" version))
+        (sha256
+          (base32
+            "0kgcphf7n74l3wlcvxafcp6a4l18b1bf4qslvz5dqj6v3gc8h8j4"))))
+    (build-system ruby-build-system)
+    (arguments
+     ;; No rakefile
+     `(#:tests? #f))
+    (propagated-inputs
+      `(("ruby-faraday" ,ruby-faraday)))
+    (synopsis "Various middleware for Faraday")
+    (description "Various middleware for Faraday")
+    (home-page
+      "https://github.com/lostisland/faraday_middleware")
+    (license license:expat)))
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 27 Apr 20:46 +0200
[PATCH v2 23/27] gnu: Add ruby-sentry-core
(address . 50537@debbugs.gnu.org)
20220427184633.94169-23-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-sentry-core): New variable.
---
gnu/packages/ruby.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 3a67480e33..aecf5499d2 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12833,3 +12833,30 @@ published rates from open-exchange-rates.  Compatible with the money gem.")
     (home-page
       "https://github.com/Bandwidth/ruby-bandwidth-iris")
     (license license:expat)))
+
+(define-public ruby-sentry-core
+  (package
+    (name "ruby-sentry-core")
+    (version "4.3.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "sentry-ruby-core" version))
+        (sha256
+          (base32
+            "13z35s9mflh3v775a0scsnqhscz9q46kaak38y7zmx32z7sg2a3a"))))
+    (build-system ruby-build-system)
+    (arguments
+     ; No rakefile in gem
+     '(#:tests? #f))
+    (propagated-inputs
+      `(("ruby-concurrent" ,ruby-concurrent)
+        ("ruby-faraday" ,ruby-faraday)))
+    (synopsis
+      "Client interface for the Sentry error logger (core)")
+    (description
+      "This package provides a gem that provides a client interface for the
+Sentry error logger")
+    (home-page
+      "https://github.com/getsentry/sentry-ruby")
+    (license license:expat)))
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 27 Apr 20:46 +0200
[PATCH v2 20/27] gnu: Add ruby-nori.
(address . 50537@debbugs.gnu.org)
20220427184633.94169-20-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-nori): New variable.
---
gnu/packages/ruby.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index d734da56e0..62f2bbb97f 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12753,3 +12753,27 @@ published rates from open-exchange-rates.  Compatible with the money gem.")
     (description "Routing tree web toolkit")
     (home-page "http://roda.jeremyevans.net")
     (license license:expat)))
+
+(define-public ruby-nori
+  (package
+    (name "ruby-nori")
+    (version "2.6.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "nori" version))
+        (sha256
+          (base32
+            "066wc774a2zp4vrq3k7k8p0fhv30ymqmxma1jj7yg5735zls8agn"))))
+    (build-system ruby-build-system)
+    (arguments
+     ;; Tests require too old version of rspec
+     `(#:tests? #f))
+    (native-inputs
+     `(("ruby-rspec" ,ruby-rspec)
+       ("ruby-rake" ,ruby-rake)
+       ("ruby-nokogiri" ,ruby-nokogiri)))
+    (synopsis "XML to Hash translator")
+    (description "XML to Hash translator")
+    (home-page "https://github.com/savonrb/nori")
+    (license license:expat)))
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 27 Apr 20:46 +0200
[PATCH v2 22/27] gnu: Add ruby-bandwidth-iris.
(address . 50537@debbugs.gnu.org)
20220427184633.94169-22-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-bandwidth-iris): New variable.
---
gnu/packages/ruby.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

Toggle diff (43 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index d9cbd84e66..3a67480e33 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12800,3 +12800,36 @@ published rates from open-exchange-rates.  Compatible with the money gem.")
     (home-page
       "https://github.com/lostisland/faraday_middleware")
     (license license:expat)))
+
+(define-public ruby-bandwidth-iris
+  (package
+    (name "ruby-bandwidth-iris")
+    (version "4.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "ruby-bandwidth-iris" version))
+        (sha256
+          (base32
+            "16bbx6y0ni3jl190ddr6xfbi2rbcikqfm2ghzr53445fpk6g12zc"))))
+    (build-system ruby-build-system)
+    (arguments
+     ; Tests don't require helper for some reason, so all fail...
+     '(#:tests? #f))
+    (propagated-inputs
+      `(("ruby-activesupport" ,ruby-activesupport)
+        ("ruby-builder" ,ruby-builder)
+        ("ruby-faraday" ,ruby-faraday)
+        ("ruby-faraday-middleware"
+         ,ruby-faraday-middleware)
+        ("ruby-nori" ,ruby-nori)))
+    (native-inputs
+     `(("ruby-rspec" ,ruby-rspec)
+       ("ruby-yard" ,ruby-yard)))
+    (synopsis
+      "Gem for integrating to Bandwidth's Iris API")
+    (description
+      "Gem for integrating to Bandwidth's Iris API")
+    (home-page
+      "https://github.com/Bandwidth/ruby-bandwidth-iris")
+    (license license:expat)))
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 27 Apr 20:46 +0200
[PATCH v2 24/27] gnu: Add ruby-sentry.
(address . 50537@debbugs.gnu.org)
20220427184633.94169-24-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-sentry): New variable.
---
gnu/packages/ruby.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index aecf5499d2..ac4a89f217 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12860,3 +12860,31 @@ Sentry error logger")
     (home-page
       "https://github.com/getsentry/sentry-ruby")
     (license license:expat)))
+
+(define-public ruby-sentry
+  (package
+    (name "ruby-sentry")
+    (version "4.3.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "sentry-ruby" version))
+        (sha256
+          (base32
+            "101q3141xfkmh7vi8h4sjqqmxcx90xhyq51lmfnhfiwgii7cn9k8"))))
+    (build-system ruby-build-system)
+    (arguments
+     ; No rakefile in gem
+     '(#:tests? #f))
+    (propagated-inputs
+      `(("ruby-concurrent" ,ruby-concurrent)
+        ("ruby-faraday" ,ruby-faraday)
+        ("ruby-sentry-core" ,ruby-sentry-core)))
+    (synopsis
+      "Client interface for the Sentry error logger")
+    (description
+      "This package provides a gem that provides a client interface for the
+Sentry error logger")
+    (home-page
+      "https://github.com/getsentry/sentry-ruby")
+    (license license:expat)))
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 27 Apr 20:46 +0200
[PATCH v2 25/27] gnu: Add ruby-webrick.
(address . 50537@debbugs.gnu.org)
20220427184633.94169-25-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-webrick): New variable.
---
gnu/packages/ruby.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (30 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ac4a89f217..5fe0d7bc07 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12888,3 +12888,23 @@ Sentry error logger")
     (home-page
       "https://github.com/getsentry/sentry-ruby")
     (license license:expat)))
+
+(define-public ruby-webrick
+  (package
+    (name "ruby-webrick")
+    (version "1.7.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "webrick" version))
+        (sha256
+          (base32
+            "1d4cvgmxhfczxiq5fr534lmizkhigd15bsx5719r5ds7k7ivisc7"))))
+    (build-system ruby-build-system)
+    (synopsis
+      "WEBrick is an HTTP server toolkit")
+    (description
+      "WEBrick is an HTTP server toolkit that can be configured as an
+HTTPS server, a proxy server, and a virtual-host server.")
+    (home-page "https://github.com/ruby/webrick")
+    (license license:bsd-2)))
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 27 Apr 20:46 +0200
[PATCH v2 26/27] gnu: Add ruby-interception.
(address . 50537@debbugs.gnu.org)
20220427184633.94169-26-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-interception): New variable.
---
gnu/packages/ruby.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 5fe0d7bc07..6afc07875b 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12908,3 +12908,26 @@ Sentry error logger")
 HTTPS server, a proxy server, and a virtual-host server.")
     (home-page "https://github.com/ruby/webrick")
     (license license:bsd-2)))
+
+(define-public ruby-interception
+  (package
+    (name "ruby-interception")
+    (version "0.5")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "interception" version))
+        (sha256
+          (base32
+            "01vrkn28psdx1ysh5js3hn17nfp1nvvv46wc1pwqsakm6vb1hf55"))))
+    (build-system ruby-build-system)
+    (native-inputs
+     `(("ruby-rspec" ,ruby-rspec)))
+    (synopsis
+      "Provides a cross-platform ability to intercept all exceptions")
+    (description
+      "This package provides a cross-platform ability to intercept all
+exceptions as they are raised.")
+    (home-page
+      "https://github.com/ConradIrwin/interception")
+    (license license:expat)))
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 27 Apr 20:46 +0200
[PATCH v2 13/27] gnu: Add ruby-gem-release
(address . 50537@debbugs.gnu.org)
20220427184633.94169-13-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-gem-release): New variable.
---
gnu/packages/ruby.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 2f2c623a99..433a63111d 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12570,3 +12570,26 @@ This object is not created until the first method dispatch.")
 based on Sadayuki Furuhashi's MessagePack library.")
     (home-page "http://cbor.io/")
     (license license:asl2.0)))
+
+(define-public ruby-gem-release
+  (package
+    (name "ruby-gem-release")
+    (version "2.2.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "gem-release" version))
+        (sha256
+          (base32
+            "108rrfaiayi14zrqbb6z0cbwcxh8n15am5ry2a86v7c8c3niysq9"))))
+    (build-system ruby-build-system)
+    (arguments
+     ;; No rakefile
+     `(#:tests? #f))
+    (synopsis
+      "Release your ruby gems with ease")
+    (description
+      "Release your ruby gems with ease.")
+    (home-page
+    "https://github.com/svenfuchs/gem-release")
+    (license license:expat)))
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 27 Apr 20:46 +0200
[PATCH v2 14/27] gnu: Add ruby-base32.
(address . 50537@debbugs.gnu.org)
20220427184633.94169-14-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-base32): New variable.
---
gnu/packages/ruby.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (31 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 433a63111d..e3330d54eb 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12593,3 +12593,24 @@ based on Sadayuki Furuhashi's MessagePack library.")
     (home-page
     "https://github.com/svenfuchs/gem-release")
     (license license:expat)))
+
+(define-public ruby-base32
+  (package
+    (name "ruby-base32")
+    (version "0.3.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "base32" version))
+        (sha256
+          (base32
+            "1fjs0l3c5g9qxwp43kcnhc45slx29yjb6m6jxbb2x1krgjmi166b"))))
+    (build-system ruby-build-system)
+    (native-inputs
+     `(("ruby-gem-release" ,ruby-gem-release)))
+    (synopsis
+      "Ruby extension for base32 encoding and decoding")
+    (description
+      "Ruby extension for base32 encoding and decoding")
+    (home-page "https://github.com/stesla/base32")
+    (license license:expat)))
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 27 Apr 20:46 +0200
[PATCH v2 27/27] gnu: Add ruby-pry-rescue.
(address . 50537@debbugs.gnu.org)
20220427184633.94169-27-singpolyma@singpolyma.net
* gnu/packages/ruby.scm (ruby-pry-rescue): New variable.
---
gnu/packages/ruby.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)

Toggle diff (45 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 6afc07875b..5a5665f027 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12931,3 +12931,38 @@ exceptions as they are raised.")
     (home-page
       "https://github.com/ConradIrwin/interception")
     (license license:expat)))
+
+(define-public ruby-pry-rescue
+  (package
+    (name "ruby-pry-rescue")
+    (version "1.5.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "pry-rescue" version))
+        (sha256
+          (base32
+            "1wn72y8y3d3g0ng350ld92nyjln012432q2z2iy9lhwzjc4dwi65"))))
+    (build-system ruby-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'nuke-bad-test
+           (lambda _
+             (substitute* "spec/source_location_spec.rb"
+               (("time = Time.now") "skip"))
+             #t)))))
+    (propagated-inputs
+      `(("ruby-interception" ,ruby-interception)
+        ("ruby-pry" ,ruby-pry)))
+    (native-inputs
+     `(("ruby-rspec" ,ruby-rspec)
+       ("ruby-pry-stack-explorer" ,ruby-pry-stack-explorer)))
+    (synopsis
+      "Allows you to wrap code to open a pry session at any unhandled exceptions")
+    (description
+      "Allows you to wrap code in Pry::rescue{ } to open a pry session at any
+unhandled exceptions")
+    (home-page
+      "https://github.com/ConradIrwin/pry-rescue")
+    (license license:expat)))
-- 
2.30.2
?