Merge branch 'master' into gnome-team

This commit is contained in:
Liliana Marie Prikler 2024-02-25 10:28:03 +01:00
commit 7bf4ce4582
No known key found for this signature in database
GPG key ID: 442A84B8C70E2F87
105 changed files with 11027 additions and 5082 deletions

View file

@ -35,6 +35,7 @@
;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2023, 2024 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -67,6 +68,7 @@
#:use-module (gnu packages rails)
#:use-module (gnu packages readline)
#:use-module (gnu packages autotools)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages java)
#:use-module (gnu packages libffi)
@ -79,6 +81,7 @@
#:use-module (gnu packages networking)
#:use-module (gnu packages node)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
@ -88,6 +91,7 @@
#:use-module (gnu packages tls)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages version-control)
#:use-module (gnu packages virtualization)
#:use-module (gnu packages web-browsers)
#:use-module (gnu packages serialization)
#:use-module (guix packages)
@ -737,6 +741,30 @@ includes the @code{Comparable} module for handling dates.")
(home-page "https://github.com/ruby/date")
(license license:bsd-2)))
(define-public ruby-time
(package
(name "ruby-time")
(version "0.3.0")
(source (origin
(method git-fetch) ; for tests
(uri (git-reference
(url "https://github.com/ruby/time")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0jd6df2lxd60wcxyaf37j8v3nnfn952d5xhg6aap9zlcdmkk4g2n"))))
(build-system ruby-build-system)
(propagated-inputs (list ruby-date))
(native-inputs (list ruby-test-unit-ruby-core))
(synopsis
"Extends the Time class with methods for parsing and conversion")
(description
"When this gem is @code{require}d, it extends the Time class with with
additional methods for parsing and converting Times.")
(home-page "https://github.com/ruby/time")
(license license:bsd-2)))
(define-public ruby-diff-lcs
(package
(name "ruby-diff-lcs")
@ -1210,6 +1238,65 @@ the @env{RSPEC_DEBUG} environment variable to @samp{true} then invoke the
(home-page "https://github.com/ko1/rspec-debug")
(license license:expat)))
(define-public ruby-specinfra
(package
(name "ruby-specinfra")
(version "2.88.1")
(source (origin
(method url-fetch)
(uri (rubygems-uri "specinfra" version))
(sha256
(base32
"07lap3sknncffpq9jw1x1mn9c5xxd058wxs5vnyz1y0lawdjfnsf"))))
(build-system ruby-build-system)
(propagated-inputs (list ruby-net-scp ruby-net-ssh ruby-net-telnet
ruby-sfl))
(arguments
(list
#:test-target "spec"
#:phases
#~(modify-phases %standard-phases
(add-after 'extract-gemspec 'relax-dependencies
(lambda _
(substitute* "specinfra.gemspec"
(("%q<net-telnet>.freeze, \\[.*\\]")
"%q<net-telnet>.freeze, [\">= 0\"]")))))))
(synopsis "Common layer for serverspec and itamae")
(description "This Gem provides a common layer for serverspec and
itamae.")
(home-page "https://github.com/mizzy/specinfra")
(license license:expat)))
(define-public ruby-serverspec
(package
(name "ruby-serverspec")
(version "2.42.3")
(source (origin
(method url-fetch)
(uri (rubygems-uri "serverspec" version))
(sha256
(base32
"0kfaqrqynly8n3dy5qrbjvx4lx6mk9a5vynwb7xwqj8bixm0mab4"))))
(build-system ruby-build-system)
(propagated-inputs (list ruby-multi-json ruby-rspec ruby-rspec-its
ruby-specinfra))
(arguments
(list #:test-target "spec"))
(synopsis
"RSpec tests for servers configured by Puppet, Chef, Itamae, etc")
(description
"With Serverspec, you can write RSpec tests for checking your servers are
configured correctly.
Serverspec tests your servers actual state by executing command locally, via
SSH, via WinRM, via Docker API and so on. So you dont need to install any
agent softwares on your servers and can use any configuration management
tools, Puppet, Ansible, CFEngine, Itamae and so on.
But the true aim of Serverspec is to help refactoring infrastructure code.")
(home-page "https://serverspec.org/")
(license license:expat)))
;; Bundler is yet another source of circular dependencies, so we must disable
;; its test suite as well.
(define-public bundler
@ -3402,6 +3489,39 @@ identical to that of Hash.")
(home-page "http://rbtree.rubyforge.org/")
(license license:expat)))
(define-public ruby-rgl
(package
(name "ruby-rgl")
(version "0.6.6")
(source (origin
(method url-fetch)
(uri (rubygems-uri "rgl" version))
(sha256
(base32
"0dji1k9knrf8cxm5psd3pgd9i8f7cfq182jwjpi1pwxw15axf496"))))
(build-system ruby-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-unnecessary-dependencies
(lambda _
(substitute* "Gemfile"
;; Caring about coverage is a not a packager's task but a
;; developer's
;;(("gem \"simplecov\"") "")
;; CodeClimate is an online service, and is unnecessary for
;; running the tests
(("gem \"codeclimate-test-reporter\", .*") "\n")))))))
(native-inputs (list ruby-test-unit ruby-simplecov ruby-yard graphviz-minimal))
(propagated-inputs (list ruby-pairing-heap ruby-rexml ruby-stream))
(synopsis "Framework for graph data structures and algorithms")
(description "RGL is a framework for graph data structures and algorithms.
The design of the library is much influenced by the Boost Graph Library (BGL)
which is written in C++.")
(home-page "https://github.com/monora/rgl")
(license license:bsd-2)))
(define-public ruby-hkdf
(package
(name "ruby-hkdf")
@ -4427,6 +4547,87 @@ help tests uncover more bugs.")
(home-page "https://github.com/jordansissel/ruby-flores")
(license license:asl2.0)))
(define-public ruby-ipaddr
(package
(name "ruby-ipaddr")
(version "1.2.6")
(source (origin
(method git-fetch) ;for tests
(uri (git-reference
(url "https://github.com/ruby/ipaddr")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0h3z8i1fa8s4gx48322fflhpkzghd4bmd9109hglsgdkic7b0dyp"))))
(build-system ruby-build-system)
(native-inputs (list ruby-test-unit-ruby-core))
(synopsis "Manipulate IP addresses")
(description "This package provides a set of methods to manipulate an IP
address. Both IPv4 and IPv6 are supported.")
(home-page "https://github.com/ruby/ipaddr")
(license license:bsd-2)))
(define-public ruby-fake-ftp
(package
(name "ruby-fake-ftp")
(version "0.3.0")
(source (origin
(method url-fetch)
(uri (rubygems-uri "fake_ftp" version))
(sha256
(base32
"1zl9q9m4x7lz9890g0h1qqj7hcxnwzpjfnfbxadjblps7b5054q4"))))
(build-system ruby-build-system)
(native-inputs (list ruby-rspec ruby-rubocop ruby-simplecov))
(arguments
'(#:test-target "spec"))
(synopsis "Fake FTP server for use with ruby tests")
(description "This package allows you to test FTP implementations in ruby.
It is a minimal single-client FTP server that can be bound to any arbitrary
port on localhost.")
(home-page "https://rubygems.org/gems/fake_ftp")
(license license:expat)))
(define-public ruby-net-telnet
(package
(name "ruby-net-telnet")
(version "0.2.0")
(source (origin
(method url-fetch)
(uri (rubygems-uri "net-telnet" version))
(sha256
(base32
"16nkxc79nqm7fd6w1fba4kb98vpgwnyfnlwxarpdcgywz300fc15"))))
(build-system ruby-build-system)
(synopsis "Telnet client functionality")
(description "This package provides telnet client functionality.")
(home-page "https://github.com/ruby/net-telnet")
(license license:bsd-2)))
(define-public ruby-net-ftp
(package
(name "ruby-net-ftp")
(version "0.3.4")
(source (origin
(method git-fetch) ;for tests
(uri (git-reference
(url "https://github.com/ruby/net-ftp")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"11b1sw7c4c7xrhn5li5m0wylw42hp52jp6pqacyb43hkw1m5zr36"))))
(build-system ruby-build-system)
(propagated-inputs (list ruby-net-protocol ruby-time))
(synopsis "File Transfer Protocol client library")
(description "This class implements the File Transfer Protocol. If you
have used a command-line FTP program, and are familiar with the commands, you
will be able to use this class easily. Some extra features are included to
take advantage of Ruby's style and strengths.")
(home-page "https://github.com/ruby/net-ftp")
(license license:bsd-2)))
(define-public ruby-net-http-persistent
(package
(name "ruby-net-http-persistent")
@ -4802,6 +5003,25 @@ It allows writing tests, checking results and automated testing in Ruby.")
(list #:tests? #f)))
(native-inputs '()))))
(define-public ruby-test-unit-ruby-core
(package
(name "ruby-test-unit-ruby-core")
(version "1.0.5")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "test-unit-ruby-core" version))
(sha256
(base32 "1i7fa4hlj6xiqvjaikagwrmiyc21jzyswvd4grjbfqysziwsxygc"))))
(build-system ruby-build-system)
(arguments
(list #:tests? #f)) ; contains no tests
(synopsis "Additional test assertions for Ruby standard libraries")
(description "This package provides additional test assertions for Ruby
standard libraries.")
(home-page "https://github.com/ruby/test-unit-ruby-core")
(license license:ruby)))
(define-public ruby-mapping
(package
(name "ruby-mapping")
@ -5500,6 +5720,27 @@ client protocol.")
(home-page "https://github.com/net-ssh/net-scp")
(license license:expat)))
(define-public ruby-net-sftp
(package
(name "ruby-net-sftp")
(version "4.0.0")
(source (origin
(method url-fetch)
(uri (rubygems-uri "net-sftp" version))
(sha256
(base32
"0r33aa2d61hv1psm0l0mm6ik3ycsnq8symv7h84kpyf2b7493fv5"))))
(build-system ruby-build-system)
(propagated-inputs (list ruby-net-ssh))
(synopsis "Pure Ruby implementation of the SFTP client protocol")
(description
"@code{Net::SFTP} is a pure Ruby implementation of the SFTP
protocol (specifically, versions 1 through 6 of the SFTP protocol). Note that
this is the Secure File Transfer Protocol, typically run over an SSH
connection, and has nothing to do with the FTP protocol.")
(home-page "https://github.com/net-ssh/net-sftp")
(license license:expat)))
(define-public ruby-minima
(package
(name "ruby-minima")
@ -9391,6 +9632,186 @@ follows Ruby conventions and requires little knowledge of REST.")
(home-page "https://github.com/octokit/octokit.rb")
(license license:expat)))
(define-public ruby-hashicorp-checkpoint
(package
(name "ruby-hashicorp-checkpoint")
(version "0.1.5")
(source (origin
(method url-fetch)
(uri (rubygems-uri "hashicorp-checkpoint" version))
(sha256
(base32
"1z6mwzvd7p2wqhmk07dwrhvm0ncgqm7pxn0pr2k025rwsspp9bsd"))))
(build-system ruby-build-system)
(arguments
(list #:tests? #f)) ;; no need to test, useless outside HashiCorp anyway
(synopsis "Internal HashiCorp service to check version information")
(description "This package is probably useless outside of internal
HashiCorp use. It is open source for disclosure and because HashiCorp's open
source projects must be able to link to it.")
(home-page "https://github.com/hashicorp/ruby-checkpoint")
(license license:mpl2.0)))
(define-public ruby-vagrant-cloud
(package
(name "ruby-vagrant-cloud")
(version "3.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hashicorp/vagrant_cloud")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0bnjd8b86lrgj5ar1l7pg5if95bv0sxa75mz7x2ikqyz6q8rmjb3"))))
(build-system ruby-build-system)
(arguments
`(#:test-target "spec"))
(native-inputs (list ruby-rspec ruby-webmock))
(propagated-inputs (list ruby-excon ruby-log4r ruby-rexml))
(synopsis "Vagrant Cloud API library")
(description "This library provides the functionality to create, modify,
and delete boxes, versions, and providers on HashiCorp's Vagrant Cloud.")
(home-page "https://github.com/hashicorp/vagrant_cloud")
(license license:asl2.0)))
(define-public ruby-libvirt
(package
(name "ruby-libvirt")
(version "0.8.2")
(source (origin
(method url-fetch)
(uri (rubygems-uri "ruby-libvirt" version))
(sha256
(base32
"0v6vj5vs9v01zr00bflqpfczhwcyc6jdf8k2dqn42lq6d87si77d"))))
(build-system ruby-build-system)
(arguments
(list
#:tests? #f)) ; tests require access to libvirt socket
(native-inputs (list pkg-config))
(inputs (list libvirt))
(synopsis "Ruby bindings for libvirt")
(description "This package provides Ruby language binding for libvirt's
native C API.")
(home-page "https://ruby.libvirt.org/")
(license license:lgpl2.1+)))
(define-public ruby-fog-core
(package
(name "ruby-fog-core")
(version "2.4.0")
(source (origin
(method git-fetch) ; for tests
(uri (git-reference
(url "https://github.com/fog/fog-core")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"184vpi81az7raz98652m7d98ikabdl9di37dgal0adr76q57j03c"))))
(build-system ruby-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'set-home
(lambda _
(setenv "HOME" "/tmp"))))))
(native-inputs (list ruby-minitest-stub-const))
(propagated-inputs (list ruby-builder ruby-excon ruby-formatador
ruby-mime-types))
(synopsis "Shared classes and tests for fog providers and services")
(description "@code{fog} is a Ruby cloud services library. This package
provides shared classes and tests for @code{fog} providers and services.")
(home-page "https://github.com/fog/fog-core")
(license license:expat)))
(define-public ruby-fog-json
(package
(name "ruby-fog-json")
(version "1.2.0")
(source (origin
(method git-fetch) ; for tests
(uri (git-reference
(url "https://github.com/fog/fog-json")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0f4hbmhy22b1gbkzd3pnj5xvljp6bl7inc2y4fxh29nrmcn4pgb0"))))
(build-system ruby-build-system)
(native-inputs (list ruby-minitest))
(propagated-inputs (list ruby-fog-core ruby-multi-json))
(synopsis "JSON parsing tools used by @code{fog} providers")
(description "This package containse the JSON parsing tools shared between
a number of providers in the @code{fog} gem. @code{fog} is a Ruby cloud
services library.")
(home-page "https://github.com/fog/fog-json")
(license license:expat)))
(define-public ruby-fog-xml
(package
(name "ruby-fog-xml")
(version "0.1.4")
(source (origin
(method git-fetch) ; for tests
(uri (git-reference
(url "https://github.com/fog/fog-xml")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0d0n201qzcjxis5wb26bi3s7yfhlmqkwsl6lb9w4szq3b8l1xbwn"))))
(build-system ruby-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
;; Run tests via bundler so rake picks up the minitest gem from
;; native-inputs, not the one installed otherwise. This is required
;; since turn@0.9.7 needs minitest@4 and can not be upgraded to
;; minitest@5.
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "bundle" "exec" "rake")))))))
(native-inputs (list ruby-minitest-4 ruby-turn ruby-pry ruby-coveralls))
(propagated-inputs (list ruby-fog-core ruby-nokogiri))
(synopsis "XML parsing tools used by @code{fog} providers")
(description "This package containse the XML parsing tools shared between
a number of providers in the @code{fog} gem. @code{fog} is a Ruby cloud
services library.")
(home-page "https://github.com/fog/fog-xml")
(license license:expat)))
(define-public ruby-fog-libvirt
(package
(name "ruby-fog-libvirt")
(version "0.12.0")
(source (origin
(method git-fetch) ; for tests
(uri (git-reference
(url "https://github.com/fog/fog-libvirt")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0b1qafb0l24anmr8fviwhp9vj14g0fic0mkg9n1i11h68zhqkj2v"))))
(build-system ruby-build-system)
(native-inputs (list ruby-minitest-stub-const ruby-mocha ruby-net-ssh
ruby-netrc ruby-octokit ruby-pry ruby-rubocop
ruby-shindo ruby-simplecov ruby-yard ))
(propagated-inputs (list ruby-fog-core ruby-fog-json ruby-fog-xml
ruby-json ruby-libvirt))
(synopsis "Ruby libvirt provider, either standalone or as a module for
@code{fog}")
(description "This library can be used as a module for @code{fog} or as
standalone libvirt provider. @code{fog} is a Ruby cloud services library.")
(home-page "https://github.com/fog/fog-libvirt")
(license license:expat)))
(define-public ruby-pry-byebug
(package
(name "ruby-pry-byebug")
@ -11930,6 +12351,32 @@ dependency, @code{pg}.")
(home-page "https://github.com/QueueClassic/queue_classic")
(license license:expat)))
(define-public ruby-pairing-heap
(package
(name "ruby-pairing-heap")
(version "3.1.0")
(source (origin
(method url-fetch)
(uri (rubygems-uri "pairing_heap" version))
(sha256
(base32
"059kqpw53cancnp0bp7y1s74y1955riw33w3lqfbnms4b4mdh5zj"))))
(build-system ruby-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch
(lambda _
(substitute* "Rakefile"
(("require \"standard/rake\"") "")
((":\"standard:fix\",") "")))))))
(synopsis "Priority queue in pure Ruby")
(description "This package provides a performant priority queue in pure
ruby with support for changing priority using pairing heap data structure")
(home-page "https://github.com/mhib/pairing_heap")
(license license:expat)))
(define-public ruby-ae
(package
(name "ruby-ae")
@ -12802,24 +13249,49 @@ manifest file.")
(home-page "https://github.com/mvz/rake-manifest")
(license license:expat)))
(define-public ruby-sfl
(package
(name "ruby-sfl")
(version "2.3")
(source (origin
(method url-fetch)
(uri (rubygems-uri "sfl" version))
(sha256
(base32
"1qm4hvhq9pszi9zs1cl9qgwx1n4wxq0af0hq9sbf6qihqd8rwwwr"))))
(build-system ruby-build-system)
(arguments
`(#:tests? #f ;; some tests fail, gem is a dummy for ruby >= 1.9 anyway
#:test-target "spec"))
(synopsis "Spawn for Ruby 1.8")
(description "This pure ruby library provides @code{spawn()} which is
almost perfectly compatible with ruby 1.9's.")
(home-page "https://github.com/ujihisa/spawn-for-legacy")
(license license:bsd-2)))
(define-public ruby-childprocess
(package
(name "ruby-childprocess")
(version "3.0.0")
(version "4.1.0")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "childprocess" version))
(sha256
(base32
"1ic028k8xgm2dds9mqnvwwx3ibaz32j8455zxr9f4bcnviyahya5"))))
"1lvcp8bsd35g57f7wz4jigcw2sryzzwrpcgjwwf3chmjrjcww5in"))))
(build-system ruby-build-system)
(arguments
`(#:tests? #f))
`(#:tests? #f ;; one failing test, even with fixes below
#:test-target "spec"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch
(lambda _
(substitute* "spec/spec_helper.rb"
(("#!/bin/sh\\\\n") (string-append "#!" (which "sh") "\\n"))))))))
(native-inputs
(list bundler ruby-rspec))
(propagated-inputs
(list ruby-ffi))
(list ruby-coveralls ruby-rspec))
(synopsis "Control external programs running in the background, in Ruby")
(description "@code{childprocess} provides a gem to control external
programs running in the background, in Ruby.")
@ -13794,6 +14266,54 @@ GFM dialect to HTML.")
parser for writing http servers, clients and proxies.")
(license license:expat)))
(define-public ruby-excon
(package
(name "ruby-excon")
(version "0.109.0")
(source (origin
(method git-fetch) ;for tests
(uri (git-reference
(url "https://github.com/excon/excon")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"199niqbpzj70k3n6ybg4vbcw3qm76kwic4nl9747l1n0v49aaj24"))))
(build-system ruby-build-system)
(arguments
(list
#:tests? #f ;; some tests require DNS
#:phases
#~(modify-phases %standard-phases
(replace 'replace-git-ls-files
(lambda _
(substitute* "excon.gemspec"
(("`git ls-files -- data/. lib/.`")
"`find data lib -type f`"))))
(add-before 'check 'disable-server-spec-checks
(lambda _ ;; TODO: Remove this if ruby-unicorn is available.
;; Some of the tests in this file require ruby-unicorn, which is
;; not yet packaged for guix and would pull in a lot of other
;; dependencies.
(delete-file "spec/excon/test/server_spec.rb"))))))
(native-inputs
(list
ruby-activesupport
ruby-eventmachine
ruby-json
ruby-open4
ruby-puma
ruby-rspec
ruby-shindo
ruby-sinatra
ruby-webrick))
(synopsis "Usable, fast, simple Ruby HTTP 1.1")
(description "Excon was designed to be simple, fast and performant. It
works great as a general HTTP(s) client and is particularly well suited to
usage in API clients.")
(home-page "https://github.com/excon/excon")
(license license:expat)))
(define-public ruby-em-websocket
(package
(name "ruby-em-websocket")
@ -14741,6 +15261,49 @@ can be used to build formatters, linters, language servers, and more.")
(home-page "https://github.com/ruby-syntax-tree/syntax_tree")
(license license:expat)))
(define-public ruby-stringio
(package
(name "ruby-stringio")
(version "3.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ruby/stringio")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1jgi2w5y0z0x9mfapr2pdlag4wvn03fpf5kbai8bscyh8nn79yka"))))
(build-system ruby-build-system)
(native-inputs (list ruby-rake-compiler ruby-test-unit-ruby-core))
(synopsis "Pseudo `IO` class from and to `String`")
(description "Pseudo `IO` class from and to `String`.")
(home-page "https://github.com/ruby/stringio")
(license license:bsd-2)))
(define-public ruby-stream
(package
(name "ruby-stream")
(version "0.5.5")
(source (origin
(method url-fetch)
(uri (rubygems-uri "stream" version))
(sha256
(base32
"016m9v81vpj14d8g5ins91zc4pzl7vf5f1gxl7jhfsfy601k7cv2"))))
(build-system ruby-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-before 'check 'remove-version-constraints
(lambda _
(delete-file "Gemfile.lock"))))))
(native-inputs (list bundler ruby-stringio ruby-webrick ruby-yard))
(synopsis "Interface for external iterators")
(description "Module Stream defines an interface for external iterators.")
(home-page "https://github.com/monora/stream")
(license license:bsd-2)))
(define sorbet-version "0.5.10610.20230106174520-1fa668010")
(define sorbet-monorepo
@ -17362,6 +17925,75 @@ has not yet been packaged for Guix.")
(license license:bsd-2)
(properties `((upstream-name . "anystyle-cli")))))
(define-public ruby-google-protobuf
(package
(name "ruby-google-protobuf")
(version "3.25.3")
(source (origin
(method url-fetch)
(uri (rubygems-uri "google-protobuf" version))
(sha256
(base32
"1mnxzcq8kmyfb9bkzqnp019d1hx1vprip3yzdkkha6b3qz5rgg9r"))))
(build-system ruby-build-system)
(arguments
`(#:tests? #f)) ;; has no tests
(native-inputs (list ruby-rake))
(synopsis "Protocol Buffers are Google's data interchange format")
(description "This library contains the Ruby extension that implements
Protocol Buffers functionality in Ruby.
The Ruby extension makes use of generated Ruby code that defines message and
enum types in a Ruby DSL. You may write definitions in this DSL directly, but
we recommend using protoc's Ruby generation support with @code{.proto} files.
The build process in this directory only installs the extension; you need to
install @code{protoc} (in package ruby-grpc-tools) as well to have Ruby code
generation functionality.")
(home-page "https://protobuf.dev")
(license license:bsd-3)))
(define-public ruby-googleapis-common-protos-types
(package
(name "ruby-googleapis-common-protos-types")
(version "1.13.0")
(source (origin
(method url-fetch)
(uri (rubygems-uri "googleapis-common-protos-types" version))
(sha256
(base32
"1zrxnv9s2q39f2nh32x7nbfi8lpwzmmn3ji4adglg8dlfr1xrz16"))))
(build-system ruby-build-system)
(arguments
`(#:tests? #f)) ;; has no tests
(propagated-inputs (list ruby-google-protobuf))
(synopsis "Common protocol buffer types used by Google APIs")
(description "Common protocol buffer types used by Google APIs")
(home-page "https://github.com/googleapis/common-protos-ruby")
(license license:asl2.0)))
(define-public ruby-grpc
(package
(name "ruby-grpc")
(version "1.62.0")
(source (origin
(method url-fetch)
(uri (rubygems-uri "grpc" version))
(sha256
(base32
"03z8yq0z228g6xxxq6s2mmslpv6psrdmi30dpmhysr4px16d897n"))))
(build-system ruby-build-system)
(arguments
`(#:tests? #f)) ;; has no tests
;; TODO remove third-party sources (zlib, upb, utf8-range, re2, c-ares,
;; boringssl-with-bazel, address_sorting, abseil-cpp), see Makefile
(propagated-inputs (list ruby-google-protobuf
ruby-googleapis-common-protos-types))
(synopsis "GRPC system in Ruby")
(description "GRPC is a high performance, open-source universal RPC
framework. This package provides a ruby interface for it.")
(home-page "https://github.com/grpc/grpc/tree/master/src/ruby")
(license license:asl2.0)))
;;;
;;; Avoid adding new packages to the end of this file. To reduce the chances
;;; of a merge conflict, place them above by existing packages with similar