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

This issue is archived.

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

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