[PATCH 00/15] Add ruby-rubocop and dependencies.

  • Done
  • quality assurance status badge
Details
2 participants
  • Christopher Baines
  • Ricardo Wurmus
Owner
unassigned
Submitted by
Christopher Baines
Severity
normal
C
C
Christopher Baines wrote on 27 Jan 2019 18:01
(address . guix-patches@gnu.org)
87y376ghl0.fsf@cbaines.net
Following on from #34217 [1], these patches add ruby-rubocop and some
dependencies. This is part of packaging Rails (Ruby web framework) for
Guix [2].



Christopher Baines (15):
gnu: ruby-rspec-its: Enable tests.
gnu: Add ruby-powerpack.
gnu: Add ruby-rainbow.
gnu: Add ruby-racc.
gnu: Add ruby-hashdiff.
gnu: Add ruby-crack.
gnu: Add ruby-webmock.
gnu: Add ruby-rest-client.
gnu: Add ruby-bacon-colored-output.
gnu: Add ruby-ast.
gnu: Add ruby-cliver.
gnu: Add ruby-parser.
gnu: Add ruby-unicode-display-width.
gnu: Add ruby-jaro-winkler.
gnu: Add ruby-rubocop.

gnu/packages/ruby.scm | 463 +++++++++++++++++++++++++++++++++++++++++-
1 file changed, 456 insertions(+), 7 deletions(-)
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlxN4/tfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9Xcgkg/8Dg0qI1WLE9iPJYF3NXhHN1kHStwHZoqLFO224rhkDgD5sJlTfqjIxkLh
9L10wBme6ni/aktjUYuCpgsB0a8J2buIx7HiXb5JSKgEkzXzJSRYLetG20rNUEPt
JfCiTl42aLb+c5+wlagQnAYstpB5ljTV3oKVGj3V1ChOni1arkdYUiDjnJEfxiG/
TXLGVIFm7gPvO0N+K/MXa2xCK8MJBQbrey/Pt162TlTZX/uEfi+r5KHzr/Inq9qn
Gzqv73Vzbkg7A9lAXLz7ACIkip45S9Td3mAJIrMM0IfEjfnr4bFnXvEeji0ZVgTa
y6HUcwBJAIPD+fbLbHlypeLZfaiV/LzvNqVoNAiV4VmmnYtiikE92o8vrh4o0mpz
xTGgN3FCbofmz+568zEpV3aivH9S7BAvAmvjQq85KkExTA7ApbQakdALETPKfwao
OMw99/JrMoEVORyxwjqVGlcL8sHD6S7UgvbXHDTWe2CBj5wwQ9DnjIJ3tw3kNayv
jywgDyYHJIKe6ExpMB3yyxU48nleHUUOv0KgyKtvHUXGRizbwO0Fpz0mGJNM7IWH
T2z/nB2/PTJhQ31VdTRb0ZZyM8JjPmkR8c9X4yM7EcR+t4KIn8MQG7CtTILjpkhY
Jcb+N5kEldFXbgyfuC7QlFDI1lzIJPmpPhhPWg4RX5tIFTrX86M=
=p9Fa
-----END PGP SIGNATURE-----

C
C
Christopher Baines wrote on 27 Jan 2019 18:08
[PATCH 04/15] gnu: Add ruby-racc.
(address . 34222@debbugs.gnu.org)
20190127170820.28937-4-mail@cbaines.net
Required for ruby-ast and ruby-parser.

* gnu/packages/ruby.scm (ruby-racc): New variable.
---
gnu/packages/ruby.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index cd756a8b9a..7c2b9d9762 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3655,6 +3655,28 @@ differences (added or removed nodes) between two XML/HTML documents.")
(home-page "https://github.com/postmodern/nokogiri-diff")
(license license:expat))))
+(define-public ruby-racc
+ (package
+ (name "ruby-racc")
+ (version "1.4.14")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "racc" version))
+ (sha256
+ (base32
+ "00yhs2ag7yy5v83mqvkbnhk9bvsh6mx3808k53n61ddzx446v1zl"))))
+ (build-system ruby-build-system)
+ (native-inputs
+ `(("ruby-hoe" ,ruby-hoe)
+ ("ruby-rake-compiler" ,ruby-rake-compiler)))
+ (synopsis "LALR(1) parser generator for Ruby")
+ (description
+ "Racc is a LALR(1) parser generator. It is written in Ruby itself, and
+generates Ruby program.")
+ (home-page "http://i.loveruby.net/en/projects/racc/")
+ (license license:expat)))
+
(define-public ruby-rack
(package
(name "ruby-rack")
--
2.20.1
C
C
Christopher Baines wrote on 27 Jan 2019 18:08
[PATCH 02/15] gnu: Add ruby-powerpack.
(address . 34222@debbugs.gnu.org)
20190127170820.28937-2-mail@cbaines.net
Required for ruby-rubocop.

* gnu/packages/ruby.scm (ruby-powerpack): 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 b0cf9feb02..223ff30ba8 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1510,6 +1510,30 @@ assertion messages for tests.")
(home-page "https://github.com/k-tsj/power_assert")
(license (list license:bsd-2 license:ruby))))
+(define-public ruby-powerpack
+ (package
+ (name "ruby-powerpack")
+ (version "0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "powerpack" version))
+ (sha256
+ (base32
+ "1r51d67wd467rpdfl6x43y84vwm8f5ql9l9m85ak1s2sp3nc5hyv"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:test-target "spec"))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec)
+ ("ruby-yard" ,ruby-yard)))
+ (synopsis "Useful extensions to core Ruby classes")
+ (description
+ "This package provides a few useful extensions to core Ruby classes.")
+ (home-page "https://github.com/bbatsov/powerpack")
+ (license license:expat)))
+
(define-public ruby-locale
(package
(name "ruby-locale")
--
2.20.1
C
C
Christopher Baines wrote on 27 Jan 2019 18:08
[PATCH 05/15] gnu: Add ruby-hashdiff.
(address . 34222@debbugs.gnu.org)
20190127170820.28937-5-mail@cbaines.net
Required for ruby-webmock.

* gnu/packages/ruby.scm (ruby-hashdiff): New variable.
---
gnu/packages/ruby.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

Toggle diff (45 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 7c2b9d9762..3d1dfee47f 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1231,6 +1231,38 @@ failure.")
(home-page "https://github.com/thekompanee/fuubar")
(license license:expat)))
+(define-public ruby-hashdiff
+ (package
+ (name "ruby-hashdiff")
+ (version "0.3.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "hashdiff" version))
+ (sha256
+ (base32
+ "19ykg5pax8798nh1yv71adkx0zzs7gn2rxjj86v7nsw0jba5lask"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ ;; Run tests directly via rspec to avoid Rake issue:
+ ;; NoMethodError: undefined method `last_comment'
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "rspec"))
+ #t)))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec-2)))
+ (synopsis "HashDiff computes the smallest difference between two hashes")
+ (description
+ "HashDiff is a Ruby library to compute the smallest difference between
+two hashes.")
+ (home-page "https://github.com/liufengyun/hashdiff")
+ (license license:expat)))
+
(define-public ruby-shindo
(package
(name "ruby-shindo")
--
2.20.1
C
C
Christopher Baines wrote on 27 Jan 2019 18:08
[PATCH 03/15] gnu: Add ruby-rainbow.
(address . 34222@debbugs.gnu.org)
20190127170820.28937-3-mail@cbaines.net
Required for ruby-rubocop.

* gnu/packages/ruby.scm (ruby-rainbow): New variable.
---
gnu/packages/ruby.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

Toggle diff (45 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 223ff30ba8..cd756a8b9a 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3771,6 +3771,38 @@ clickjacking, directory traversal, session hijacking and IP spoofing.")
(home-page "https://github.com/sinatra/sinatra/tree/master/rack-protection")
(license license:expat)))
+(define-public ruby-rainbow
+ (package
+ (name "ruby-rainbow")
+ (version "3.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "rainbow" version))
+ (sha256
+ (base32
+ "0bb2fpjspydr6x0s8pn1pqkzmxszvkfapv0p4627mywl7ky4zkhk"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ ;; Run rspec directly, to avoid requiring Rubocop which is used from
+ ;; the Rakefile.
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "rspec"))
+ #t)))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec)))
+ (synopsis "Colorize printed text on ANSI terminals")
+ (description
+ "@code{rainbow} provides a string presenter object to colorize strings by
+wrapping them in ANSI escape codes.")
+ (home-page "https://github.com/sickill/rainbow")
+ (license license:expat)))
+
(define-public ruby-contest
(package
(name "ruby-contest")
--
2.20.1
C
C
Christopher Baines wrote on 27 Jan 2019 18:08
[PATCH 07/15] gnu: Add ruby-webmock.
(address . 34222@debbugs.gnu.org)
20190127170820.28937-7-mail@cbaines.net
Required by ruby-rest-client. Also at version ~> 2, so don't package 3 just
yet.

* gnu/packages/ruby.scm (ruby-webmock): 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 e11900b835..5eb08d9929 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4781,6 +4781,32 @@ support to both Ruby and JRuby. It uses @code{unf_ext} on CRuby and
(home-page "https://github.com/knu/ruby-unf")
(license license:bsd-2)))
+(define-public ruby-webmock
+ (package
+ (name "ruby-webmock")
+ (version "2.3.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "webmock" version))
+ (sha256
+ (base32
+ "04hkcqsmbfnp8g237pisnc834vpgildklicbjbyikqg0bg1rwcy5"))))
+ (build-system ruby-build-system)
+ (propagated-inputs
+ `(("bundler" ,bundler)
+ ("ruby-addressable" ,ruby-addressable)
+ ("ruby-crack" ,ruby-crack)
+ ("ruby-public-suffic" ,ruby-public-suffix)
+ ("ruby-rspec" ,ruby-rspec)
+ ("ruby-hashdiff" ,ruby-hashdiff)))
+ (synopsis "Allows stubbing and setting expectations on HTTP requests")
+ (description
+ "WebMock allows stubbing HTTP requests and setting expectations on HTTP
+requests. This is useful when testing software.")
+ (home-page "https://github.com/bblimke/webmock")
+ (license license:expat)))
+
(define-public ruby-domain-name
(package
(name "ruby-domain-name")
--
2.20.1
C
C
Christopher Baines wrote on 27 Jan 2019 18:08
[PATCH 08/15] gnu: Add ruby-rest-client.
(address . 34222@debbugs.gnu.org)
20190127170820.28937-8-mail@cbaines.net
Required for ruby-ast.

* gnu/packages/ruby.scm (ruby-rest-client): New variable.
---
gnu/packages/ruby.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)

Toggle diff (55 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 5eb08d9929..f013d84299 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3888,6 +3888,48 @@ wrapping them in ANSI escape codes.")
(home-page "https://github.com/sickill/rainbow")
(license license:expat)))
+(define-public ruby-rest-client
+ (package
+ (name "ruby-rest-client")
+ (version "2.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "rest-client" version))
+ (sha256
+ (base32
+ "1hzcs2r7b5bjkf2x2z3n8z6082maz0j8vqjiciwgg3hzb63f958j"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'fix-dependencies
+ (lambda _
+ (substitute* "rest-client.gemspec"
+ ((".*rubocop.*") "\n")
+ ((".*pry.*") "\n"))
+ #t))
+ (add-before 'check 'delete-network-tests
+ (lambda _
+ (delete-file "spec/integration/request_spec.rb")
+ (delete-file "spec/integration/httpbin_spec.rb")
+ #t)))))
+ (propagated-inputs
+ `(("ruby-http-cookie" ,ruby-http-cookie)
+ ("ruby-mime-types" ,ruby-mime-types)
+ ("ruby-netrc" ,ruby-netrc)))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-webmock", ruby-webmock)
+ ("ruby-rspec", ruby-rspec)))
+ (synopsis "Simple HTTP and REST client for Ruby")
+ (description
+ "@code{rest-client} provides a simple HTTP and REST client for Ruby,
+inspired by the Sinatra microframework style of specifying actions: get, put,
+post, delete.")
+ (home-page "https://github.com/rest-client/rest-client")
+ (license license:expat)))
+
(define-public ruby-contest
(package
(name "ruby-contest")
--
2.20.1
C
C
Christopher Baines wrote on 27 Jan 2019 18:08
[PATCH 01/15] gnu: ruby-rspec-its: Enable tests.
(address . 34222@debbugs.gnu.org)
20190127170820.28937-1-mail@cbaines.net
Enable the tests, and also tweak the synopsis and description to hopefully be
more descriptive.

* gnu/packages/ruby.scm (ruby-rspec-its)[source]: Change to GitHub, and add
patch.
[arguments]: Enabled tests, set the #:test-target to "spec", and add the
phases to tweak the Gemfile and rspec-its.gemspec.
[native-inputs]: Add bundler, ruby-cucumber and ruby-aruba.
[synopsis,description]: Make more explicit and descriptive.
---
gnu/packages/ruby.scm | 49 ++++++++++++++++++++++++++++++++++++-------
1 file changed, 42 insertions(+), 7 deletions(-)

Toggle diff (69 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 59895240f8..b0cf9feb02 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -392,20 +392,55 @@ outcomes of a code example.")
(version "1.2.0")
(source
(origin
- (method url-fetch)
- (uri (rubygems-uri "rspec-its" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rspec/rspec-its.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1pwphny5jawcm1hda3vs9pjv1cybaxy17dc1s75qd7drrvx697p3"))))
+ "190rz7v4q4wk80fzhr5hknvxx4vb2pywmqr8wc41w2blj9ylzi0f"))
+ (patches
+ (list
+ (origin (method url-fetch)
+ (uri (string-append
+ "https://github.com/rspec/rspec-its/commit/"
+ "bfaab439c7c879f5ef25552f41827891f6308373.patch"))
+ (file-name "ruby-rspec-its-fix-specs-for-ruby-2.4.patch")
+ (sha256
+ (base32
+ "0lnik0kvrpgkakvdb2fmzg22pdlraf6kiidr9sv6rnfyviiqwxgh")))))))
(build-system ruby-build-system)
(arguments
- `(#:tests? #f)) ; needs cucumber.
+ `(#:test-target "spec"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'dont-install-gems-from-gemfile
+ (lambda _
+ (substitute* "Gemfile"
+ (("rspec rspec-core rspec-expectations rspec-mocks rspec-support")
+ ""))
+ #t))
+ (add-before 'build 'remove-unnecessary-dependency-versions-from-gemfile
+ (lambda _
+ (substitute* "rspec-its.gemspec"
+ (("rake.*") "rake'\n")
+ (("cucumber.*") "cucumber'\n")
+ (("bundler.*") "bundler'\n")
+ (("aruba.*") "aruba'\n"))
+ #t)))))
(propagated-inputs
`(("ruby-rspec-core" ,ruby-rspec-core)
("ruby-rspec-expectations" ,ruby-rspec-expectations)))
- (synopsis "RSpec extension gem for attribute matching")
- (description "@code{rspec-its} is an RSpec extension gem for attribute
-matching.")
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-cucumber" ,ruby-cucumber)
+ ("ruby-aruba" ,ruby-aruba)))
+ (synopsis "RSpec extension that provides the @code{its} method")
+ (description
+ "RSpec::Its provides the its method as a short-hand to specify the expected
+value of an attribute. For example, one can use @code{its(:size)\\{should
+eq(1)\\}}.")
(home-page "https://github.com/rspec/rspec-its")
(license license:expat)))
--
2.20.1
C
C
Christopher Baines wrote on 27 Jan 2019 18:08
[PATCH 06/15] gnu: Add ruby-crack.
(address . 34222@debbugs.gnu.org)
20190127170820.28937-6-mail@cbaines.net
Required for ruby-webmock.

* gnu/packages/ruby.scm (ruby-crack): New variable.
---
gnu/packages/ruby.scm | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)

Toggle diff (44 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 3d1dfee47f..e11900b835 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -791,6 +791,37 @@ value is found.")
(home-page "https://github.com/egonSchiele/contracts.ruby")
(license license:bsd-2)))
+(define-public ruby-crack
+ (package
+ (name "ruby-crack")
+ (version "0.4.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "crack" version))
+ (sha256
+ (base32
+ "0abb0fvgw00akyik1zxnq7yv391va148151qxdghnzngv66bl62k"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (for-each (lambda (file)
+ (display file)(display "\n")
+ (invoke "ruby" file))
+ (find-files "spec" ".*rb$"))
+ #t)))))
+ (propagated-inputs
+ `(("ruby-safe-yaml" ,ruby-safe-yaml)))
+ (synopsis "Simple JSON and XML parsing for Ruby")
+ (description
+ "@code{crack} provides really simple JSON and XML parsing, extracted from
+code in Merb and Rails.")
+ (home-page "https://github.com/jnunemaker/crack")
+ (license license:expat)))
+
(define-public ruby-czmq-ffi-gen
(package
(name "ruby-czmq-ffi-gen")
--
2.20.1
C
C
Christopher Baines wrote on 27 Jan 2019 18:08
[PATCH 09/15] gnu: Add ruby-bacon-colored-output.
(address . 34222@debbugs.gnu.org)
20190127170820.28937-9-mail@cbaines.net
This is a requirement of ruby-ast.

* gnu/packages/ruby.scm (ruby-bacon-colored-output): 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 f013d84299..e0c09f59ab 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1515,6 +1515,30 @@ disable tests, have before and after blocks that run once and more.")
(home-page "https://github.com/cldwalker/bacon-bits")
(license license:expat)))
+(define-public ruby-bacon-colored-output
+ (package
+ (name "ruby-bacon-colored-output")
+ (version "1.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "bacon-colored_output" version))
+ (sha256
+ (base32
+ "1znyh3vkfdlmf19p3k4zip88ibym41dn5g4p4n5hmks2iznb7qpx"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(;; No included tests
+ #:tests? #f))
+ (propagated-inputs
+ `(("ruby-bacon" ,ruby-bacon)))
+ (synopsis "Colored output for Bacon test framework")
+ (description
+ "This package adds color through ANSI escape codes to Bacon test
+output.")
+ (home-page "https://github.com/whitequark/bacon-colored_output")
+ (license license:expat)))
+
(define-public ruby-connection-pool
(package
(name "ruby-connection-pool")
--
2.20.1
C
C
Christopher Baines wrote on 27 Jan 2019 18:08
[PATCH 11/15] gnu: Add ruby-cliver.
(address . 34222@debbugs.gnu.org)
20190127170820.28937-11-mail@cbaines.net
Requirement of ruby-parser.

* gnu/packages/ruby.scm (ruby-cliver): New variable.
---
gnu/packages/ruby.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

Toggle diff (45 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 2bb9ea1cff..061659e59f 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -869,6 +869,38 @@ code in Merb and Rails.")
(home-page "https://github.com/jnunemaker/crack")
(license license:expat)))
+(define-public ruby-cliver
+ (package
+ (name "ruby-cliver")
+ (version "0.3.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "cliver" version))
+ (sha256
+ (base32
+ "096f4rj7virwvqxhkavy0v55rax10r4jqf8cymbvn4n631948xc7"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ ;; Avoid this issue with rspec@2
+ ;; NoMethodError: undefined method `last_comment'
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "rspec"))
+ #t)))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec-2)))
+ (synopsis "Assertions for command-line dependencies in Ruby")
+ (description
+ "@code{cliver} provides a way to detect missing command-line
+dependencies, including versions.")
+ (home-page "https://github.com/yaauie/cliver")
+ (license license:expat)))
+
(define-public ruby-czmq-ffi-gen
(package
(name "ruby-czmq-ffi-gen")
--
2.20.1
C
C
Christopher Baines wrote on 27 Jan 2019 18:08
[PATCH 15/15] gnu: Add ruby-rubocop.
(address . 34222@debbugs.gnu.org)
20190127170820.28937-15-mail@cbaines.net
* gnu/packages/ruby.scm (ruby-rubocop): 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 9026251626..6f9ad43c53 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4083,6 +4083,36 @@ post, delete.")
(home-page "https://github.com/rest-client/rest-client")
(license license:expat)))
+(define-public ruby-rubocop
+ (package
+ (name "ruby-rubocop")
+ (version "0.63.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "rubocop" version))
+ (sha256
+ (base32
+ "1pq00qwlmcv52dbhgbk534ggwn1ny9k3sq3vfb1zk3r4psnqz2jy"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(;; No included tests
+ #:tests? #f))
+ (propagated-inputs
+ `(("ruby-parser" ,ruby-parser)
+ ("ruby-powerpack" ,ruby-powerpack)
+ ("ruby-rainbow" ,ruby-rainbow)
+ ("ruby-ruby-progressbar" ,ruby-ruby-progressbar)
+ ("ruby-parallel" ,ruby-parallel)
+ ("ruby-jaro-winkler" ,ruby-jaro-winkler)
+ ("ruby-unicode-display-width" ,ruby-unicode-display-width)))
+ (synopsis "Ruby code style checking tool")
+ (description
+ "@code{rubocop} is a Ruby code style checking tool. It aims to enforce
+the community-driven Ruby Style Guide.")
+ (home-page "https://github.com/rubocop-hq/rubocop")
+ (license license:expat)))
+
(define-public ruby-contest
(package
(name "ruby-contest")
--
2.20.1
C
C
Christopher Baines wrote on 27 Jan 2019 18:08
[PATCH 10/15] gnu: Add ruby-ast.
(address . 34222@debbugs.gnu.org)
20190127170820.28937-10-mail@cbaines.net
Required for ruby-parser.

* gnu/packages/ruby.scm (ruby-ast): New variable.
---
gnu/packages/ruby.scm | 47 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)

Toggle diff (60 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index e0c09f59ab..2bb9ea1cff 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -699,6 +699,53 @@ AsciiDoc content to HTML5, DocBook 5 (or 4.5), PDF, and other formats.")
(home-page "https://asciidoctor.org")
(license license:expat)))
+(define-public ruby-ast
+ (package
+ (name "ruby-ast")
+ (version "2.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "ast" version))
+ (sha256
+ (base32
+ "184ssy3w93nkajlz2c70ifm79jp3j737294kbc5fjw69v1w0n9x7"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-coveralls-requirement
+ (lambda _
+ (substitute* "test/helper.rb"
+ (("require 'coveralls'") "")
+ (("Coveralls::SimpleCov::Formatter") ""))
+ #t))
+ (add-after 'extract-gemspec 'remove-unnecessary-requirements
+ (lambda _
+ (substitute* "ast.gemspec"
+ ((".*coveralls.*") "\n")
+ (("%q<rest-client>.*") "%q<rest-client>.freeze, [\">= 0\"])\n")
+ (("%q<mime-types>.*") "%q<mime-types>.freeze, [\">= 0\"])\n")
+ (("%q<rake>.*") "%q<rake>.freeze, [\">= 0\"])\n"))
+ #t)))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-simplecov" ,ruby-simplecov)
+ ("ruby-json-pure" ,ruby-json-pure)
+ ("ruby-mime-times" ,ruby-mime-types)
+ ("ruby-yard" ,ruby-yard)
+ ("ruby-kramdown" ,ruby-kramdown)
+ ("ruby-rest-client" ,ruby-rest-client)
+ ("ruby-bacon" ,ruby-bacon)
+ ("ruby-bacon-colored-output" ,ruby-bacon-colored-output)
+ ("ruby-racc" ,ruby-racc)))
+ (synopsis "Library for working with Abstract Syntax Trees")
+ (description
+ "@code{ast} is a Ruby library for working with Abstract Syntax Trees.
+It does this through immutable data structures.")
+ (home-page "https://whitequark.github.io/ast/")
+ (license license:expat)))
+
(define-public ruby-sporkmonger-rack-mount
;; Testing the addressable gem requires a newer commit than that released, so
;; use an up to date version.
--
2.20.1
C
C
Christopher Baines wrote on 27 Jan 2019 18:08
[PATCH 13/15] gnu: Add ruby-unicode-display-width.
(address . 34222@debbugs.gnu.org)
20190127170820.28937-13-mail@cbaines.net
Required for ruby-rubocop.

* gnu/packages/ruby.scm (ruby-unicode-display-width): New variable.
---
gnu/packages/ruby.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ccc58effa0..c455bd5f7b 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4979,6 +4979,28 @@ requests. This is useful when testing software.")
(home-page "https://github.com/bblimke/webmock")
(license license:expat)))
+(define-public ruby-unicode-display-width
+ (package
+ (name "ruby-unicode-display-width")
+ (version "1.4.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "unicode-display_width" version))
+ (sha256
+ (base32
+ "0bq528fibi8s0jmxz0xzlgzggdq0x4fx46wfqz49478pv8gb2diq"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(;; Test data not included.
+ #:tests? #f))
+ (synopsis "Determine the monospace display width of Ruby strings")
+ (description
+ "@code{Unicode::DisplayWidth} is a Ruby library which can determine the
+display width of strings in Ruby.")
+ (home-page "https://github.com/janlelis/unicode-display_width")
+ (license license:expat)))
+
(define-public ruby-domain-name
(package
(name "ruby-domain-name")
--
2.20.1
C
C
Christopher Baines wrote on 27 Jan 2019 18:08
[PATCH 14/15] gnu: Add ruby-jaro-winkler.
(address . 34222@debbugs.gnu.org)
20190127170820.28937-14-mail@cbaines.net
Required for ruby-rubocop.

* gnu/packages/ruby.scm (ruby-jaro-winkler): 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 c455bd5f7b..9026251626 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3327,6 +3327,29 @@ when working with Ruby code.")
;; There is no mention of the "or later" clause.
(license license:gpl2)))
+(define-public ruby-jaro-winkler
+ (package
+ (name "ruby-jaro-winkler")
+ (version "1.5.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "jaro_winkler" version))
+ (sha256
+ (base32
+ "1zz27z88qznix4r65gd9h56gl177snlfpgv10b0s69vi8qpl909l"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(;; No included tests
+ #:tests? #f))
+ (synopsis "Ruby implementation of Jaro-Winkler distance algorithm")
+ (description
+ "@code{jaro_winkler} is an implementation of Jaro-Winkler distance
+algorithm. It is written in C extension and will fallback to a pure Ruby
+implementation on platforms where this is unsupported.")
+ (home-page "https://github.com/tonytonyjan/jaro_winkler")
+ (license license:expat)))
+
(define-public ruby-json
(package
(name "ruby-json")
--
2.20.1
C
C
Christopher Baines wrote on 27 Jan 2019 18:08
[PATCH 12/15] gnu: Add ruby-parser.
(address . 34222@debbugs.gnu.org)
20190127170820.28937-12-mail@cbaines.net
Required for ruby-rubocop.

* gnu/packages/ruby.scm (ruby-parser): New variable.
---
gnu/packages/ruby.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 061659e59f..ccc58effa0 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2818,6 +2818,33 @@ for select languages.")
(home-page "http://coderay.rubychan.de")
(license license:expat)))
+(define-public ruby-parser
+ (package
+ (name "ruby-parser")
+ (version "2.6.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "parser" version))
+ (sha256
+ (base32
+ "1hhz2k5417vr2k1llwqgjdnmyrhlpqicy0y2arr6r1gp04fg9wlm"))))
+ (build-system ruby-build-system)
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-cliver" ,ruby-cliver)
+ ("ruby-simplecov" ,ruby-simplecov)
+ ("ruby-racc" ,ruby-racc)))
+ (inputs
+ `(("ragel" ,ragel)))
+ (propagated-inputs
+ `(("ruby-ast" ,ruby-ast)))
+ (synopsis "Ruby parser written in pure Ruby")
+ (description
+ "This package provides a Ruby parser written in pure Ruby.")
+ (home-page "https://github.com/whitequark/parser")
+ (license license:expat)))
+
(define-public ruby-progress_bar
(package
(name "ruby-progress_bar")
--
2.20.1
C
C
Christopher Baines wrote on 27 Jan 2019 18:09
control message for bug #30689
(address . control@debbugs.gnu.org)
87womqgh8q.fsf@cbaines.net
block 30689 by 34222 34217
R
R
Ricardo Wurmus wrote on 27 Jan 2019 18:25
Re: [bug#34222] [PATCH 03/15] gnu: Add ruby-rainbow.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34222@debbugs.gnu.org)
8736pet3l7.fsf@elephly.net
Christopher Baines <mail@cbaines.net> writes:

Toggle quote (4 lines)
> Required for ruby-rubocop.
>
> * gnu/packages/ruby.scm (ruby-rainbow): New variable.

LGTM!

--
Ricardo
R
R
Ricardo Wurmus wrote on 27 Jan 2019 18:27
Re: [bug#34222] [PATCH 04/15] gnu: Add ruby-racc.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34222@debbugs.gnu.org)
871s4yt3iv.fsf@elephly.net
Christopher Baines <mail@cbaines.net> writes:

Toggle quote (3 lines)
> Required for ruby-ast and ruby-parser.
>
> * gnu/packages/ruby.scm (ruby-racc): New variable.
[…]
Toggle quote (2 lines)
> + (license license:expat)))

On the website it says that the license is “LGPL” (no version is
provided). Could you please confirm the license?

--
Ricardo
R
R
Ricardo Wurmus wrote on 27 Jan 2019 18:29
Re: [bug#34222] [PATCH 06/15] gnu: Add ruby-crack.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34222@debbugs.gnu.org)
87zhrmrou5.fsf@elephly.net
Christopher Baines <mail@cbaines.net> writes:

Toggle quote (3 lines)
> Required for ruby-webmock.
>
> * gnu/packages/ruby.scm (ruby-crack): New variable.
[…]
Toggle quote (8 lines)
> + (replace 'check
> + (lambda _
> + (for-each (lambda (file)
> + (display file)(display "\n")
> + (invoke "ruby" file))
> + (find-files "spec" ".*rb$"))
> + #t)))))

I don’t see a “spec” directory in the git repository. Do the Gem
contents differ from the repo?

--
Ricardo
R
R
Ricardo Wurmus wrote on 27 Jan 2019 18:32
Re: [bug#34222] [PATCH 07/15] gnu: Add ruby-webmock.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34222@debbugs.gnu.org)
87y376ropf.fsf@elephly.net
Christopher Baines <mail@cbaines.net> writes:

Toggle quote (5 lines)
> Required by ruby-rest-client. Also at version ~> 2, so don't package 3 just
> yet.
>
> * gnu/packages/ruby.scm (ruby-webmock): New variable.

[…]

When version 3 is already available, I’d prefer to explicitly name this
“ruby-webmock-2”, so that other people know it is on purpose.

Toggle quote (3 lines)
> + (propagated-inputs
> + `(("bundler" ,bundler)

Does “bundler” really need to be propagated?

--
Ricardo
R
R
Ricardo Wurmus wrote on 27 Jan 2019 18:34
Re: [bug#34222] [PATCH 09/15] gnu: Add ruby-bacon-colored-output.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34222@debbugs.gnu.org)
87va2arolj.fsf@elephly.net
Christopher Baines <mail@cbaines.net> writes:

Toggle quote (4 lines)
> This is a requirement of ruby-ast.
>
> * gnu/packages/ruby.scm (ruby-bacon-colored-output): New variable.

LGTM!

--
Ricardo
R
R
Ricardo Wurmus wrote on 27 Jan 2019 18:20
Re: [bug#34222] [PATCH 01/15] gnu: ruby-rspec-its: Enable tests.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34222@debbugs.gnu.org)
874l9ut3t4.fsf@elephly.net
Christopher Baines <mail@cbaines.net> writes:

Toggle quote (10 lines)
> Enable the tests, and also tweak the synopsis and description to hopefully be
> more descriptive.
>
> * gnu/packages/ruby.scm (ruby-rspec-its)[source]: Change to GitHub, and add
> patch.
> [arguments]: Enabled tests, set the #:test-target to "spec", and add the
> phases to tweak the Gemfile and rspec-its.gemspec.
> [native-inputs]: Add bundler, ruby-cucumber and ruby-aruba.
> [synopsis,description]: Make more explicit and descriptive.

Looks good to me.

--
Ricardo
R
R
Ricardo Wurmus wrote on 27 Jan 2019 18:36
Re: [bug#34222] [PATCH 10/15] gnu: Add ruby-ast.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34222@debbugs.gnu.org)
87tvhurohx.fsf@elephly.net
Christopher Baines <mail@cbaines.net> writes:

Toggle quote (3 lines)
> Required for ruby-parser.
>
> * gnu/packages/ruby.scm (ruby-ast): New variable.
[…]
Toggle quote (12 lines)
> + (native-inputs
> + `(("bundler" ,bundler)
> + ("ruby-simplecov" ,ruby-simplecov)
> + ("ruby-json-pure" ,ruby-json-pure)
> + ("ruby-mime-times" ,ruby-mime-types)
> + ("ruby-yard" ,ruby-yard)
> + ("ruby-kramdown" ,ruby-kramdown)
> + ("ruby-rest-client" ,ruby-rest-client)
> + ("ruby-bacon" ,ruby-bacon)
> + ("ruby-bacon-colored-output" ,ruby-bacon-colored-output)
> + ("ruby-racc" ,ruby-racc)))

Are really none of these required at run time?

--
Ricardo
R
R
Ricardo Wurmus wrote on 27 Jan 2019 18:38
Re: [bug#34222] [PATCH 11/15] gnu: Add ruby-cliver.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34222@debbugs.gnu.org)
87sgxerofh.fsf@elephly.net
Christopher Baines <mail@cbaines.net> writes:

Toggle quote (3 lines)
> Requirement of ruby-parser.
>
> * gnu/packages/ruby.scm (ruby-cliver): New variable.
[…]

Toggle quote (14 lines)
> + (arguments
> + '(#:phases
> + (modify-phases %standard-phases
> + ;; Avoid this issue with rspec@2
> + ;; NoMethodError: undefined method `last_comment'
> + (replace 'check
> + (lambda* (#:key tests? #:allow-other-keys)
> + (when tests?
> + (invoke "rspec"))
> + #t)))))
> + (native-inputs
> + `(("bundler" ,bundler)
> + ("ruby-rspec" ,ruby-rspec-2)))

Is this a problem that would disappear when using a later version of
Rspec?

--
Ricardo
R
R
Ricardo Wurmus wrote on 27 Jan 2019 18:39
Re: [bug#34222] [PATCH 12/15] gnu: Add ruby-parser.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34222@debbugs.gnu.org)
87r2cyrodx.fsf@elephly.net
Christopher Baines <mail@cbaines.net> writes:

Toggle quote (4 lines)
> Required for ruby-rubocop.
>
> * gnu/packages/ruby.scm (ruby-parser): New variable.

LGTM!

--
Ricardo
R
R
Ricardo Wurmus wrote on 27 Jan 2019 18:39
Re: [bug#34222] [PATCH 13/15] gnu: Add ruby-unicode-display-width.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34222@debbugs.gnu.org)
87pnsirod7.fsf@elephly.net
Christopher Baines <mail@cbaines.net> writes:

Toggle quote (4 lines)
> Required for ruby-rubocop.
>
> * gnu/packages/ruby.scm (ruby-unicode-display-width): New variable.

LGTM!

--
Ricardo
R
R
Ricardo Wurmus wrote on 27 Jan 2019 18:40
Re: [bug#34222] [PATCH 14/15] gnu: Add ruby-jaro-winkler.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34222@debbugs.gnu.org)
87o982robc.fsf@elephly.net
Christopher Baines <mail@cbaines.net> writes:

Toggle quote (3 lines)
> Required for ruby-rubocop.
>
> * gnu/packages/ruby.scm (ruby-jaro-winkler): New variable.
[…]
Toggle quote (5 lines)
> + (description
> + "@code{jaro_winkler} is an implementation of Jaro-Winkler distance
> +algorithm. It is written in C extension and will fallback to a pure Ruby
> +implementation on platforms where this is unsupported.")

“written in C” or “written as a C extension”?

--
Ricardo
R
R
Ricardo Wurmus wrote on 27 Jan 2019 18:41
Re: [bug#34222] [PATCH 15/15] gnu: Add ruby-rubocop.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34222@debbugs.gnu.org)
87munmroaf.fsf@elephly.net
Christopher Baines <mail@cbaines.net> writes:

Toggle quote (2 lines)
> * gnu/packages/ruby.scm (ruby-rubocop): New variable.

LGTM!

--
Ricardo
R
R
Ricardo Wurmus wrote on 27 Jan 2019 18:34
Re: [bug#34222] [PATCH 08/15] gnu: Add ruby-rest-client.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34222@debbugs.gnu.org)
87womqromp.fsf@elephly.net
Christopher Baines <mail@cbaines.net> writes:

Toggle quote (4 lines)
> Required for ruby-ast.
>
> * gnu/packages/ruby.scm (ruby-rest-client): New variable.

[…]

Toggle quote (8 lines)
> + (modify-phases %standard-phases
> + (add-before 'check 'fix-dependencies
> + (lambda _
> + (substitute* "rest-client.gemspec"
> + ((".*rubocop.*") "\n")
> + ((".*pry.*") "\n"))
> + #t))

Could you please add a comment here why this is necessary?

Toggle quote (5 lines)
> + (description
> + "@code{rest-client} provides a simple HTTP and REST client for Ruby,
> +inspired by the Sinatra microframework style of specifying actions: get, put,
> +post, delete.")

I would wrap “get”, “put”, “post”, and “delete” in @code{…}.

--
Ricardo
R
R
Ricardo Wurmus wrote on 27 Jan 2019 18:45
Re: [bug#34222] [PATCH 05/15] gnu: Add ruby-hashdiff.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34222@debbugs.gnu.org)
87k1iqro4h.fsf@elephly.net
Christopher Baines <mail@cbaines.net> writes:

Toggle quote (4 lines)
> Required for ruby-webmock.
>
> * gnu/packages/ruby.scm (ruby-hashdiff): New variable.

LGTM!

--
Ricardo
C
C
Christopher Baines wrote on 27 Jan 2019 19:44
Re: [bug#34222] [PATCH 02/15] gnu: Add ruby-powerpack.
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 34222@debbugs.gnu.org)
87va2agctp.fsf@cbaines.net
Ricardo Wurmus <rekado@elephly.net> writes:

Toggle quote (13 lines)
> Christopher Baines <mail@cbaines.net> writes:
>
>> Required for ruby-rubocop.
>>
>> * gnu/packages/ruby.scm (ruby-powerpack): New variable.
> […]
>> + (description
>> + "This package provides a few useful extensions to core Ruby
>> classes.")
>
> I’d add “, including @code{Array}, @code{Enumerable}, @code{Hash},
> @code{Numeric}, and @code{String}.”

Ok, will do. Thanks for taking a look :)
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlxN/BJfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9XdmMg//UEhXTmOKtraGBWqIbpLxAvxlm0gFOqqePr7rARpolDoHFixsWyLVV0q2
jvPg7+kvbMIyy9FAY59b05JwofSXsFpfOWY8+HUEXMtn3oXSevGCiF2j2+esHCU5
5TZmTXZ0Z+MGELubf+5vg64oq/9aXnIli2lrxM+yzW438W0eN1CA03PT5cPZ1K6b
evLvZe4FX7CSj98AH3IaaYyIKCFzWr8umdOv0WD6tBQrz/YZCvsKMHfAxXERy1nb
sT9WSSb+mc+WDCxnjExNEXm4J0sc0H72EWixYR2sCrVvJRrkDnaRersFFLYA9ppF
S/hkCFyk6wrR6Bfzho7TXN6zT36XR+zoN50exVeuuqI/lJh3x9wf9Gt5iX4PTn/n
5nvxxBkgISm0oUlCt7rWiGcJOnC8578QMYKHT4i6wAEu6loCqLwlPTo41nfJzeam
JsN6Sjn4qpfSgLMILoAItxRwMykaa/yUUwbI7MQVNE8THdt8YYMfvxc62RsabAl7
ow1WmmzmW0lh31WBv4kxplZl9IYzWRAWZVItQ3QibVL2fVHDJ0LEPWqOKHqKcIxZ
LAW9BvLXDQ/SrmhRUpMdmWhzJHKvIj8Se80vm9/CxUzicJbx9w8qhVQzWY6ufEQe
V9YyN2I9CEkmuYJGwPgK9QNflz0Z/MnXxLkAg5eCVIaEHGbq4Qw=
=A1QH
-----END PGP SIGNATURE-----

C
C
Christopher Baines wrote on 27 Jan 2019 19:45
Re: [bug#34222] [PATCH 14/15] gnu: Add ruby-jaro-winkler.
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 34222@debbugs.gnu.org)
87tvhugcsp.fsf@cbaines.net
Ricardo Wurmus <rekado@elephly.net> writes:

Toggle quote (13 lines)
> Christopher Baines <mail@cbaines.net> writes:
>
>> Required for ruby-rubocop.
>>
>> * gnu/packages/ruby.scm (ruby-jaro-winkler): New variable.
> […]
>> + (description
>> + "@code{jaro_winkler} is an implementation of Jaro-Winkler distance
>> +algorithm. It is written in C extension and will fallback to a pure Ruby
>> +implementation on platforms where this is unsupported.")
>
> “written in C” or “written as a C extension”?

The latter. I've updated the patch to say "written as a C extension".
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlxN/DZfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9Xd4OQ/9H73cbU8TyAtAxfobArCWiRf/LK/IKjbCI28kgKVd3Hm6qoks81tPivwy
DP5cyYThwIQLDG+xzYOrqLVqIeHSY6/5tf/huvXcf2f8K6DDLJRFQIxLIx3Oa+8V
XD03b35WjPNpT+m/oEIbW3lGO+0hY9RFTBHKX6gUQOyjaiL8o03ux5EM57Setd5d
7lO0+fLxgXgKPR9BL/6YC9/Q+0rnNpa0k7A5s8t8JIOahEiV8J+tHRd+jeuCjSgr
+1jm07EDGqtSiD4Jc/rmnxzD25HIQP/3cAKdS2trFy97n45SuOnJ/jun00YBsoUs
R5uOBDJ0njHhqJhXuJh2oDRViTTL7a5V7TbRhQRnYN1AAHs4Q1WsdCmaRsRoVuuZ
6217uNziv0oKBv6oLiWGwK7SLV48ppEXLPTDzxOP/rkUILWFyrCmgEQldAjDExVL
Qet+iPo+DI5pmRHqUSfKv8bKNIeyimApEuZRM36Kv+12I9xciouFPjlFmoVBR7Mq
TwykOfQkJ5IyU+vcBjNVTBvXMa8x0yYyhSOfz3NP9c1WDpMaDXBfIKD9ysnm4ee4
4xoEKV/EdejVRCSnqsOth+/yYh2hnL9ptYz70mBhPG437qdOoVemBFx8dbQdBkp3
Pq278o++8o8w3VRZ3fF4RGWFFR1F2eUvjBh3JYTttyAMZSczEvE=
=zLS2
-----END PGP SIGNATURE-----

C
C
Christopher Baines wrote on 27 Jan 2019 19:48
Re: [bug#34222] [PATCH 11/15] gnu: Add ruby-cliver.
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 34222@debbugs.gnu.org)
87sgxegcn1.fsf@cbaines.net
Ricardo Wurmus <rekado@elephly.net> writes:

Toggle quote (24 lines)
> Christopher Baines <mail@cbaines.net> writes:
>
>> Requirement of ruby-parser.
>>
>> * gnu/packages/ruby.scm (ruby-cliver): New variable.
> […]
>
>> + (arguments
>> + '(#:phases
>> + (modify-phases %standard-phases
>> + ;; Avoid this issue with rspec@2
>> + ;; NoMethodError: undefined method `last_comment'
>> + (replace 'check
>> + (lambda* (#:key tests? #:allow-other-keys)
>> + (when tests?
>> + (invoke "rspec"))
>> + #t)))))
>> + (native-inputs
>> + `(("bundler" ,bundler)
>> + ("ruby-rspec" ,ruby-rspec-2)))
>
> Is this a problem that would disappear when using a later version of
> Rspec?

I don't think so, I get a different exception which looks to me like an
incompatibility between the tests and rspec@3 in Guix. This
`last_comment' related error is a issue between Rspec 2 and more recent
versions of Rake, and I've updated the comment as below to try and
explain this.

+ (Build-system ruby-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ ;; Avoid a incompatibility between rspec@2 and rake. Using rspec@3
+ ;; would be nice, but the tests look to be incompatible:
+ ;;
+ ;; NoMethodError: undefined method `last_comment'
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "rspec"))
+ #t)))))
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlxN/QJfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9XcZqg//UMLwelOrRsQlClAhS00Qhio13muASIzxszkSoeQFF+p2OAgFTqgfMklA
phnYZgXdW4sICncyADjXu9Jeu5CHJDhob1ISEfghyHJ/CbHKRf4y5XUPmQsyNQNP
HjLc0G+xs1+McEYUAzDC1g89LLeMClxSpABYg15dHlSkxulgGIhtr5WMF2jvRRa8
xU2mqV89SEOui5EqJ459ekqWejCvaUEsQnwRlvx0g8N3cFcYYTMNsNGWAZZPUcc9
EakZRIShXKJilP07Kjssjkjz0Lww9H0Kszw12Y3JpZsSFsctlkcX2XlFbMuJo2kf
7yQhQJEg6RKuGZH6AOWRnEKq3816Ha76g0mVAuzu3MYqCMSydVBHQ/qkRIJGi9Y5
DVMWDd3ElbK8/9ab1bM/md2JhGa3A+Xd68vZWe95h27JolCcwkfRtePXzhPWNF+q
yG+hNSst9rAbJBP7Kzv4Dq1Q1KA5Dih0dPkqE383C2KTg/c5R523CmH652U3tT3b
oAdt3xQf2IFp+HCTh5D1cFvgyolK5VYE/WxO8klr/RDPbtxqEt0kyLWCei0qeKGs
VqmWB/O2hljBTp4mMByWJd0tHigY8rIK+PIFBWZRV+PCh2m7mBnIpJkhLeRPI76r
EhozmIGVosJnzVtSu6XAws+UgBGaWz/WemsGzNbSKS2uCovn9FM=
=zc2P
-----END PGP SIGNATURE-----

C
C
Christopher Baines wrote on 27 Jan 2019 19:50
Re: [bug#34222] [PATCH 10/15] gnu: Add ruby-ast.
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 34222@debbugs.gnu.org)
87r2cygck2.fsf@cbaines.net
Ricardo Wurmus <rekado@elephly.net> writes:

Toggle quote (20 lines)
> Christopher Baines <mail@cbaines.net> writes:
>
>> Required for ruby-parser.
>>
>> * gnu/packages/ruby.scm (ruby-ast): New variable.
> […]
>> + (native-inputs
>> + `(("bundler" ,bundler)
>> + ("ruby-simplecov" ,ruby-simplecov)
>> + ("ruby-json-pure" ,ruby-json-pure)
>> + ("ruby-mime-times" ,ruby-mime-types)
>> + ("ruby-yard" ,ruby-yard)
>> + ("ruby-kramdown" ,ruby-kramdown)
>> + ("ruby-rest-client" ,ruby-rest-client)
>> + ("ruby-bacon" ,ruby-bacon)
>> + ("ruby-bacon-colored-output" ,ruby-bacon-colored-output)
>> + ("ruby-racc" ,ruby-racc)))
>
> Are really none of these required at run time?

According to the gemspec at least [1].


I don't know the library at all, but it seems like a AST data structure,
so I think it's possible that it's very dependency light.
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlxN/W1fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9XdriRAAiO/Nvb9eiCCK6cBvCmwftSOhwecXCovCXrGJpdhrFzIqChmtvC3srwyS
6g2UwMq+2Hceq/5ze1yJosGMTq8CRs6nz4YSt9iXXEdzQjwiKqy63X4vBusuXLvy
x8kJWwRoy2HCDrJ1Hl0k1vEC/PBpiZu2zUX0n7QTg5eXCZdeH571QqMUE2tOg7nE
g28a2soR6CgTH2Y8gyptWiJfjn7z/fsDmZ0oXg+vAg3rBp8FHynsp60/iUOjqd55
AIpQihwr/RgNg830YR43xytHNlL4MwCpMDx9+6+IO4Emy99ENei16XPYg8kitt7v
GpeEVqoHVNQ3dkG0v38LjuQZUeEYOIZfIpG+EMZGqufWqayf3JhA5ESBkarJ70an
Abneu1nqNpty06DwU+dsmekg6eEr1tOak0t7uB5Im8YB89yrnQJlEBiqsOdwdboY
CWmq3xZVsn2ifuGO0PKvGZm//9/kJzhwVQ4QGh38Gv1QSgcpR/eN3gN9S8b3hCXj
AhRu3uKNW/GMLC4xY0h00F5qN17cNhaJqrlj7qwJxMmFecI8q0mgZtDrUEJ7Awwy
Z9xGNwxpZQ3+rcLDtjhZFrSw/DDFIcJDXOvavpUr0xbpI1colSjCj+VYbhC+/n2d
dKbs/cOa7cduannXkEA3d16jl1a4n0I0vqm05yXuBoTd1YwSKwk=
=+7pi
-----END PGP SIGNATURE-----

C
C
Christopher Baines wrote on 27 Jan 2019 19:51
Re: [bug#34222] [PATCH 08/15] gnu: Add ruby-rest-client.
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 34222@debbugs.gnu.org)
87pnsigchz.fsf@cbaines.net
Ricardo Wurmus <rekado@elephly.net> writes:

Toggle quote (18 lines)
> Christopher Baines <mail@cbaines.net> writes:
>
>> Required for ruby-ast.
>>
>> * gnu/packages/ruby.scm (ruby-rest-client): New variable.
>
> […]
>
>> + (modify-phases %standard-phases
>> + (add-before 'check 'fix-dependencies
>> + (lambda _
>> + (substitute* "rest-client.gemspec"
>> + ((".*rubocop.*") "\n")
>> + ((".*pry.*") "\n"))
>> + #t))
>
> Could you please add a comment here why this is necessary?

I've updated the patch to say:

+ (add-before 'check 'remove-unnecessary-development-dependencies
+ (lambda _
+ (substitute* "rest-client.gemspec"
+ ;; Remove rubocop as it's unused. Rubocop also indirectly
+ ;; depends on this package through ruby-parser and ruby-ast so
+ ;; this avoids a dependency loop.
+ ((".*rubocop.*") "\n")
+ ;; Remove pry as it's unused, it's a debugging tool
+ ((".*pry.*") "\n"))

Hopefully that is a bit clearer.

Toggle quote (7 lines)
>> + (description
>> + "@code{rest-client} provides a simple HTTP and REST client for Ruby,
>> +inspired by the Sinatra microframework style of specifying actions: get, put,
>> +post, delete.")
>
> I would wrap “get”, “put”, “post”, and “delete” in @code{…}.

Ok, I've updated the patch to do this now.
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlxN/bhfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9XcwgA/+J3qzGnnkX+Jpci2lxJp2C7Po9cTFhaHKUvq0ZNhluvJ8O4MUHeWNn7Zy
Qz+mNQ9DA9YFphGHZJeEdwFA5DCRgeNI9EwBjbGPnWdM/F6dGB4chm+4VP6Igc/0
0TTgZ398csX91Hxtsc0aeSJwOiUjvHgLdKEPRWZ7NNZXl8xXGtfsvCFpjv6LggSn
hz/96x2SSv5xIhHd5CIt/VscenwRI/U0qHn8sxz+u+OJiVHyD0IvQ2SBgrtTN/XN
VJQY05K1EQj9ekXDJdaaxe/TB8QRLNuMKPOJZkZPNXUj1lXIn9yiTBDy5CrDiL/r
z8HjeTonhtt02ECT9H21bXzwSP0wZyMgKgROrwm884zxW4jHkTNsrq+dKbj6MZfC
8g6bF2IL1la0M9g1+oJFroM1ffWCM3m4w6ondY80X6iQq6UPlMV1PwlW5tjugmXy
N50muNim60AP6NDffjql5iYq2LEu6IXroc2mkkuDi7a/676Jn4pVy9wrkSwqEiu2
pUgk2CcuP41A6YJOmoYJyZXtdURZYYmp/7ApbqrociR31sQhatJttNmvqd6RJAm0
7WGEdMN6luO3iVdro3Zr3PSfDtFlzz9H/BE10HqJ20PrXo1U8QqsQoOi/WShhYfJ
MrDg1G2gkPIcxpaFIUmuYwJZhsnfVlSTO2UvMT1Ej6PiNaXUUK4=
=dKeJ
-----END PGP SIGNATURE-----

C
C
Christopher Baines wrote on 27 Jan 2019 19:53
Re: [bug#34222] [PATCH 07/15] gnu: Add ruby-webmock.
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 34222@debbugs.gnu.org)
87o982gce6.fsf@cbaines.net
Ricardo Wurmus <rekado@elephly.net> writes:

Toggle quote (12 lines)
> Christopher Baines <mail@cbaines.net> writes:
>
>> Required by ruby-rest-client. Also at version ~> 2, so don't package 3 just
>> yet.
>>
>> * gnu/packages/ruby.scm (ruby-webmock): New variable.
>
> […]
>
> When version 3 is already available, I’d prefer to explicitly name this
> “ruby-webmock-2”, so that other people know it is on purpose.

Sure, I've updated the patch and the other dependant patches.

Toggle quote (5 lines)
>> + (propagated-inputs
>> + `(("bundler" ,bundler)
>
> Does “bundler” really need to be propagated?

Good spot. Indeed bundler doesn't need to be propagated, and this wasn't
the only issue with the inputs. They now are as follows:

+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec)))
+ (propagated-inputs
+ `(("ruby-addressable" ,ruby-addressable)
+ ("ruby-crack" ,ruby-crack)
+ ("ruby-hashdiff" ,ruby-hashdiff)))
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlxN/kFfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9Xe03w/+OvcDPRjOIy/qGZBb3pCNcQh+nxBPNkjNN4AReWhW1Eb5bPEXfYyriOW7
c9HdAEr6KgVi9SS80QyETlzgFQEuy/5Btwm2qGycjWKXl+NGj5xKzrZJJLw2TNZ0
Uy8cnVU7eBtv3Y0clor0i2XAEmq4OxVC2KZwDDoQaBDk/ir+CcsUsRzB1w7ZaGkx
bvBva1egS87aYC8xcRThT4hBsUr8m+lOgYM+fH353/vAQFZSBs4ESdw2Cq2oMgU1
XsiCAoh2Cp29qecSROqe6iXChEoJDQba5W2LTqa2PWJQhzmbN/kLekrmkhQmu9Xi
5e2Vv+kM4BM2VHFLJ8hDyoFOK/NZLmMpJ/r4pduDuIuI0gcLQdX1/+Ovy+6CLABy
u4gs8oyVkNqdZjoULzx5j3kHY/GoQvTy3W8d2zzpXnsHVxW/GsAk3Z93HctgRxJj
3htsbfSRqsJwYyL4bGM/1U/oPfrNy12kPn7+bzmwOLVskXAJfZ0NZpKJwhStSJCA
im+uQQa2iCxkmY5WThCtOM0O4uA12ZNrpv2xB82U5pNOEPC+wpH8Tjznp3nsCR5Q
RNT2kUSKvaw6JvnBt5KtrnBHkw8Udi9r7C4kgKmsgX/tizO82UMkck9ZO9XyF54m
wvfcPJX+z4T0tJ5/SuMACCzpVOHMz6df0hBnejA9U3+c4VcTWJs=
=rkXL
-----END PGP SIGNATURE-----

C
C
Christopher Baines wrote on 27 Jan 2019 19:55
Re: [bug#34222] [PATCH 06/15] gnu: Add ruby-crack.
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 34222@debbugs.gnu.org)
87munmgcb2.fsf@cbaines.net
Ricardo Wurmus <rekado@elephly.net> writes:

Toggle quote (17 lines)
> Christopher Baines <mail@cbaines.net> writes:
>
>> Required for ruby-webmock.
>>
>> * gnu/packages/ruby.scm (ruby-crack): New variable.
> […]
>> + (replace 'check
>> + (lambda _
>> + (for-each (lambda (file)
>> + (display file)(display "\n")
>> + (invoke "ruby" file))
>> + (find-files "spec" ".*rb$"))
>> + #t)))))
>
> I don’t see a “spec” directory in the git repository. Do the Gem
> contents differ from the repo?

Good spot. There isn't a "spec" directory, it's instead called
"test". So no tests were actually being run. I've fixed this now.

+ (replace 'check
+ (lambda _
+ (for-each (lambda (file)
+ (display file)(display "\n")
+ (invoke "ruby" "-Ilib" "-Itest" file))
+ (find-files "test" ".*rb$"))
+ #t)))))
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlxN/rFfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9XeeMg//es5F/B/Tdf2M4vop6MjUZzsBOrxy59gKzOQS35qZEOH728dp3LlalSTI
qpVC0E7iVFyXjGDTldje9QOKLydpLSNZ3G3/5jJpxJa/i9hKIFYRdk1rfkPA5rZa
WaHYmd9rmvtpaCSH5qyvPsh0N2z3x4/IflElpoIXW6DCgWj41+TD0E8lbU4JTN7k
OiPeyVF25BKCSwUcb4hW4skRGerA3qh8KtQVqAUhNBEIGnIiYF856L/XQ0mkzlWH
W0qdmdwKv1bZAQJbHFQKjZmrbmqOhCahdRkmUsAvibtBFGUNCjhP7vN4DE9Yak4s
0ciFyJqw5DdQuR4ocn9eo3KOMqNSP9ftxTn6dQG5UiEEeWRELDR9FvPa7DFzfEwt
D6jcKj9B1wTEj5466YwitVA++2wjIT9b90K8Oo9OcEI++GQbB/1vijLwKeHf7m+6
LwOfWi/W8sj+pfFiECXpPvOcEtN9vy23uYASb6FjT0YmHhOr5VXj7mT98At544WO
aA2TFnAJ2PgbcKM0Y+CxzGUJb2NgH0V+AasrvjDOR/u2FjBMnFz97bQ7m7q+LR/4
f+d5J8pTDrRwxBeOx0BRBQTyaBO/tGaxbTnLql2sDtSl/aNirAfWHeokQVZQbtBT
u9ko682Hb5x1PTbntq1P+3xJX/CAjJ+0hR0JQ/TEHgVGGBUd4QA=
=TcZz
-----END PGP SIGNATURE-----

C
C
Christopher Baines wrote on 27 Jan 2019 19:57
Re: [bug#34222] [PATCH 04/15] gnu: Add ruby-racc.
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 34222@debbugs.gnu.org)
87lg36gc8m.fsf@cbaines.net
Ricardo Wurmus <rekado@elephly.net> writes:

Toggle quote (11 lines)
> Christopher Baines <mail@cbaines.net> writes:
>
>> Required for ruby-ast and ruby-parser.
>>
>> * gnu/packages/ruby.scm (ruby-racc): New variable.
> […]
>> + (license license:expat)))
>
> On the website it says that the license is “LGPL” (no version is
> provided). Could you please confirm the license?

Indeed, the metadata in the gem is wrong. The information on the license
is a bit sparse. LGPL 2.1 is included in the sources, and there is one
file which references this in the header.

The published gem doesn't come from the original author, so I'm guessing
the default in the gemspec simply wasn't changed.
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlxN/wlfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9XdznhAAp46yfbnAc1+PmouvQRUbkvyraHB9rN/7RHa321OopfzW9CQvpyhJJPti
lstZHw6JiNNBvUA5gbHCnlIdVh1osa6puSaa/SEgugUJ9ddzVB4bMy/PGltc+2m1
O5wVx08nVLP70Q2+7DDJMkIwQn8r/kuU2vZuJROOIdUXxPwUCtVuV/hVfZGXsP0c
8Lreq7ASURHJzRNiwXfJNzJJDPS6rfM/bSlKmr4mB7ehxfi2ve4gjuUzI2BUfMLT
A6V+cgogYb1+/eS94a6itLKRwB+hhPAdlxL1GDDX/9w5tZxPFz2PfrNYCE9qoGXt
5thHwHPApGjALwOsfwD/KgoopnuGcU1AVVd7rG2X8uMTKOcdoH1iyzZpOgbjFY0F
x15uKYdSrLQXh8iISm1ZHbjyiV+e+382GHTMI5KXa88VQxeM+6/maKdzLwxCT0gx
7rSrYYUuGJoWQqfRQmMPd8ggFbCs7qOZqgWtJDJaknAyb1Ac1I2zLBx0JPkJBw7/
PwbFNpgrLvjDSUCtn+5/voqsNxZ3XN/wjV/Sj5kqwgDtBDe1pxNy3d2z+XgD/Oki
N7yI72x5j8EgoFgGzkJsywN7rWzGX4NxEE03nQcvA/A6MljQ2AqzBBzC5THujf4d
Zt8CyF/+JTgM09ypn19xkvSPzzf5JFKraSnKg2JD2aHUhPU6CwA=
=8qpl
-----END PGP SIGNATURE-----

C
C
Christopher Baines wrote on 27 Jan 2019 20:06
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 34222@debbugs.gnu.org)
87k1iphqdz.fsf@cbaines.net
Christopher Baines <mail@cbaines.net> writes:

Toggle quote (17 lines)
> Ricardo Wurmus <rekado@elephly.net> writes:
>
>> Christopher Baines <mail@cbaines.net> writes:
>>
>>> Required for ruby-ast and ruby-parser.
>>>
>>> * gnu/packages/ruby.scm (ruby-racc): New variable.
>> […]
>>> + (license license:expat)))
>>
>> On the website it says that the license is “LGPL” (no version is
>> provided). Could you please confirm the license?
>
> Indeed, the metadata in the gem is wrong. The information on the license
> is a bit sparse. LGPL 2.1 is included in the sources, and there is one
> file which references this in the header.

Actually, there is a lot more, I forgot to pass "-r" to
licensecheck. There's also 3 files where it says:

You can distribute/modify this program under the same terms of ruby.

So I might put this instead. What do you think?

+ (license (list license:lgpl2.1
+ license:ruby))))
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlxOAShfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9XdoaQ//XLP1pRlU48Fr2QMObfeESPJ0yXLI1Yyvm3JzHieN0gfpJUSCZ6ajgpLt
eLJHp4Xz2jPtK+CfhgFhrEBm6g29skWjK4U0Th4AAGqfZ+78PwI4BJ2zF5n1//dH
XFUkDWF3j7YRzKH0ir7TbcTztAeXheHzf/V4v2niop0yTYpNvmCvidzsCxfVOnUC
55UJT0n722sbK2gS+NwmtuwU/2dqTRmVSDe354b/Gtdun9WLpAlAaG3vnSDQ5f8d
tqrXMqF0wc2rmsar4YGEvJVBYgS4Twa/283JXX7+Omkv3vEfTi1rB7G373WpRe0K
NXADfM65F+2CN8mSrMhoRnzCyEGvU3R2FiaCFPcbIh8QAvzhBaWH3CEsu0SYGRPp
msTY11AxsCamWgZUL9wXPOOgMNkeBEQ+L5BCgTI6eZuIBLs3C/WOXOSfdooFvGWp
LCVctrbn31Kt6iP4mK+yOeUQHaywJzwNQ+nWzm5NKIUVSNrdOB7PIdO39geXfTr6
cPKGlqr4Y3tbOisREPZ3ZkdUQS71kMcpVa/0ZGCklyd7/y0GgFOhmwIs+ehkClrF
fUh1NQ+gNZws4p3z4tHfMkTlkwsn9jm6lXMzJ1GDClJ9TCQHrRkRY9eYPCKxLBUF
S3DSMtZxB/if5Ba5OWv1cJ8qpzK5jSZRLDQXEuYre6npES0IIeY=
=NW98
-----END PGP SIGNATURE-----

R
R
Ricardo Wurmus wrote on 27 Jan 2019 20:26
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34222@debbugs.gnu.org)
87ef8xsxz8.fsf@elephly.net
Christopher Baines <mail@cbaines.net> writes:

Toggle quote (29 lines)
> Christopher Baines <mail@cbaines.net> writes:
>
>> Ricardo Wurmus <rekado@elephly.net> writes:
>>
>>> Christopher Baines <mail@cbaines.net> writes:
>>>
>>>> Required for ruby-ast and ruby-parser.
>>>>
>>>> * gnu/packages/ruby.scm (ruby-racc): New variable.
>>> […]
>>>> + (license license:expat)))
>>>
>>> On the website it says that the license is “LGPL” (no version is
>>> provided). Could you please confirm the license?
>>
>> Indeed, the metadata in the gem is wrong. The information on the license
>> is a bit sparse. LGPL 2.1 is included in the sources, and there is one
>> file which references this in the header.
>
> Actually, there is a lot more, I forgot to pass "-r" to
> licensecheck. There's also 3 files where it says:
>
> You can distribute/modify this program under the same terms of ruby.
>
> So I might put this instead. What do you think?
>
> + (license (list license:lgpl2.1
> + license:ruby))))

This would be fine with a comment.

Thanks!

--
Ricardo
R
R
Ricardo Wurmus wrote on 27 Jan 2019 18:44
Re: [bug#34222] [PATCH 02/15] gnu: Add ruby-powerpack.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34222@debbugs.gnu.org)
87lg36ro62.fsf@elephly.net
Christopher Baines <mail@cbaines.net> writes:

Toggle quote (3 lines)
> Required for ruby-rubocop.
>
> * gnu/packages/ruby.scm (ruby-powerpack): New variable.
[…]
Toggle quote (4 lines)
> + (description
> + "This package provides a few useful extensions to core Ruby
> classes.")

I’d add “, including @code{Array}, @code{Enumerable}, @code{Hash},
@code{Numeric}, and @code{String}.”

LGTM!

--
Ricardo
C
C
Christopher Baines wrote on 14 Feb 2019 22:57
Ruby on Rails
(name . Ben Woodcroft)(address . b.woodcroft@uq.edu.au)
87lg2it4m5.fsf@cbaines.net
So, I've merged 66 patches now which were tracked across these 3 bugs so
the master branch now contains the ruby-rails gem!

I think I've even done this without breaking anything, I believe all the
packages I added or changed build, and all of there dependencies as
reported by guix lint build too.

If anyone still has any comments on the patches, I'd still love to hear
them.

Thanks for everyone who's reviewed these patches so far, and thanks to
Ben for kicking this work off many months ago.

Chris
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlxl5GJfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9XcXeA/9Ew+h+HVMeipbeKaDjgK/pKrY7d7DegpisO/sRz8M82iH8nwUjjHkIykH
hmA13/8qkx9vximijJ8B0UZM6gTTakdz4yRMtKBnt9OVpySj393kwunsoEma3qnJ
7o6x+wJmNsxV0UeJpJfOOVySmFsxqw3rD5NG7f1RROHEa2DoR8CWJhGmNugSqm2u
OCFdEJgu4e2jJyBqI+Q/CqjcbSAFInQhnAELidgAYb4KEeyP/sMzHtV0b8A5RPMl
ZjWOTaDJPKr273h1qev1XbwYV14OSdBsYLi4WW+mUWMmQHXWYxGzQlO4ixWDcSgA
07rXbMgI9TG8JDaWTLUdCxQfzBGG/qitTRcROu5dVzNp0QxUiRHeZwT8Evi5EpQt
bg4iL3mjNZVVPUKnumdzrcQ8xr4jTuzXg0ZABjQBMzTOXQ0uxBzg4gDSHTmECS01
Nwnh0Pnmh5w0nwIrLWjSBfG+ypdkhDrGWNuC8v6eq0g2ozkY73t6CAymk7LdhysT
siCOqzQ8nScb8qNORCLnPRfr1VPtxQ/kZqBwFLEMHi6bzWqphW8mJ9uNJwVHIdTX
oOLN1FF500OSjLTAt1skxhc5r3OzXcM5Za3ujpVDF1P5gnj7bA1qM7g5PWBwIUg6
8wTAUBMs2pNE3/Lt/I+BlTOU/Jqv+NZIv7Tp3tCqomdnXfJojvA=
=BsXZ
-----END PGP SIGNATURE-----

Closed
?