summaryrefslogtreecommitdiff
path: root/gnu/packages/ruby.scm
diff options
context:
space:
mode:
authorLiliana Marie Prikler <liliana.prikler@gmail.com>2024-02-25 10:28:03 +0100
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2024-02-25 10:28:03 +0100
commit7bf4ce4582cd2f9c5b30c547262c1c4a426c0b9b (patch)
treec6f9cc83feaaf685b7542a98e60bc24ea7c297b1 /gnu/packages/ruby.scm
parent06d01c610e3bee61e38a177aecda5982d5b338ae (diff)
parent92d8b4c9598ed32cdb6630433d5914c1ae8b7146 (diff)
Merge branch 'master' into gnome-team
Diffstat (limited to 'gnu/packages/ruby.scm')
-rw-r--r--gnu/packages/ruby.scm644
1 files changed, 638 insertions, 6 deletions
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 6dde650c379..cc775ec6ef8 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -35,6 +35,7 @@
35;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com> 35;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
36;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org> 36;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
37;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> 37;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
38;;; Copyright © 2023, 2024 Hartmut Goebel <h.goebel@crazy-compilers.com>
38;;; 39;;;
39;;; This file is part of GNU Guix. 40;;; This file is part of GNU Guix.
40;;; 41;;;
@@ -67,6 +68,7 @@
67 #:use-module (gnu packages rails) 68 #:use-module (gnu packages rails)
68 #:use-module (gnu packages readline) 69 #:use-module (gnu packages readline)
69 #:use-module (gnu packages autotools) 70 #:use-module (gnu packages autotools)
71 #:use-module (gnu packages graphviz)
70 #:use-module (gnu packages haskell-xyz) 72 #:use-module (gnu packages haskell-xyz)
71 #:use-module (gnu packages java) 73 #:use-module (gnu packages java)
72 #:use-module (gnu packages libffi) 74 #:use-module (gnu packages libffi)
@@ -79,6 +81,7 @@
79 #:use-module (gnu packages networking) 81 #:use-module (gnu packages networking)
80 #:use-module (gnu packages node) 82 #:use-module (gnu packages node)
81 #:use-module (gnu packages perl) 83 #:use-module (gnu packages perl)
84 #:use-module (gnu packages pkg-config)
82 #:use-module (gnu packages protobuf) 85 #:use-module (gnu packages protobuf)
83 #:use-module (gnu packages python) 86 #:use-module (gnu packages python)
84 #:use-module (gnu packages python-xyz) 87 #:use-module (gnu packages python-xyz)
@@ -88,6 +91,7 @@
88 #:use-module (gnu packages tls) 91 #:use-module (gnu packages tls)
89 #:use-module (gnu packages valgrind) 92 #:use-module (gnu packages valgrind)
90 #:use-module (gnu packages version-control) 93 #:use-module (gnu packages version-control)
94 #:use-module (gnu packages virtualization)
91 #:use-module (gnu packages web-browsers) 95 #:use-module (gnu packages web-browsers)
92 #:use-module (gnu packages serialization) 96 #:use-module (gnu packages serialization)
93 #:use-module (guix packages) 97 #:use-module (guix packages)
@@ -737,6 +741,30 @@ includes the @code{Comparable} module for handling dates.")
737 (home-page "https://github.com/ruby/date") 741 (home-page "https://github.com/ruby/date")
738 (license license:bsd-2))) 742 (license license:bsd-2)))
739 743
744(define-public ruby-time
745 (package
746 (name "ruby-time")
747 (version "0.3.0")
748 (source (origin
749 (method git-fetch) ; for tests
750 (uri (git-reference
751 (url "https://github.com/ruby/time")
752 (commit (string-append "v" version))))
753 (file-name (git-file-name name version))
754 (sha256
755 (base32
756 "0jd6df2lxd60wcxyaf37j8v3nnfn952d5xhg6aap9zlcdmkk4g2n"))))
757 (build-system ruby-build-system)
758 (propagated-inputs (list ruby-date))
759 (native-inputs (list ruby-test-unit-ruby-core))
760 (synopsis
761 "Extends the Time class with methods for parsing and conversion")
762 (description
763 "When this gem is @code{require}d, it extends the Time class with with
764additional methods for parsing and converting Times.")
765 (home-page "https://github.com/ruby/time")
766 (license license:bsd-2)))
767
740(define-public ruby-diff-lcs 768(define-public ruby-diff-lcs
741 (package 769 (package
742 (name "ruby-diff-lcs") 770 (name "ruby-diff-lcs")
@@ -1210,6 +1238,65 @@ the @env{RSPEC_DEBUG} environment variable to @samp{true} then invoke the
1210 (home-page "https://github.com/ko1/rspec-debug") 1238 (home-page "https://github.com/ko1/rspec-debug")
1211 (license license:expat))) 1239 (license license:expat)))
1212 1240
1241(define-public ruby-specinfra
1242 (package
1243 (name "ruby-specinfra")
1244 (version "2.88.1")
1245 (source (origin
1246 (method url-fetch)
1247 (uri (rubygems-uri "specinfra" version))
1248 (sha256
1249 (base32
1250 "07lap3sknncffpq9jw1x1mn9c5xxd058wxs5vnyz1y0lawdjfnsf"))))
1251 (build-system ruby-build-system)
1252 (propagated-inputs (list ruby-net-scp ruby-net-ssh ruby-net-telnet
1253 ruby-sfl))
1254 (arguments
1255 (list
1256 #:test-target "spec"
1257 #:phases
1258 #~(modify-phases %standard-phases
1259 (add-after 'extract-gemspec 'relax-dependencies
1260 (lambda _
1261 (substitute* "specinfra.gemspec"
1262 (("%q<net-telnet>.freeze, \\[.*\\]")
1263 "%q<net-telnet>.freeze, [\">= 0\"]")))))))
1264 (synopsis "Common layer for serverspec and itamae")
1265 (description "This Gem provides a common layer for serverspec and
1266itamae.")
1267 (home-page "https://github.com/mizzy/specinfra")
1268 (license license:expat)))
1269
1270(define-public ruby-serverspec
1271 (package
1272 (name "ruby-serverspec")
1273 (version "2.42.3")
1274 (source (origin
1275 (method url-fetch)
1276 (uri (rubygems-uri "serverspec" version))
1277 (sha256
1278 (base32
1279 "0kfaqrqynly8n3dy5qrbjvx4lx6mk9a5vynwb7xwqj8bixm0mab4"))))
1280 (build-system ruby-build-system)
1281 (propagated-inputs (list ruby-multi-json ruby-rspec ruby-rspec-its
1282 ruby-specinfra))
1283 (arguments
1284 (list #:test-target "spec"))
1285 (synopsis
1286 "RSpec tests for servers configured by Puppet, Chef, Itamae, etc")
1287 (description
1288 "With Serverspec, you can write RSpec tests for checking your servers are
1289configured correctly.
1290
1291Serverspec tests your servers’ actual state by executing command locally, via
1292SSH, via WinRM, via Docker API and so on. So you don’t need to install any
1293agent softwares on your servers and can use any configuration management
1294tools, Puppet, Ansible, CFEngine, Itamae and so on.
1295
1296But the true aim of Serverspec is to help refactoring infrastructure code.")
1297 (home-page "https://serverspec.org/")
1298 (license license:expat)))
1299
1213;; Bundler is yet another source of circular dependencies, so we must disable 1300;; Bundler is yet another source of circular dependencies, so we must disable
1214;; its test suite as well. 1301;; its test suite as well.
1215(define-public bundler 1302(define-public bundler
@@ -3402,6 +3489,39 @@ identical to that of Hash.")
3402 (home-page "http://rbtree.rubyforge.org/") 3489 (home-page "http://rbtree.rubyforge.org/")
3403 (license license:expat))) 3490 (license license:expat)))
3404 3491
3492(define-public ruby-rgl
3493 (package
3494 (name "ruby-rgl")
3495 (version "0.6.6")
3496 (source (origin
3497 (method url-fetch)
3498 (uri (rubygems-uri "rgl" version))
3499 (sha256
3500 (base32
3501 "0dji1k9knrf8cxm5psd3pgd9i8f7cfq182jwjpi1pwxw15axf496"))))
3502 (build-system ruby-build-system)
3503 (arguments
3504 (list
3505 #:phases
3506 #~(modify-phases %standard-phases
3507 (add-after 'unpack 'remove-unnecessary-dependencies
3508 (lambda _
3509 (substitute* "Gemfile"
3510 ;; Caring about coverage is a not a packager's task but a
3511 ;; developer's
3512 ;;(("gem \"simplecov\"") "")
3513 ;; CodeClimate is an online service, and is unnecessary for
3514 ;; running the tests
3515 (("gem \"codeclimate-test-reporter\", .*") "\n")))))))
3516 (native-inputs (list ruby-test-unit ruby-simplecov ruby-yard graphviz-minimal))
3517 (propagated-inputs (list ruby-pairing-heap ruby-rexml ruby-stream))
3518 (synopsis "Framework for graph data structures and algorithms")
3519 (description "RGL is a framework for graph data structures and algorithms.
3520The design of the library is much influenced by the Boost Graph Library (BGL)
3521which is written in C++.")
3522 (home-page "https://github.com/monora/rgl")
3523 (license license:bsd-2)))
3524
3405(define-public ruby-hkdf 3525(define-public ruby-hkdf
3406 (package 3526 (package
3407 (name "ruby-hkdf") 3527 (name "ruby-hkdf")
@@ -4427,6 +4547,87 @@ help tests uncover more bugs.")
4427 (home-page "https://github.com/jordansissel/ruby-flores") 4547 (home-page "https://github.com/jordansissel/ruby-flores")
4428 (license license:asl2.0))) 4548 (license license:asl2.0)))
4429 4549
4550(define-public ruby-ipaddr
4551 (package
4552 (name "ruby-ipaddr")
4553 (version "1.2.6")
4554 (source (origin
4555 (method git-fetch) ;for tests
4556 (uri (git-reference
4557 (url "https://github.com/ruby/ipaddr")
4558 (commit (string-append "v" version))))
4559 (file-name (git-file-name name version))
4560 (sha256
4561 (base32
4562 "0h3z8i1fa8s4gx48322fflhpkzghd4bmd9109hglsgdkic7b0dyp"))))
4563 (build-system ruby-build-system)
4564 (native-inputs (list ruby-test-unit-ruby-core))
4565 (synopsis "Manipulate IP addresses")
4566 (description "This package provides a set of methods to manipulate an IP
4567address. Both IPv4 and IPv6 are supported.")
4568 (home-page "https://github.com/ruby/ipaddr")
4569 (license license:bsd-2)))
4570
4571(define-public ruby-fake-ftp
4572 (package
4573 (name "ruby-fake-ftp")
4574 (version "0.3.0")
4575 (source (origin
4576 (method url-fetch)
4577 (uri (rubygems-uri "fake_ftp" version))
4578 (sha256
4579 (base32
4580 "1zl9q9m4x7lz9890g0h1qqj7hcxnwzpjfnfbxadjblps7b5054q4"))))
4581 (build-system ruby-build-system)
4582 (native-inputs (list ruby-rspec ruby-rubocop ruby-simplecov))
4583 (arguments
4584 '(#:test-target "spec"))
4585 (synopsis "Fake FTP server for use with ruby tests")
4586 (description "This package allows you to test FTP implementations in ruby.
4587It is a minimal single-client FTP server that can be bound to any arbitrary
4588port on localhost.")
4589 (home-page "https://rubygems.org/gems/fake_ftp")
4590 (license license:expat)))
4591
4592(define-public ruby-net-telnet
4593 (package
4594 (name "ruby-net-telnet")
4595 (version "0.2.0")
4596 (source (origin
4597 (method url-fetch)
4598 (uri (rubygems-uri "net-telnet" version))
4599 (sha256
4600 (base32
4601 "16nkxc79nqm7fd6w1fba4kb98vpgwnyfnlwxarpdcgywz300fc15"))))
4602 (build-system ruby-build-system)
4603 (synopsis "Telnet client functionality")
4604 (description "This package provides telnet client functionality.")
4605 (home-page "https://github.com/ruby/net-telnet")
4606 (license license:bsd-2)))
4607
4608(define-public ruby-net-ftp
4609 (package
4610 (name "ruby-net-ftp")
4611 (version "0.3.4")
4612 (source (origin
4613 (method git-fetch) ;for tests
4614 (uri (git-reference
4615 (url "https://github.com/ruby/net-ftp")
4616 (commit (string-append "v" version))))
4617 (file-name (git-file-name name version))
4618 (sha256
4619 (base32
4620 "11b1sw7c4c7xrhn5li5m0wylw42hp52jp6pqacyb43hkw1m5zr36"))))
4621 (build-system ruby-build-system)
4622 (propagated-inputs (list ruby-net-protocol ruby-time))
4623 (synopsis "File Transfer Protocol client library")
4624 (description "This class implements the File Transfer Protocol. If you
4625have used a command-line FTP program, and are familiar with the commands, you
4626will be able to use this class easily. Some extra features are included to
4627take advantage of Ruby's style and strengths.")
4628 (home-page "https://github.com/ruby/net-ftp")
4629 (license license:bsd-2)))
4630
4430(define-public ruby-net-http-persistent 4631(define-public ruby-net-http-persistent
4431 (package 4632 (package
4432 (name "ruby-net-http-persistent") 4633 (name "ruby-net-http-persistent")
@@ -4802,6 +5003,25 @@ It allows writing tests, checking results and automated testing in Ruby.")
4802 (list #:tests? #f))) 5003 (list #:tests? #f)))
4803 (native-inputs '())))) 5004 (native-inputs '()))))
4804 5005
5006(define-public ruby-test-unit-ruby-core
5007 (package
5008 (name "ruby-test-unit-ruby-core")
5009 (version "1.0.5")
5010 (source
5011 (origin
5012 (method url-fetch)
5013 (uri (rubygems-uri "test-unit-ruby-core" version))
5014 (sha256
5015 (base32 "1i7fa4hlj6xiqvjaikagwrmiyc21jzyswvd4grjbfqysziwsxygc"))))
5016 (build-system ruby-build-system)
5017 (arguments
5018 (list #:tests? #f)) ; contains no tests
5019 (synopsis "Additional test assertions for Ruby standard libraries")
5020 (description "This package provides additional test assertions for Ruby
5021standard libraries.")
5022 (home-page "https://github.com/ruby/test-unit-ruby-core")
5023 (license license:ruby)))
5024
4805(define-public ruby-mapping 5025(define-public ruby-mapping
4806 (package 5026 (package
4807 (name "ruby-mapping") 5027 (name "ruby-mapping")
@@ -5500,6 +5720,27 @@ client protocol.")
5500 (home-page "https://github.com/net-ssh/net-scp") 5720 (home-page "https://github.com/net-ssh/net-scp")
5501 (license license:expat))) 5721 (license license:expat)))
5502 5722
5723(define-public ruby-net-sftp
5724 (package
5725 (name "ruby-net-sftp")
5726 (version "4.0.0")
5727 (source (origin
5728 (method url-fetch)
5729 (uri (rubygems-uri "net-sftp" version))
5730 (sha256
5731 (base32
5732 "0r33aa2d61hv1psm0l0mm6ik3ycsnq8symv7h84kpyf2b7493fv5"))))
5733 (build-system ruby-build-system)
5734 (propagated-inputs (list ruby-net-ssh))
5735 (synopsis "Pure Ruby implementation of the SFTP client protocol")
5736 (description
5737 "@code{Net::SFTP} is a pure Ruby implementation of the SFTP
5738protocol (specifically, versions 1 through 6 of the SFTP protocol). Note that
5739this is the “Secure File Transfer Protocol”, typically run over an SSH
5740connection, and has nothing to do with the FTP protocol.")
5741 (home-page "https://github.com/net-ssh/net-sftp")
5742 (license license:expat)))
5743
5503(define-public ruby-minima 5744(define-public ruby-minima
5504 (package 5745 (package
5505 (name "ruby-minima") 5746 (name "ruby-minima")
@@ -9391,6 +9632,186 @@ follows Ruby conventions and requires little knowledge of REST.")
9391 (home-page "https://github.com/octokit/octokit.rb") 9632 (home-page "https://github.com/octokit/octokit.rb")
9392 (license license:expat))) 9633 (license license:expat)))
9393 9634
9635(define-public ruby-hashicorp-checkpoint
9636 (package
9637 (name "ruby-hashicorp-checkpoint")
9638 (version "0.1.5")
9639 (source (origin
9640 (method url-fetch)
9641 (uri (rubygems-uri "hashicorp-checkpoint" version))
9642 (sha256
9643 (base32
9644 "1z6mwzvd7p2wqhmk07dwrhvm0ncgqm7pxn0pr2k025rwsspp9bsd"))))
9645 (build-system ruby-build-system)
9646 (arguments
9647 (list #:tests? #f)) ;; no need to test, useless outside HashiCorp anyway
9648 (synopsis "Internal HashiCorp service to check version information")
9649 (description "This package is probably useless outside of internal
9650HashiCorp use. It is open source for disclosure and because HashiCorp's open
9651source projects must be able to link to it.")
9652 (home-page "https://github.com/hashicorp/ruby-checkpoint")
9653 (license license:mpl2.0)))
9654
9655(define-public ruby-vagrant-cloud
9656 (package
9657 (name "ruby-vagrant-cloud")
9658 (version "3.1.1")
9659 (source (origin
9660 (method git-fetch)
9661 (uri (git-reference
9662 (url "https://github.com/hashicorp/vagrant_cloud")
9663 (commit (string-append "v" version))))
9664 (file-name (git-file-name name version))
9665 (sha256
9666 (base32
9667 "0bnjd8b86lrgj5ar1l7pg5if95bv0sxa75mz7x2ikqyz6q8rmjb3"))))
9668 (build-system ruby-build-system)
9669 (arguments
9670 `(#:test-target "spec"))
9671 (native-inputs (list ruby-rspec ruby-webmock))
9672 (propagated-inputs (list ruby-excon ruby-log4r ruby-rexml))
9673 (synopsis "Vagrant Cloud API library")
9674 (description "This library provides the functionality to create, modify,
9675and delete boxes, versions, and providers on HashiCorp's Vagrant Cloud.")
9676 (home-page "https://github.com/hashicorp/vagrant_cloud")
9677 (license license:asl2.0)))
9678
9679(define-public ruby-libvirt
9680 (package
9681 (name "ruby-libvirt")
9682 (version "0.8.2")
9683 (source (origin
9684 (method url-fetch)
9685 (uri (rubygems-uri "ruby-libvirt" version))
9686 (sha256
9687 (base32
9688 "0v6vj5vs9v01zr00bflqpfczhwcyc6jdf8k2dqn42lq6d87si77d"))))
9689 (build-system ruby-build-system)
9690 (arguments
9691 (list
9692 #:tests? #f)) ; tests require access to libvirt socket
9693 (native-inputs (list pkg-config))
9694 (inputs (list libvirt))
9695 (synopsis "Ruby bindings for libvirt")
9696 (description "This package provides Ruby language binding for libvirt's
9697native C API.")
9698 (home-page "https://ruby.libvirt.org/")
9699 (license license:lgpl2.1+)))
9700
9701(define-public ruby-fog-core
9702 (package
9703 (name "ruby-fog-core")
9704 (version "2.4.0")
9705 (source (origin
9706 (method git-fetch) ; for tests
9707 (uri (git-reference
9708 (url "https://github.com/fog/fog-core")
9709 (commit (string-append "v" version))))
9710 (file-name (git-file-name name version))
9711 (sha256
9712 (base32
9713 "184vpi81az7raz98652m7d98ikabdl9di37dgal0adr76q57j03c"))))
9714 (build-system ruby-build-system)
9715 (arguments
9716 (list
9717 #:phases
9718 #~(modify-phases %standard-phases
9719 (add-before 'check 'set-home
9720 (lambda _
9721 (setenv "HOME" "/tmp"))))))
9722 (native-inputs (list ruby-minitest-stub-const))
9723 (propagated-inputs (list ruby-builder ruby-excon ruby-formatador
9724 ruby-mime-types))
9725 (synopsis "Shared classes and tests for fog providers and services")
9726 (description "@code{fog} is a Ruby cloud services library. This package
9727provides shared classes and tests for @code{fog} providers and services.")
9728 (home-page "https://github.com/fog/fog-core")
9729 (license license:expat)))
9730
9731(define-public ruby-fog-json
9732 (package
9733 (name "ruby-fog-json")
9734 (version "1.2.0")
9735 (source (origin
9736 (method git-fetch) ; for tests
9737 (uri (git-reference
9738 (url "https://github.com/fog/fog-json")
9739 (commit (string-append "v" version))))
9740 (file-name (git-file-name name version))
9741 (sha256
9742 (base32
9743 "0f4hbmhy22b1gbkzd3pnj5xvljp6bl7inc2y4fxh29nrmcn4pgb0"))))
9744 (build-system ruby-build-system)
9745 (native-inputs (list ruby-minitest))
9746 (propagated-inputs (list ruby-fog-core ruby-multi-json))
9747 (synopsis "JSON parsing tools used by @code{fog} providers")
9748 (description "This package containse the JSON parsing tools shared between
9749a number of providers in the @code{fog} gem. @code{fog} is a Ruby cloud
9750services library.")
9751 (home-page "https://github.com/fog/fog-json")
9752 (license license:expat)))
9753
9754(define-public ruby-fog-xml
9755 (package
9756 (name "ruby-fog-xml")
9757 (version "0.1.4")
9758 (source (origin
9759 (method git-fetch) ; for tests
9760 (uri (git-reference
9761 (url "https://github.com/fog/fog-xml")
9762 (commit (string-append "v" version))))
9763 (file-name (git-file-name name version))
9764 (sha256
9765 (base32
9766 "0d0n201qzcjxis5wb26bi3s7yfhlmqkwsl6lb9w4szq3b8l1xbwn"))))
9767 (build-system ruby-build-system)
9768 (arguments
9769 (list
9770 #:phases
9771 #~(modify-phases %standard-phases
9772 ;; Run tests via bundler so rake picks up the minitest gem from
9773 ;; native-inputs, not the one installed otherwise. This is required
9774 ;; since turn@0.9.7 needs minitest@4 and can not be upgraded to
9775 ;; minitest@5.
9776 (replace 'check
9777 (lambda* (#:key tests? #:allow-other-keys)
9778 (when tests?
9779 (invoke "bundle" "exec" "rake")))))))
9780 (native-inputs (list ruby-minitest-4 ruby-turn ruby-pry ruby-coveralls))
9781 (propagated-inputs (list ruby-fog-core ruby-nokogiri))
9782 (synopsis "XML parsing tools used by @code{fog} providers")
9783 (description "This package containse the XML parsing tools shared between
9784a number of providers in the @code{fog} gem. @code{fog} is a Ruby cloud
9785services library.")
9786 (home-page "https://github.com/fog/fog-xml")
9787 (license license:expat)))
9788
9789(define-public ruby-fog-libvirt
9790 (package
9791 (name "ruby-fog-libvirt")
9792 (version "0.12.0")
9793 (source (origin
9794 (method git-fetch) ; for tests
9795 (uri (git-reference
9796 (url "https://github.com/fog/fog-libvirt")
9797 (commit (string-append "v" version))))
9798 (file-name (git-file-name name version))
9799 (sha256
9800 (base32
9801 "0b1qafb0l24anmr8fviwhp9vj14g0fic0mkg9n1i11h68zhqkj2v"))))
9802 (build-system ruby-build-system)
9803 (native-inputs (list ruby-minitest-stub-const ruby-mocha ruby-net-ssh
9804 ruby-netrc ruby-octokit ruby-pry ruby-rubocop
9805 ruby-shindo ruby-simplecov ruby-yard ))
9806 (propagated-inputs (list ruby-fog-core ruby-fog-json ruby-fog-xml
9807 ruby-json ruby-libvirt))
9808 (synopsis "Ruby libvirt provider, either standalone or as a module for
9809@code{fog}")
9810 (description "This library can be used as a module for @code{fog} or as
9811standalone libvirt provider. @code{fog} is a Ruby cloud services library.")
9812 (home-page "https://github.com/fog/fog-libvirt")
9813 (license license:expat)))
9814
9394(define-public ruby-pry-byebug 9815(define-public ruby-pry-byebug
9395 (package 9816 (package
9396 (name "ruby-pry-byebug") 9817 (name "ruby-pry-byebug")
@@ -11930,6 +12351,32 @@ dependency, @code{pg}.")
11930 (home-page "https://github.com/QueueClassic/queue_classic") 12351 (home-page "https://github.com/QueueClassic/queue_classic")
11931 (license license:expat))) 12352 (license license:expat)))
11932 12353
12354(define-public ruby-pairing-heap
12355 (package
12356 (name "ruby-pairing-heap")
12357 (version "3.1.0")
12358 (source (origin
12359 (method url-fetch)
12360 (uri (rubygems-uri "pairing_heap" version))
12361 (sha256
12362 (base32
12363 "059kqpw53cancnp0bp7y1s74y1955riw33w3lqfbnms4b4mdh5zj"))))
12364 (build-system ruby-build-system)
12365 (arguments
12366 (list
12367 #:phases
12368 #~(modify-phases %standard-phases
12369 (add-after 'unpack 'patch
12370 (lambda _
12371 (substitute* "Rakefile"
12372 (("require \"standard/rake\"") "")
12373 ((":\"standard:fix\",") "")))))))
12374 (synopsis "Priority queue in pure Ruby")
12375 (description "This package provides a performant priority queue in pure
12376ruby with support for changing priority using pairing heap data structure")
12377 (home-page "https://github.com/mhib/pairing_heap")
12378 (license license:expat)))
12379
11933(define-public ruby-ae 12380(define-public ruby-ae
11934 (package 12381 (package
11935 (name "ruby-ae") 12382 (name "ruby-ae")
@@ -12802,24 +13249,49 @@ manifest file.")
12802 (home-page "https://github.com/mvz/rake-manifest") 13249 (home-page "https://github.com/mvz/rake-manifest")
12803 (license license:expat))) 13250 (license license:expat)))
12804 13251
13252(define-public ruby-sfl
13253 (package
13254 (name "ruby-sfl")
13255 (version "2.3")
13256 (source (origin
13257 (method url-fetch)
13258 (uri (rubygems-uri "sfl" version))
13259 (sha256
13260 (base32
13261 "1qm4hvhq9pszi9zs1cl9qgwx1n4wxq0af0hq9sbf6qihqd8rwwwr"))))
13262 (build-system ruby-build-system)
13263 (arguments
13264 `(#:tests? #f ;; some tests fail, gem is a dummy for ruby >= 1.9 anyway
13265 #:test-target "spec"))
13266 (synopsis "Spawn for Ruby 1.8")
13267 (description "This pure ruby library provides @code{spawn()} which is
13268almost perfectly compatible with ruby 1.9's.")
13269 (home-page "https://github.com/ujihisa/spawn-for-legacy")
13270 (license license:bsd-2)))
13271
12805(define-public ruby-childprocess 13272(define-public ruby-childprocess
12806 (package 13273 (package
12807 (name "ruby-childprocess") 13274 (name "ruby-childprocess")
12808 (version "3.0.0") 13275 (version "4.1.0")
12809 (source 13276 (source
12810 (origin 13277 (origin
12811 (method url-fetch) 13278 (method url-fetch)
12812 (uri (rubygems-uri "childprocess" version)) 13279 (uri (rubygems-uri "childprocess" version))
12813 (sha256 13280 (sha256
12814 (base32 13281 (base32
12815 "1ic028k8xgm2dds9mqnvwwx3ibaz32j8455zxr9f4bcnviyahya5")))) 13282 "1lvcp8bsd35g57f7wz4jigcw2sryzzwrpcgjwwf3chmjrjcww5in"))))
12816 (build-system ruby-build-system) 13283 (build-system ruby-build-system)
12817 (arguments 13284 (arguments
12818 `(#:tests? #f)) 13285 `(#:tests? #f ;; one failing test, even with fixes below
13286 #:test-target "spec"
13287 #:phases
13288 (modify-phases %standard-phases
13289 (add-after 'unpack 'patch
13290 (lambda _
13291 (substitute* "spec/spec_helper.rb"
13292 (("#!/bin/sh\\\\n") (string-append "#!" (which "sh") "\\n"))))))))
12819 (native-inputs 13293 (native-inputs
12820 (list bundler ruby-rspec)) 13294 (list ruby-coveralls ruby-rspec))
12821 (propagated-inputs
12822 (list ruby-ffi))
12823 (synopsis "Control external programs running in the background, in Ruby") 13295 (synopsis "Control external programs running in the background, in Ruby")
12824 (description "@code{childprocess} provides a gem to control external 13296 (description "@code{childprocess} provides a gem to control external
12825programs running in the background, in Ruby.") 13297programs running in the background, in Ruby.")
@@ -13794,6 +14266,54 @@ GFM dialect to HTML.")
13794parser for writing http servers, clients and proxies.") 14266parser for writing http servers, clients and proxies.")
13795 (license license:expat))) 14267 (license license:expat)))
13796 14268
14269(define-public ruby-excon
14270 (package
14271 (name "ruby-excon")
14272 (version "0.109.0")
14273 (source (origin
14274 (method git-fetch) ;for tests
14275 (uri (git-reference
14276 (url "https://github.com/excon/excon")
14277 (commit (string-append "v" version))))
14278 (file-name (git-file-name name version))
14279 (sha256
14280 (base32
14281 "199niqbpzj70k3n6ybg4vbcw3qm76kwic4nl9747l1n0v49aaj24"))))
14282 (build-system ruby-build-system)
14283 (arguments
14284 (list
14285 #:tests? #f ;; some tests require DNS
14286 #:phases
14287 #~(modify-phases %standard-phases
14288 (replace 'replace-git-ls-files
14289 (lambda _
14290 (substitute* "excon.gemspec"
14291 (("`git ls-files -- data/. lib/.`")
14292 "`find data lib -type f`"))))
14293 (add-before 'check 'disable-server-spec-checks
14294 (lambda _ ;; TODO: Remove this if ruby-unicorn is available.
14295 ;; Some of the tests in this file require ruby-unicorn, which is
14296 ;; not yet packaged for guix and would pull in a lot of other
14297 ;; dependencies.
14298 (delete-file "spec/excon/test/server_spec.rb"))))))
14299 (native-inputs
14300 (list
14301 ruby-activesupport
14302 ruby-eventmachine
14303 ruby-json
14304 ruby-open4
14305 ruby-puma
14306 ruby-rspec
14307 ruby-shindo
14308 ruby-sinatra
14309 ruby-webrick))
14310 (synopsis "Usable, fast, simple Ruby HTTP 1.1")
14311 (description "Excon was designed to be simple, fast and performant. It
14312works great as a general HTTP(s) client and is particularly well suited to
14313usage in API clients.")
14314 (home-page "https://github.com/excon/excon")
14315 (license license:expat)))
14316
13797(define-public ruby-em-websocket 14317(define-public ruby-em-websocket
13798 (package 14318 (package
13799 (name "ruby-em-websocket") 14319 (name "ruby-em-websocket")
@@ -14741,6 +15261,49 @@ can be used to build formatters, linters, language servers, and more.")
14741 (home-page "https://github.com/ruby-syntax-tree/syntax_tree") 15261 (home-page "https://github.com/ruby-syntax-tree/syntax_tree")
14742 (license license:expat))) 15262 (license license:expat)))
14743 15263
15264(define-public ruby-stringio
15265 (package
15266 (name "ruby-stringio")
15267 (version "3.1.0")
15268 (source (origin
15269 (method git-fetch)
15270 (uri (git-reference
15271 (url "https://github.com/ruby/stringio")
15272 (commit (string-append "v" version))))
15273 (file-name (git-file-name name version))
15274 (sha256
15275 (base32
15276 "1jgi2w5y0z0x9mfapr2pdlag4wvn03fpf5kbai8bscyh8nn79yka"))))
15277 (build-system ruby-build-system)
15278 (native-inputs (list ruby-rake-compiler ruby-test-unit-ruby-core))
15279 (synopsis "Pseudo `IO` class from and to `String`")
15280 (description "Pseudo `IO` class from and to `String`.")
15281 (home-page "https://github.com/ruby/stringio")
15282 (license license:bsd-2)))
15283
15284(define-public ruby-stream
15285 (package
15286 (name "ruby-stream")
15287 (version "0.5.5")
15288 (source (origin
15289 (method url-fetch)
15290 (uri (rubygems-uri "stream" version))
15291 (sha256
15292 (base32
15293 "016m9v81vpj14d8g5ins91zc4pzl7vf5f1gxl7jhfsfy601k7cv2"))))
15294 (build-system ruby-build-system)
15295 (arguments
15296 '(#:phases
15297 (modify-phases %standard-phases
15298 (add-before 'check 'remove-version-constraints
15299 (lambda _
15300 (delete-file "Gemfile.lock"))))))
15301 (native-inputs (list bundler ruby-stringio ruby-webrick ruby-yard))
15302 (synopsis "Interface for external iterators")
15303 (description "Module Stream defines an interface for external iterators.")
15304 (home-page "https://github.com/monora/stream")
15305 (license license:bsd-2)))
15306
14744(define sorbet-version "0.5.10610.20230106174520-1fa668010") 15307(define sorbet-version "0.5.10610.20230106174520-1fa668010")
14745 15308
14746(define sorbet-monorepo 15309(define sorbet-monorepo
@@ -17362,6 +17925,75 @@ has not yet been packaged for Guix.")
17362 (license license:bsd-2) 17925 (license license:bsd-2)
17363 (properties `((upstream-name . "anystyle-cli"))))) 17926 (properties `((upstream-name . "anystyle-cli")))))
17364 17927
17928(define-public ruby-google-protobuf
17929 (package
17930 (name "ruby-google-protobuf")
17931 (version "3.25.3")
17932 (source (origin
17933 (method url-fetch)
17934 (uri (rubygems-uri "google-protobuf" version))
17935 (sha256
17936 (base32
17937 "1mnxzcq8kmyfb9bkzqnp019d1hx1vprip3yzdkkha6b3qz5rgg9r"))))
17938 (build-system ruby-build-system)
17939 (arguments
17940 `(#:tests? #f)) ;; has no tests
17941 (native-inputs (list ruby-rake))
17942 (synopsis "Protocol Buffers are Google's data interchange format")
17943 (description "This library contains the Ruby extension that implements
17944Protocol Buffers functionality in Ruby.
17945
17946The Ruby extension makes use of generated Ruby code that defines message and
17947enum types in a Ruby DSL. You may write definitions in this DSL directly, but
17948we recommend using protoc's Ruby generation support with @code{.proto} files.
17949The build process in this directory only installs the extension; you need to
17950install @code{protoc} (in package ruby-grpc-tools) as well to have Ruby code
17951generation functionality.")
17952 (home-page "https://protobuf.dev")
17953 (license license:bsd-3)))
17954
17955(define-public ruby-googleapis-common-protos-types
17956 (package
17957 (name "ruby-googleapis-common-protos-types")
17958 (version "1.13.0")
17959 (source (origin
17960 (method url-fetch)
17961 (uri (rubygems-uri "googleapis-common-protos-types" version))
17962 (sha256
17963 (base32
17964 "1zrxnv9s2q39f2nh32x7nbfi8lpwzmmn3ji4adglg8dlfr1xrz16"))))
17965 (build-system ruby-build-system)
17966 (arguments
17967 `(#:tests? #f)) ;; has no tests
17968 (propagated-inputs (list ruby-google-protobuf))
17969 (synopsis "Common protocol buffer types used by Google APIs")
17970 (description "Common protocol buffer types used by Google APIs")
17971 (home-page "https://github.com/googleapis/common-protos-ruby")
17972 (license license:asl2.0)))
17973
17974(define-public ruby-grpc
17975 (package
17976 (name "ruby-grpc")
17977 (version "1.62.0")
17978 (source (origin
17979 (method url-fetch)
17980 (uri (rubygems-uri "grpc" version))
17981 (sha256
17982 (base32
17983 "03z8yq0z228g6xxxq6s2mmslpv6psrdmi30dpmhysr4px16d897n"))))
17984 (build-system ruby-build-system)
17985 (arguments
17986 `(#:tests? #f)) ;; has no tests
17987 ;; TODO remove third-party sources (zlib, upb, utf8-range, re2, c-ares,
17988 ;; boringssl-with-bazel, address_sorting, abseil-cpp), see Makefile
17989 (propagated-inputs (list ruby-google-protobuf
17990 ruby-googleapis-common-protos-types))
17991 (synopsis "GRPC system in Ruby")
17992 (description "GRPC is a high performance, open-source universal RPC
17993framework. This package provides a ruby interface for it.")
17994 (home-page "https://github.com/grpc/grpc/tree/master/src/ruby")
17995 (license license:asl2.0)))
17996
17365;;; 17997;;;
17366;;; Avoid adding new packages to the end of this file. To reduce the chances 17998;;; Avoid adding new packages to the end of this file. To reduce the chances
17367;;; of a merge conflict, place them above by existing packages with similar 17999;;; of a merge conflict, place them above by existing packages with similar