GNU bug report logs - #34222
[PATCH 00/15] Add ruby-rubocop and dependencies.

Previous Next

Package: guix-patches;

Reported by: Christopher Baines <mail <at> cbaines.net>

Date: Sun, 27 Jan 2019 17:03:02 UTC

Severity: normal

Tags: patch

Done: Christopher Baines <mail <at> cbaines.net>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 34222 in the body.
You can then email your comments to 34222 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 17:03:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Christopher Baines <mail <at> cbaines.net>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sun, 27 Jan 2019 17:03:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: guix-patches <at> gnu.org
Subject: [PATCH 00/15] Add ruby-rubocop and dependencies.
Date: Sun, 27 Jan 2019 17:01:47 +0000
[Message part 1 (text/plain, inline)]
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].

1: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=34217
2: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=30689


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(-)
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 17:09:01 GMT) Full text and rfc822 format available.

Message #8 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34222 <at> debbugs.gnu.org
Subject: [PATCH 04/15] gnu: Add ruby-racc.
Date: Sun, 27 Jan 2019 17:08:09 +0000
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(+)

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





Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 17:09:02 GMT) Full text and rfc822 format available.

Message #11 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34222 <at> debbugs.gnu.org
Subject: [PATCH 02/15] gnu: Add ruby-powerpack.
Date: Sun, 27 Jan 2019 17:08:07 +0000
Required for ruby-rubocop.

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

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





Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 17:09:02 GMT) Full text and rfc822 format available.

Message #14 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34222 <at> debbugs.gnu.org
Subject: [PATCH 05/15] gnu: Add ruby-hashdiff.
Date: Sun, 27 Jan 2019 17:08:10 +0000
Required for ruby-webmock.

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

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





Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 17:09:03 GMT) Full text and rfc822 format available.

Message #17 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34222 <at> debbugs.gnu.org
Subject: [PATCH 03/15] gnu: Add ruby-rainbow.
Date: Sun, 27 Jan 2019 17:08:08 +0000
Required for ruby-rubocop.

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

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





Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 17:09:03 GMT) Full text and rfc822 format available.

Message #20 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34222 <at> debbugs.gnu.org
Subject: [PATCH 07/15] gnu: Add ruby-webmock.
Date: Sun, 27 Jan 2019 17:08:12 +0000
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(+)

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





Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 17:09:04 GMT) Full text and rfc822 format available.

Message #23 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34222 <at> debbugs.gnu.org
Subject: [PATCH 08/15] gnu: Add ruby-rest-client.
Date: Sun, 27 Jan 2019 17:08:13 +0000
Required for ruby-ast.

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

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





Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 17:09:04 GMT) Full text and rfc822 format available.

Message #26 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34222 <at> debbugs.gnu.org
Subject: [PATCH 01/15] gnu: ruby-rspec-its: Enable tests.
Date: Sun, 27 Jan 2019 17:08:06 +0000
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(-)

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





Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 17:09:05 GMT) Full text and rfc822 format available.

Message #29 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34222 <at> debbugs.gnu.org
Subject: [PATCH 06/15] gnu: Add ruby-crack.
Date: Sun, 27 Jan 2019 17:08:11 +0000
Required for ruby-webmock.

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

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





Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 17:09:05 GMT) Full text and rfc822 format available.

Message #32 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34222 <at> debbugs.gnu.org
Subject: [PATCH 09/15] gnu: Add ruby-bacon-colored-output.
Date: Sun, 27 Jan 2019 17:08:14 +0000
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(+)

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





Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 17:09:06 GMT) Full text and rfc822 format available.

Message #35 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34222 <at> debbugs.gnu.org
Subject: [PATCH 11/15] gnu: Add ruby-cliver.
Date: Sun, 27 Jan 2019 17:08:16 +0000
Requirement of ruby-parser.

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

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 <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 17:09:07 GMT) Full text and rfc822 format available.

Message #38 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34222 <at> debbugs.gnu.org
Subject: [PATCH 15/15] gnu: Add ruby-rubocop.
Date: Sun, 27 Jan 2019 17:08:20 +0000
* gnu/packages/ruby.scm (ruby-rubocop): New variable.
---
 gnu/packages/ruby.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

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





Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 17:09:07 GMT) Full text and rfc822 format available.

Message #41 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34222 <at> debbugs.gnu.org
Subject: [PATCH 10/15] gnu: Add ruby-ast.
Date: Sun, 27 Jan 2019 17:08:15 +0000
Required for ruby-parser.

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

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





Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 17:09:08 GMT) Full text and rfc822 format available.

Message #44 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34222 <at> debbugs.gnu.org
Subject: [PATCH 13/15] gnu: Add ruby-unicode-display-width.
Date: Sun, 27 Jan 2019 17:08:18 +0000
Required for ruby-rubocop.

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

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





Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 17:09:08 GMT) Full text and rfc822 format available.

Message #47 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34222 <at> debbugs.gnu.org
Subject: [PATCH 14/15] gnu: Add ruby-jaro-winkler.
Date: Sun, 27 Jan 2019 17:08:19 +0000
Required for ruby-rubocop.

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

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





Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 17:09:08 GMT) Full text and rfc822 format available.

Message #50 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34222 <at> debbugs.gnu.org
Subject: [PATCH 12/15] gnu: Add ruby-parser.
Date: Sun, 27 Jan 2019 17:08:17 +0000
Required for ruby-rubocop.

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

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





Added indication that bug 34222 blocks30689 Request was from Christopher Baines <mail <at> cbaines.net> to control <at> debbugs.gnu.org. (Sun, 27 Jan 2019 17:10:02 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 17:27:01 GMT) Full text and rfc822 format available.

Message #55 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34222 <at> debbugs.gnu.org
Subject: Re: [bug#34222] [PATCH 03/15] gnu: Add ruby-rainbow.
Date: Sun, 27 Jan 2019 18:25:40 +0100
Christopher Baines <mail <at> cbaines.net> writes:

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

LGTM!

-- 
Ricardo





Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 17:28:02 GMT) Full text and rfc822 format available.

Message #58 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34222 <at> debbugs.gnu.org
Subject: Re: [bug#34222] [PATCH 04/15] gnu: Add ruby-racc.
Date: Sun, 27 Jan 2019 18:27:04 +0100
Christopher Baines <mail <at> 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?

-- 
Ricardo





Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 17:30:02 GMT) Full text and rfc822 format available.

Message #61 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34222 <at> debbugs.gnu.org
Subject: Re: [bug#34222] [PATCH 06/15] gnu: Add ruby-crack.
Date: Sun, 27 Jan 2019 18:29:38 +0100
Christopher Baines <mail <at> 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?

-- 
Ricardo





Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 17:34:02 GMT) Full text and rfc822 format available.

Message #64 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34222 <at> debbugs.gnu.org
Subject: Re: [bug#34222] [PATCH 07/15] gnu: Add ruby-webmock.
Date: Sun, 27 Jan 2019 18:32:28 +0100
Christopher Baines <mail <at> 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.

> +    (propagated-inputs
> +     `(("bundler" ,bundler)

Does “bundler” really need to be propagated?

--
Ricardo





Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 17:35:02 GMT) Full text and rfc822 format available.

Message #67 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34222 <at> debbugs.gnu.org
Subject: Re: [bug#34222] [PATCH 09/15] gnu: Add ruby-bacon-colored-output.
Date: Sun, 27 Jan 2019 18:34:48 +0100
Christopher Baines <mail <at> cbaines.net> writes:

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

LGTM!

-- 
Ricardo





Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 17:37:02 GMT) Full text and rfc822 format available.

Message #70 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34222 <at> debbugs.gnu.org
Subject: Re: [bug#34222] [PATCH 01/15] gnu: ruby-rspec-its: Enable tests.
Date: Sun, 27 Jan 2019 18:20:55 +0100
Christopher Baines <mail <at> cbaines.net> writes:

> 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





Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 17:38:01 GMT) Full text and rfc822 format available.

Message #73 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34222 <at> debbugs.gnu.org
Subject: Re: [bug#34222] [PATCH 10/15] gnu: Add ruby-ast.
Date: Sun, 27 Jan 2019 18:36:58 +0100
Christopher Baines <mail <at> 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?

-- 
Ricardo





Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 17:39:02 GMT) Full text and rfc822 format available.

Message #76 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34222 <at> debbugs.gnu.org
Subject: Re: [bug#34222] [PATCH 11/15] gnu: Add ruby-cliver.
Date: Sun, 27 Jan 2019 18:38:26 +0100
Christopher Baines <mail <at> 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 <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 17:40:02 GMT) Full text and rfc822 format available.

Message #79 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34222 <at> debbugs.gnu.org
Subject: Re: [bug#34222] [PATCH 12/15] gnu: Add ruby-parser.
Date: Sun, 27 Jan 2019 18:39:22 +0100
Christopher Baines <mail <at> cbaines.net> writes:

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

LGTM!

-- 
Ricardo





Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 17:41:02 GMT) Full text and rfc822 format available.

Message #82 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34222 <at> debbugs.gnu.org
Subject: Re: [bug#34222] [PATCH 13/15] gnu: Add ruby-unicode-display-width.
Date: Sun, 27 Jan 2019 18:39:48 +0100
Christopher Baines <mail <at> cbaines.net> writes:

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

LGTM!

-- 
Ricardo





Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 17:42:01 GMT) Full text and rfc822 format available.

Message #85 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34222 <at> debbugs.gnu.org
Subject: Re: [bug#34222] [PATCH 14/15] gnu: Add ruby-jaro-winkler.
Date: Sun, 27 Jan 2019 18:40:55 +0100
Christopher Baines <mail <at> 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”?

-- 
Ricardo





Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 17:42:02 GMT) Full text and rfc822 format available.

Message #88 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34222 <at> debbugs.gnu.org
Subject: Re: [bug#34222] [PATCH 15/15] gnu: Add ruby-rubocop.
Date: Sun, 27 Jan 2019 18:41:28 +0100
Christopher Baines <mail <at> cbaines.net> writes:

> * gnu/packages/ruby.scm (ruby-rubocop): New variable.

LGTM!

-- 
Ricardo





Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 17:51:01 GMT) Full text and rfc822 format available.

Message #91 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34222 <at> debbugs.gnu.org
Subject: Re: [bug#34222] [PATCH 08/15] gnu: Add ruby-rest-client.
Date: Sun, 27 Jan 2019 18:34:06 +0100
Christopher Baines <mail <at> 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?

> +    (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





Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 18:32:02 GMT) Full text and rfc822 format available.

Message #94 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34222 <at> debbugs.gnu.org
Subject: Re: [bug#34222] [PATCH 05/15] gnu: Add ruby-hashdiff.
Date: Sun, 27 Jan 2019 18:45:02 +0100
Christopher Baines <mail <at> cbaines.net> writes:

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

LGTM!

-- 
Ricardo





Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 18:45:01 GMT) Full text and rfc822 format available.

Message #97 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 34222 <at> debbugs.gnu.org
Subject: Re: [bug#34222] [PATCH 02/15] gnu: Add ruby-powerpack.
Date: Sun, 27 Jan 2019 18:44:34 +0000
[Message part 1 (text/plain, inline)]
Ricardo Wurmus <rekado <at> elephly.net> writes:

> Christopher Baines <mail <at> 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 :)
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 18:46:02 GMT) Full text and rfc822 format available.

Message #100 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 34222 <at> debbugs.gnu.org
Subject: Re: [bug#34222] [PATCH 14/15] gnu: Add ruby-jaro-winkler.
Date: Sun, 27 Jan 2019 18:45:10 +0000
[Message part 1 (text/plain, inline)]
Ricardo Wurmus <rekado <at> elephly.net> writes:

> Christopher Baines <mail <at> 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".
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 18:49:02 GMT) Full text and rfc822 format available.

Message #103 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 34222 <at> debbugs.gnu.org
Subject: Re: [bug#34222] [PATCH 11/15] gnu: Add ruby-cliver.
Date: Sun, 27 Jan 2019 18:48:34 +0000
[Message part 1 (text/plain, inline)]
Ricardo Wurmus <rekado <at> elephly.net> writes:

> Christopher Baines <mail <at> 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 <at> 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 <at> 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 <at> 2 and rake. Using rspec <at> 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)))))
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 18:51:01 GMT) Full text and rfc822 format available.

Message #106 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 34222 <at> debbugs.gnu.org
Subject: Re: [bug#34222] [PATCH 10/15] gnu: Add ruby-ast.
Date: Sun, 27 Jan 2019 18:50:21 +0000
[Message part 1 (text/plain, inline)]
Ricardo Wurmus <rekado <at> elephly.net> writes:

> Christopher Baines <mail <at> 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].

1: https://github.com/whitequark/ast/blob/master/ast.gemspec#L14-L26

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.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 18:52:02 GMT) Full text and rfc822 format available.

Message #109 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 34222 <at> debbugs.gnu.org
Subject: Re: [bug#34222] [PATCH 08/15] gnu: Add ruby-rest-client.
Date: Sun, 27 Jan 2019 18:51:36 +0000
[Message part 1 (text/plain, inline)]
Ricardo Wurmus <rekado <at> elephly.net> writes:

> Christopher Baines <mail <at> 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.

>> +    (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.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 18:54:01 GMT) Full text and rfc822 format available.

Message #112 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 34222 <at> debbugs.gnu.org
Subject: Re: [bug#34222] [PATCH 07/15] gnu: Add ruby-webmock.
Date: Sun, 27 Jan 2019 18:53:53 +0000
[Message part 1 (text/plain, inline)]
Ricardo Wurmus <rekado <at> elephly.net> writes:

> Christopher Baines <mail <at> 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.

>> +    (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)))
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 18:56:02 GMT) Full text and rfc822 format available.

Message #115 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 34222 <at> debbugs.gnu.org
Subject: Re: [bug#34222] [PATCH 06/15] gnu: Add ruby-crack.
Date: Sun, 27 Jan 2019 18:55:45 +0000
[Message part 1 (text/plain, inline)]
Ricardo Wurmus <rekado <at> elephly.net> writes:

> Christopher Baines <mail <at> 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)))))
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 18:58:01 GMT) Full text and rfc822 format available.

Message #118 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 34222 <at> debbugs.gnu.org
Subject: Re: [bug#34222] [PATCH 04/15] gnu: Add ruby-racc.
Date: Sun, 27 Jan 2019 18:57:13 +0000
[Message part 1 (text/plain, inline)]
Ricardo Wurmus <rekado <at> elephly.net> writes:

> Christopher Baines <mail <at> 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.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 19:07:01 GMT) Full text and rfc822 format available.

Message #121 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 34222 <at> debbugs.gnu.org
Subject: Re: [bug#34222] [PATCH 04/15] gnu: Add ruby-racc.
Date: Sun, 27 Jan 2019 19:06:16 +0000
[Message part 1 (text/plain, inline)]
Christopher Baines <mail <at> cbaines.net> writes:

> Ricardo Wurmus <rekado <at> elephly.net> writes:
>
>> Christopher Baines <mail <at> 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))))

[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Sun, 27 Jan 2019 23:14:01 GMT) Full text and rfc822 format available.

Message #124 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34222 <at> debbugs.gnu.org
Subject: Re: [bug#34222] [PATCH 04/15] gnu: Add ruby-racc.
Date: Sun, 27 Jan 2019 20:26:51 +0100
Christopher Baines <mail <at> cbaines.net> writes:

> Christopher Baines <mail <at> cbaines.net> writes:
>
>> Ricardo Wurmus <rekado <at> elephly.net> writes:
>>
>>> Christopher Baines <mail <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#34222; Package guix-patches. (Tue, 29 Jan 2019 01:33:02 GMT) Full text and rfc822 format available.

Message #127 received at 34222 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34222 <at> debbugs.gnu.org
Subject: Re: [bug#34222] [PATCH 02/15] gnu: Add ruby-powerpack.
Date: Sun, 27 Jan 2019 18:44:05 +0100
Christopher Baines <mail <at> 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}.”

LGTM!

-- 
Ricardo





Reply sent to Christopher Baines <mail <at> cbaines.net>:
You have taken responsibility. (Thu, 14 Feb 2019 21:59:03 GMT) Full text and rfc822 format available.

Notification sent to Christopher Baines <mail <at> cbaines.net>:
bug acknowledged by developer. (Thu, 14 Feb 2019 21:59:03 GMT) Full text and rfc822 format available.

Message #132 received at 34222-done <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 30689-done <at> debbugs.gnu.org, 34217-done <at> debbugs.gnu.org,
 34222-done <at> debbugs.gnu.org
Cc: Ben Woodcroft <b.woodcroft <at> uq.edu.au>
Subject: Ruby on Rails
Date: Thu, 14 Feb 2019 21:57:54 +0000
[Message part 1 (text/plain, inline)]
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
[signature.asc (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 15 Mar 2019 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 5 years and 37 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.