[PATCH 00/28] Some ruby packages

  • Done
  • quality assurance status badge
Details
One participant
  • Hartmut Goebel
Owner
unassigned
Submitted by
Hartmut Goebel
Severity
normal
H
H
Hartmut Goebel wrote on 8 Feb 10:28 +0100
(address . guix-patches@gnu.org)
cover.1707383694.git.h.goebel@crazy-compilers.com
This are some ruby packages required for hashicorp's tool "vagrant".
These packages have already been submittes as part of
https://issues.guix.gnu.org/65131(which is still unfinished, since vagrant
itself is not yet done). I put them into a separate patch set so at least the
ruby packages can be merged already.


Hartmut Goebel (28):
gnu: Add ruby-test-unit-ruby-core.
gnu: Add ruby-excon.
gnu: Add ruby-ipaddr.
gnu: Add ruby-net-ftp.
gnu: Add ruby-fake-ftp.
gnu: Add ruby-net-sftp.
gnu: Add ruby-net-telnet.
gnu: Add ruby-pairing-heap.
gnu: Add ruby-stringio.
gnu: Add ruby-stream.
gnu: Add ruby-rgl.
gnu: Add ruby-sfl.
gnu: Add ruby-specinfra.
gnu: Add ruby-serverspec.
gnu: Add ruby-time.
gnu: Add ruby-google-protobuf.
gnu: Add ruby-googleapis-common-protos-types.
gnu: Add ruby-grpc.
gnu: Add ruby-vagrant-cloud.
gnu: Add ruby-vagrant-spec.
gnu: Add ruby-vagrant-spec-helper-basic.
gnu: Add ruby-hashicorp-checkpoint.
gnu: ruby-childprocess: Update to 4.1.0.
gnu: Add ruby-libvirt.
gnu: Add ruby-fog-core.
gnu: Add ruby-fog-json.
gnu: Add ruby-fog-xml.
gnu: Add ruby-fog-libvirt.

gnu/packages/ruby.scm | 643 +++++++++++++++++++++++++++++++-
gnu/packages/virtualization.scm | 56 +++
2 files changed, 693 insertions(+), 6 deletions(-)


base-commit: a4464bd0975c811f18af98f69032b29bddda5b81
--
2.41.0
H
H
Hartmut Goebel wrote on 8 Feb 10:35 +0100
[PATCH 01/28] gnu: Add ruby-test-unit-ruby-core.
(address . 68990@debbugs.gnu.org)
eb8089e3effdb8861aa9a8f6849f355cb7f3d28c.1707383694.git.h.goebel@crazy-compilers.com
* gnu/packages/ruby.scm (ruby-test-unit-ruby-core): New variable.
---
gnu/packages/ruby.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

Toggle diff (32 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 1490c783fa..138de7b1fd 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4801,6 +4801,25 @@ (define-public ruby-test-unit/minimal
(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")
--
2.41.0
H
H
Hartmut Goebel wrote on 8 Feb 10:35 +0100
[PATCH 02/28] gnu: Add ruby-excon.
(address . 68990@debbugs.gnu.org)
56bce381f1543b1d73ff64aa0616e2667bf0d638.1707383694.git.h.goebel@crazy-compilers.com
* gnu/packages/ruby.scm (ruby-excon): New variable.
---
gnu/packages/ruby.scm | 49 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 49 insertions(+)

Toggle diff (69 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 138de7b1fd..e410c1c75b 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -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 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -13812,6 +13813,54 @@ (define-public ruby-http-parser.rb
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")
--
2.41.0
H
H
Hartmut Goebel wrote on 8 Feb 10:35 +0100
[PATCH 03/28] gnu: Add ruby-ipaddr.
(address . 68990@debbugs.gnu.org)
684fd66b080407d073ea3dfc008856205878b45b.1707383694.git.h.goebel@crazy-compilers.com
* gnu/packages/ruby.scm (ruby-ipaddr): New variable.
---
gnu/packages/ruby.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index e410c1c75b..f3b34cb154 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4427,6 +4427,27 @@ (define-public ruby-flores
(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-net-http-persistent
(package
(name "ruby-net-http-persistent")
--
2.41.0
H
H
Hartmut Goebel wrote on 8 Feb 10:35 +0100
[PATCH 04/28] gnu: Add ruby-net-ftp.
(address . 68990@debbugs.gnu.org)
17ab17da4446b0c9fc9f5f043960ded34eae59fd.1707383694.git.h.goebel@crazy-compilers.com
* gnu/packages/ruby.scm (ruby-net-ftp): New variable.
---
gnu/packages/ruby.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index f3b34cb154..16dcfc4173 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4448,6 +4448,29 @@ (define-public ruby-ipaddr
(home-page "https://github.com/ruby/ipaddr")
(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")
--
2.41.0
H
H
Hartmut Goebel wrote on 8 Feb 10:35 +0100
[PATCH 05/28] gnu: Add ruby-fake-ftp.
(address . 68990@debbugs.gnu.org)
a4acac192eef512e6fe4448a418af51fb5f73b7b.1707383694.git.h.goebel@crazy-compilers.com
* gnu/packages/ruby.scm (ruby-fake-ftp): New variable.
---
gnu/packages/ruby.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 16dcfc4173..d9df2881cf 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4448,6 +4448,27 @@ (define-public ruby-ipaddr
(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-ftp
(package
(name "ruby-net-ftp")
--
2.41.0
H
H
Hartmut Goebel wrote on 8 Feb 10:35 +0100
[PATCH 06/28] gnu: Add ruby-net-sftp.
(address . 68990@debbugs.gnu.org)
611a68fbc546f20d2756a9358ccd2eb2cd6b843b.1707383694.git.h.goebel@crazy-compilers.com
* gnu/packages/ruby.scm (ruby-net-sftp): New variable.
---
gnu/packages/ruby.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index d9df2881cf..3c84a4b33e 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5584,6 +5584,27 @@ (define-public ruby-net-scp
(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")
--
2.41.0
H
H
Hartmut Goebel wrote on 8 Feb 10:35 +0100
[PATCH 07/28] gnu: Add ruby-net-telnet.
(address . 68990@debbugs.gnu.org)
843fc01048b4ce23c233eee44e2b5bd2afde3e3a.1707383694.git.h.goebel@crazy-compilers.com
* gnu/packages/ruby.scm (ruby-net-telnet): New variable.
---
gnu/packages/ruby.scm | 16 ++++++++++++++++
1 file changed, 16 insertions(+)

Toggle diff (29 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 3c84a4b33e..75b8f5854e 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4469,6 +4469,22 @@ (define-public ruby-fake-ftp
(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")
--
2.41.0
H
H
Hartmut Goebel wrote on 8 Feb 10:35 +0100
[PATCH 08/28] gnu: Add ruby-pairing-heap.
(address . 68990@debbugs.gnu.org)
51bed2af7e2cb69241a365c461f6ce81c8ffbd98.1707383695.git.h.goebel@crazy-compilers.com
* gnu/packages/ruby.scm (ruby-pairing-heap): New variable.
---
gnu/packages/ruby.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 75b8f5854e..4812aa2571 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12051,6 +12051,32 @@ (define-public ruby-queue-classic
(home-page "https://github.com/QueueClassic/queue_classic")
(license license:expat)))
+(define-public ruby-pairing-heap
+ (package
+ (name "ruby-pairing-heap")
+ (version "3.0.1")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "pairing_heap" version))
+ (sha256
+ (base32
+ "15c97yvzkfhy7glsdza48sswidjyjphdx62yjapbrs5fzf0089id"))))
+ (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")
--
2.41.0
H
H
Hartmut Goebel wrote on 8 Feb 10:35 +0100
[PATCH 09/28] gnu: Add ruby-stringio.
(address . 68990@debbugs.gnu.org)
296b07564d099742842bab0c7f017001afb3f013.1707383695.git.h.goebel@crazy-compilers.com
* gnu/packages/ruby.scm (ruby-stringio): New variable.
---
gnu/packages/ruby.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 4812aa2571..7a2854c505 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -14936,6 +14936,26 @@ (define-public ruby-syntax-tree
(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 sorbet-version "0.5.10610.20230106174520-1fa668010")
(define sorbet-monorepo
--
2.41.0
H
H
Hartmut Goebel wrote on 8 Feb 10:35 +0100
[PATCH 10/28] gnu: Add ruby-stream.
(address . 68990@debbugs.gnu.org)
d2a0e93c5b904ef09e88df7e485504e5f86f434f.1707383695.git.h.goebel@crazy-compilers.com
* gnu/packages/ruby.scm (ruby-stream): New variable.
---
gnu/packages/ruby.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 7a2854c505..6b1f7156e6 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -14956,6 +14956,29 @@ (define-public ruby-stringio
(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
--
2.41.0
H
H
Hartmut Goebel wrote on 8 Feb 10:35 +0100
[PATCH 11/28] gnu: Add ruby-rgl.
(address . 68990@debbugs.gnu.org)
a5e6578b5528943047aefde9f6a6b2eec537b129.1707383695.git.h.goebel@crazy-compilers.com
* gnu/packages/ruby.scm (ruby-rgl): New variable.
---
gnu/packages/ruby.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)

Toggle diff (54 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 6b1f7156e6..b08574a924 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -67,6 +67,7 @@ (define-module (gnu packages ruby)
#: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)
@@ -3402,6 +3403,39 @@ (define-public ruby-rbtree
(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")
--
2.41.0
H
H
Hartmut Goebel wrote on 8 Feb 10:35 +0100
[PATCH 12/28] gnu: Add ruby-sfl.
(address . 68990@debbugs.gnu.org)
9ff1837264259c94a4a56f78864f55f62901ba0e.1707383695.git.h.goebel@crazy-compilers.com
* gnu/packages/ruby.scm (ruby-sfl): New variable.
---
gnu/packages/ruby.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index b08574a924..0086ae42df 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12983,6 +12983,26 @@ (define-public ruby-rake-manifest
(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")
--
2.41.0
H
H
Hartmut Goebel wrote on 8 Feb 10:35 +0100
[PATCH 13/28] gnu: Add ruby-specinfra.
(address . 68990@debbugs.gnu.org)
9cd2b83fef9ba670b4dd0e0dcf466a5269460e5f.1707383695.git.h.goebel@crazy-compilers.com
* gnu/packages/ruby.scm (ruby-specinfra): New variable.
---
gnu/packages/ruby.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 0086ae42df..417ae9b277 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1211,6 +1211,35 @@ (define-public ruby-rspec-debug
(home-page "https://github.com/ko1/rspec-debug")
(license license:expat)))
+(define-public ruby-specinfra
+ (package
+ (name "ruby-specinfra")
+ (version "2.87.2")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "specinfra" version))
+ (sha256
+ (base32
+ "08d5a5mqswkcjz3cq2vmaivngfr3k8f3gydbs8mj4ffdbdywz7cn"))))
+ (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)))
+
;; Bundler is yet another source of circular dependencies, so we must disable
;; its test suite as well.
(define-public bundler
--
2.41.0
H
H
Hartmut Goebel wrote on 8 Feb 10:35 +0100
[PATCH 14/28] gnu: Add ruby-serverspec.
(address . 68990@debbugs.gnu.org)
ee0123db5679a939f3efebdb0d2376b8951820c3.1707383695.git.h.goebel@crazy-compilers.com
* gnu/packages/ruby.scm (ruby-serverspec): New variable.
---
gnu/packages/ruby.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (43 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 417ae9b277..4299673313 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1240,6 +1240,36 @@ (define-public ruby-specinfra
(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 don’t 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
--
2.41.0
H
H
Hartmut Goebel wrote on 8 Feb 10:35 +0100
[PATCH 15/28] gnu: Add ruby-time.
(address . 68990@debbugs.gnu.org)
6d60d8f94ddcada4138f40ee4f37749505a3e843.1707383695.git.h.goebel@crazy-compilers.com
* gnu/packages/ruby.scm (ruby-time): New variable.
---
gnu/packages/ruby.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 4299673313..ad24d68d61 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -738,6 +738,30 @@ (define-public ruby-date
(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")
--
2.41.0
H
H
Hartmut Goebel wrote on 8 Feb 10:35 +0100
[PATCH 16/28] gnu: Add ruby-google-protobuf.
(address . 68990@debbugs.gnu.org)
5c0ba88eb4404a8f6e117f4f195133f4efcfcfb9.1707383695.git.h.goebel@crazy-compilers.com
* gnu/packages/ruby.scm (ruby-google-protobuf): New variable.
---
gnu/packages/ruby.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ad24d68d61..182ea21d18 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -17737,6 +17737,32 @@ (define (run-with-output-file file command . args)
(license license:bsd-2)
(properties `((upstream-name . "anystyle-cli")))))
+(define-public ruby-google-protobuf
+ (package
+ (name "ruby-google-protobuf")
+ (version "3.24.4")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "google-protobuf" version))
+ (sha256
+ (base32
+ "1jpjf9p3yf11f1fx74whp4zbxwcaf7jd5y10gknx61fr5z50791q"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ;; has no tests
+ (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)))
+
;;;
;;; 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
--
2.41.0
H
H
Hartmut Goebel wrote on 8 Feb 10:35 +0100
[PATCH 17/28] gnu: Add ruby-googleapis-common-protos-types.
(address . 68990@debbugs.gnu.org)
716e731799da164f18954a27c53bc65aa4867536.1707383695.git.h.goebel@crazy-compilers.com
* gnu/packages/ruby.scm (ruby-googleapis-common-protos-types): New variable.
---
gnu/packages/ruby.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

Toggle diff (32 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 182ea21d18..67d9733764 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -17763,6 +17763,25 @@ (define-public ruby-google-protobuf
(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.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "googleapis-common-protos-types" version))
+ (sha256
+ (base32
+ "040swc57587xviynczj5wv1a0xi8kp4v6zvp53spki27yg446msq"))))
+ (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)))
+
;;;
;;; 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
--
2.41.0
H
H
Hartmut Goebel wrote on 8 Feb 10:35 +0100
[PATCH 18/28] gnu: Add ruby-grpc.
(address . 68990@debbugs.gnu.org)
89a78fc3abc71be8be1a348e46993499ad9b2da6.1707383695.git.h.goebel@crazy-compilers.com
* gnu/packages/ruby.scm (ruby-grpc): New variable.
---
gnu/packages/ruby.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 67d9733764..78cb0fa064 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -17782,6 +17782,29 @@ (define-public ruby-googleapis-common-protos-types
(home-page "https://github.com/googleapis/common-protos-ruby")
(license license:asl2.0)))
+(define-public ruby-grpc
+ (package
+ (name "ruby-grpc")
+ (version "1.61.0")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "grpc" version))
+ (sha256
+ (base32
+ "09ifqn0y33bm7rhnwry9b7kgijh2hbl57bp70vg1md8ga9k283kc"))))
+ (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-googleapis-common-protos-types
+ ruby-google-protobuf))
+ (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
--
2.41.0
H
H
Hartmut Goebel wrote on 8 Feb 10:35 +0100
[PATCH 19/28] gnu: Add ruby-vagrant-cloud.
(address . 68990@debbugs.gnu.org)
6f270fa006ee2c3cd0a35a9d897fca0f909ec511.1707383695.git.h.goebel@crazy-compilers.com
* gnu/packages/ruby.scm (ruby-vagrant-cloud): New variable.
---
gnu/packages/ruby.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 78cb0fa064..0134e01a28 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -9629,6 +9629,30 @@ (define-public ruby-octokit
(home-page "https://github.com/octokit/octokit.rb")
(license license:expat)))
+(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-pry-byebug
(package
(name "ruby-pry-byebug")
--
2.41.0
H
H
Hartmut Goebel wrote on 8 Feb 10:35 +0100
[PATCH 20/28] gnu: Add ruby-vagrant-spec.
(address . 68990@debbugs.gnu.org)
52a891fd83d61070ee77b27ab2c62527ea0a5379.1707383695.git.h.goebel@crazy-compilers.com
* gnu/packages/virtualization.scm (ruby-vagrant-spec): New variable.
---
gnu/packages/virtualization.scm | 37 +++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)

Toggle diff (71 lines)
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 91f7a151a6..59cb2a6e58 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -31,6 +31,7 @@
;;; Copyright © 2023 Juliana Sims <juli@incana.org>
;;; Copyright © 2023 Ahmad Draidi <a.r.draidi@redscript.org>
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
+;;; Copyright © 2023 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -123,6 +124,7 @@ (define-module (gnu packages virtualization)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages ruby)
#:use-module (gnu packages rsync)
#:use-module (gnu packages sdl)
#:use-module (gnu packages selinux)
@@ -143,6 +145,7 @@ (define-module (gnu packages virtualization)
#:use-module (guix build-system go)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
+ #:use-module (guix build-system ruby)
#:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix gexp)
@@ -2311,6 +2314,40 @@ (define-public skopeo
@end enumerate")
(license license:asl2.0)))
+(define-public ruby-vagrant-spec
+ (package
+ (name "ruby-vagrant-spec")
+ (version "0.0.6")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "vagrant_spec" version))
+ (sha256
+ (base32
+ "1bkzz3mj7kzsv6k0ii8w31cgkpiqw3wvmvv2c6rknsavqqnagb4g"))))
+ (build-system ruby-build-system)
+ ;; (native-inputs (list ruby-rubocop ruby-vagrant-spec-helper-basic))
+ (propagated-inputs (list ruby-coveralls ruby-serverspec ruby-dep))
+ (arguments
+ (list
+ #:tests? #f ;; tests require vagrant
+ ;; target 'test' includes 'cops' and running some ansible-playbook
+ #:test-target "unit"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch
+ (lambda _
+ (substitute* "Rakefile"
+ (("Bundler::GemHelper") "require 'bundler'\nBundler::GemHelper"))))
+ (add-before 'check 'prepare-check
+ (lambda _
+ (setenv "HOME" "/tmp"))))))
+ (synopsis "Specification and tests for Vagrant")
+ (description "@code{vagrant-spec} is a both a specification of how Vagrant
+and its various components should behave as well as a library of testing
+helpers that let you write your own unit and acceptance tests for Vagrant.")
+ (home-page "https://github.com/hashicorp/vagrant-spec")
+ (license license:mpl2.0)))
+
(define-public python-vagrant
(package
(name "python-vagrant")
--
2.41.0
H
H
Hartmut Goebel wrote on 8 Feb 10:35 +0100
[PATCH 21/28] gnu: Add ruby-vagrant-spec-helper-basic.
(address . 68990@debbugs.gnu.org)
0d4491cfe2db4f59940a92fb2a20b1055981519e.1707383695.git.h.goebel@crazy-compilers.com
* gnu/packages/virtualization.scm (ruby-vagrant-spec-helper-basic): New variable.
---
gnu/packages/virtualization.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

Toggle diff (32 lines)
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 59cb2a6e58..6d265796ce 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -2314,6 +2314,25 @@ (define-public skopeo
@end enumerate")
(license license:asl2.0)))
+(define-public ruby-vagrant-spec-helper-basic
+ (package
+ (name "ruby-vagrant-spec-helper-basic")
+ (version "0.2.0")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "vagrant-spec-helper-basic" version))
+ (sha256
+ (base32
+ "1qhxxc07dhrma1s1x2g9sma7xxgwzs20s6v5pv9jrpz6bl4b527n"))))
+ (build-system ruby-build-system)
+ (arguments
+ (list #:tests? #f)) ;; has not tests
+ (synopsis "Helper for vagrant-spec")
+ (description "This package is an internal helper for vagrant-spec. Don't
+use it.")
+ (home-page "https://github.com/hashicorp/vagrant-spec")
+ (license license:mpl2.0)))
+
(define-public ruby-vagrant-spec
(package
(name "ruby-vagrant-spec")
--
2.41.0
H
H
Hartmut Goebel wrote on 8 Feb 10:35 +0100
[PATCH 22/28] gnu: Add ruby-hashicorp-checkpoint.
(address . 68990@debbugs.gnu.org)
39cb4de8eb9e0908676451bd2c47421865f0c538.1707383695.git.h.goebel@crazy-compilers.com
* gnu/packages/ruby.scm (ruby-hashicorp-checkpoint): New variable.
---
gnu/packages/ruby.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 0134e01a28..d07562f654 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -9629,6 +9629,26 @@ (define-public ruby-octokit
(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")
--
2.41.0
H
H
Hartmut Goebel wrote on 8 Feb 10:35 +0100
[PATCH 23/28] gnu: ruby-childprocess: Update to 4.1.0.
(address . 68990@debbugs.gnu.org)
833090e4552a00de1025d5c71c4c4cd370bfd05a.1707383695.git.h.goebel@crazy-compilers.com
This change include code for making more tests pass. Anyhow, one is still
failing for unclear reason, thus tests are still disabled.

* gnu/packages/ruby.scm (ruby-childprocess): Update to 4.1.0.
[arguments]{test-target}: New argument. {phases}: New argument
[propagated-inputs]: Remove ruby-ffi.
[native-inputs]: Remove bundler; add ruby-coveralls.
---
gnu/packages/ruby.scm | 17 +++++++++++------
1 file changed, 11 insertions(+), 6 deletions(-)

Toggle diff (39 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index d07562f654..09f8876d0c 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13133,21 +13133,26 @@ (define-public ruby-sfl
(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.")
--
2.41.0
H
H
Hartmut Goebel wrote on 8 Feb 10:35 +0100
[PATCH 24/28] gnu: Add ruby-libvirt.
(address . 68990@debbugs.gnu.org)
91500a2bacd10106e43c7faa91f6eb309da9c5b3.1707383695.git.h.goebel@crazy-compilers.com
* gnu/packages/ruby.scm (ruby-libvirt): New variable.
---
gnu/packages/ruby.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (43 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 09f8876d0c..9e1d36c4ea 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -80,6 +80,7 @@ (define-module (gnu packages ruby)
#: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)
@@ -9673,6 +9674,28 @@ (define-public ruby-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.0")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "ruby-libvirt" version))
+ (sha256
+ (base32
+ "0rnmbfhdz270fky0cm8w1i73gkrnlf3s1hdkm5yxjkdbvapwvjsd"))))
+ (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-pry-byebug
(package
(name "ruby-pry-byebug")
--
2.41.0
H
H
Hartmut Goebel wrote on 8 Feb 10:35 +0100
[PATCH 25/28] gnu: Add ruby-fog-core.
(address . 68990@debbugs.gnu.org)
9856948f7166bb4b3cabda0717fb3e9b03b33967.1707383695.git.h.goebel@crazy-compilers.com
* gnu/packages/ruby.scm (ruby-fog-core): New variable.
---
gnu/packages/ruby.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (43 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 9e1d36c4ea..01174275e6 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -9696,6 +9696,36 @@ (define-public ruby-libvirt
(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-pry-byebug
(package
(name "ruby-pry-byebug")
--
2.41.0
H
H
Hartmut Goebel wrote on 8 Feb 10:35 +0100
[PATCH 26/28] gnu: Add ruby-fog-json.
(address . 68990@debbugs.gnu.org)
6e765bfd75cacbd6a3a7dbdc071f15eaaf42a605.1707383695.git.h.goebel@crazy-compilers.com
* gnu/packages/ruby.scm (ruby-fog-json): New variable.
---
gnu/packages/ruby.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 01174275e6..eaff43370b 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -9726,6 +9726,29 @@ (define-public ruby-fog-core
(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-pry-byebug
(package
(name "ruby-pry-byebug")
--
2.41.0
H
H
Hartmut Goebel wrote on 8 Feb 10:35 +0100
[PATCH 27/28] gnu: Add ruby-fog-xml.
(address . 68990@debbugs.gnu.org)
4208b3dcdff5d60f52899777d67029379282c3fd.1707383695.git.h.goebel@crazy-compilers.com
* gnu/packages/ruby.scm (ruby-fog-xml): New variable.
---
gnu/packages/ruby.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)

Toggle diff (48 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index eaff43370b..dc6f6a1b29 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -9749,6 +9749,41 @@ (define-public ruby-fog-json
(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-pry-byebug
(package
(name "ruby-pry-byebug")
--
2.41.0
H
H
Hartmut Goebel wrote on 8 Feb 10:35 +0100
[PATCH 28/28] gnu: Add ruby-fog-libvirt.
(address . 68990@debbugs.gnu.org)
6109248b114ce377e476ffe80fbb3cd8c352272c.1707383695.git.h.goebel@crazy-compilers.com
* gnu/packages/ruby.scm (ruby-fog-libvirt): New variable.
---
gnu/packages/ruby.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (47 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index dc6f6a1b29..2a21bf8bc6 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -90,6 +90,7 @@ (define-module (gnu packages ruby)
#: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)
@@ -9784,6 +9785,32 @@ (define-public ruby-fog-xml
(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")
--
2.41.0
H
H
Hartmut Goebel wrote on 24 Feb 16:55 +0100
Re: bug#68990: Acknowledgement ([PATCH 00/28] Some ruby packages)
(address . 68990-close@debbugs.gnu.org)
a2fefb1a-c803-57e4-7081-26feefb1fe3a@crazy-compilers.com
Pushed as f861793141d04ba737438330a239165991712c03 after fixing some
(minor) lint errors and refreshing some packages which have been updated
meanwhile.

--
Regards
Hartmut Goebel

| Hartmut Goebel | h.goebel@crazy-compilers.com |
| www.crazy-compilers.com | compilers which you thought are impossible |
?