[PATCH 00/11] Add ruby-cucumber along with dependencies and a couple of updates.

  • Done
  • quality assurance status badge
Details
4 participants
  • Björn Höfling
  • Christopher Baines
  • Ricardo Wurmus
  • swedebugia
Owner
unassigned
Submitted by
Christopher Baines
Severity
normal
C
C
Christopher Baines wrote on 27 Jan 2019 12:06
(address . guix-patches@gnu.org)
87zhrmgy0x.fsf@cbaines.net
These are some of the patches working up to packaging Rails (a Ruby web
framework).


Christopher Baines (11):
gnu: Add ruby-cucumber-wire.
gnu: Add ruby-contracts.
gnu: Add ruby-ruby-progressbar.
gnu: Add ruby-fuubar.
gnu: Add ruby-cucumber-expressions.
gnu: Add ruby-mspec.
gnu: Add ruby-backports.
gnu: Add ruby-cucumber-tag-expressions.
gnu: ruby-cucumber-core: Update to 3.2.1.
gnu: ruby-gherkin: Update to 5.1.0.
gnu: Add ruby-cucumber and ruby-aruba.

gnu/packages/ruby.scm | 412 +++++++++++++++++++++++++++++++++++++++++-
1 file changed, 404 insertions(+), 8 deletions(-)
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlxNkL5fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9XdaEQ/9GN4AMdIj5MZmrNs4EM7/Ds63ZDPyKg7fLlvZzfRg1crPz0TfqLeNJAXR
8PdKRnWR76D1ol7NxAeet+ZCF29c6wIzPhdNkQigjCQoYVwWQ6SE75ar624OTD5x
D/jCFax9ctBMSVjuUzTPy+H/VrGhZkhDEIw0e4HTZPRyj+zJNO/WULtAeYy/ztPo
cufKf7+PIQQTiNUIYnpOqDlWXNw9yYcPrwB9ctI8c8CRvZrM67DPY3qBQQF+ba+K
u4rO0RavlD5xG5AkfesBSy1J3YCDCRf42KoA0GLsDSp0AzcT6mgr0iGUFwakyBKJ
/CIWog5zL9hIkiXBaTCOvfqNhyjP0v7Ojf65natvyd5HaXaGQ0y0IXoIbc8S2Dw+
MU2HyQGsnAVAh4hFruJvITj3+o2Bd8IliYHtjJvznp5SyoF83uJFoCzr37PE9ENb
CMpMHRMOCwW8FJZQ1Hnm1aVB2ahLJKDrGHgbHKuK+FG4N5UMSNNBcyosX8X6saoM
mFe1K2icKJ/jR7jlNfeK9KV2s4VKF075cl7kdGJpe8RjcqEyG2iI6KJTeF5c0GTr
HRxUcIxDY6bBiiQy6XdYEb8vx0EeOcpgT4Ej7oB2t0e+cVXCQacK/At8tpsfpzwe
gx2ne06oktm5qhbue7smtv8q0ULrHfboK8IMhH4sbBpq+bQbPLg=
=5Vfa
-----END PGP SIGNATURE-----

C
C
Christopher Baines wrote on 27 Jan 2019 12:49
[PATCH 02/11] gnu: Add ruby-contracts.
(address . 34217@debbugs.gnu.org)
20190127114956.26570-2-mail@cbaines.net
* gnu/packages/ruby.scm (ruby-contracts): New variable.
---
gnu/packages/ruby.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)

Toggle diff (47 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 649c7aa464..808b2d8686 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -721,6 +721,40 @@ format.")
(home-page "https://github.com/nicksieger/ci_reporter")
(license license:expat)))
+(define-public ruby-contracts
+ (package
+ (name "ruby-contracts")
+ (version "0.16.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "contracts" version))
+ (sha256
+ (base32
+ "119f5p1n6r5svbx8h09za6a4vrsnj5i1pzr9cqdn9hj3wrxvyl3a"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:test-target "spec"
+ #:phases
+ (modify-phases %standard-phases
+ ;; Don't run or require rubocop, the code linting tool, as this is a
+ ;; bit unnecessary.
+ (add-after 'unpack 'dont-run-rubocop
+ (lambda _
+ (substitute* "Rakefile"
+ ((".*rubocop.*") "")
+ ((".*RuboCop.*") ""))
+ #t)))))
+ (native-inputs
+ `(("ruby-rspec" ,ruby-rspec)))
+ (synopsis "Method contracts for Ruby")
+ (description
+ "This library provides contracts for Ruby. A contract describes the
+correct inputs and output for a method, and will raise an error if a incorrect
+value is found.")
+ (home-page "https://github.com/egonSchiele/contracts.ruby")
+ (license license:bsd-2)))
+
(define-public ruby-czmq-ffi-gen
(package
(name "ruby-czmq-ffi-gen")
--
2.20.1
C
C
Christopher Baines wrote on 27 Jan 2019 12:49
[PATCH 04/11] gnu: Add ruby-fuubar.
(address . 34217@debbugs.gnu.org)
20190127114956.26570-4-mail@cbaines.net
* gnu/packages/ruby.scm (ruby-fuubar): New variable.
---
gnu/packages/ruby.scm | 48 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)

Toggle diff (61 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 15382de017..510f0d6bbc 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1147,6 +1147,54 @@ standard output stream.")
(home-page "https://github.com/geemus/formatador")
(license license:expat)))
+(define-public ruby-fuubar
+ (package
+ (name "ruby-fuubar")
+ (version "2.3.2")
+ (source
+ (origin
+ ;; Fetch from the git repository, as the gem package doesn't include
+ ;; the tests.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/thekompanee/fuubar.git")
+ (commit (string-append "releases/v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0jm1x2xp13csbnadixaikj7mlkp5yk4byx51npm56zi13izp7259"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(;; TODO: Some tests fail, unsure why.
+ ;; 21 examples, 7 failures
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'delete-certificate
+ (lambda _
+ ;; Remove 's.cert_chain' as we do not build with a private key
+ (substitute* "fuubar.gemspec"
+ ((".*cert_chain.*") "")
+ ((".*signing_key.*") ""))
+ #t))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "rspec"))
+ #t)))))
+ (native-inputs
+ `(("bundler" ,bundler)))
+ (propagated-inputs
+ `(("ruby-rspec-core" ,ruby-rspec-core)
+ ("ruby-ruby-progressbar" ,ruby-ruby-progressbar)))
+ (synopsis "Fuubar is an RSpec formatter that uses a progress bar")
+ (description
+ "Fuubar is an RSpec formatter that uses a progress bar instead of a
+string of letters and dots as feedback. It also stops on the first test
+failure.")
+ (home-page "https://github.com/thekompanee/fuubar")
+ (license license:expat)))
+
(define-public ruby-shindo
(package
(name "ruby-shindo")
--
2.20.1
C
C
Christopher Baines wrote on 27 Jan 2019 12:49
[PATCH 05/11] gnu: Add ruby-cucumber-expressions.
(address . 34217@debbugs.gnu.org)
20190127114956.26570-5-mail@cbaines.net
* gnu/packages/ruby.scm (ruby-cucumber-expressions): New variable.
---
gnu/packages/ruby.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 510f0d6bbc..fe06ee455e 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3754,6 +3754,31 @@ and trust on your team.")
(home-page "https://cucumber.io/")
(license license:expat)))
+(define-public ruby-cucumber-expressions
+ (package
+ (name "ruby-cucumber-expressions")
+ (version "6.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "cucumber-expressions" version))
+ (sha256
+ (base32
+ "0zwmv6hznyz9vk81f5dhwcr9jhxx2vmbk8yyazayvllvhy0fkpdw"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:test-target "spec"))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec)
+ ("ruby-simplecov" ,ruby-simplecov)))
+ (synopsis "Simpler alternative to Regular Expressions")
+ (description "Cucumber Expressions offer similar functionality to Regular
+Expressions, with a syntax that is easier to read and write. Cucumber
+Expressions are extensible with parameter types.")
+ (home-page "https://github.com/cucumber/cucumber-expressions-ruby")
+ (license license:expat)))
+
(define-public ruby-cucumber-wire
(package
(name "ruby-cucumber-wire")
--
2.20.1
C
C
Christopher Baines wrote on 27 Jan 2019 12:49
[PATCH 03/11] gnu: Add ruby-ruby-progressbar.
(address . 34217@debbugs.gnu.org)
20190127114956.26570-3-mail@cbaines.net
* gnu/packages/ruby.scm (ruby-ruby-progressbar): 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 808b2d8686..15382de017 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2507,6 +2507,28 @@ rate.")
(home-page "https://github.com/paul/progress_bar")
(license license:wtfpl2)))
+(define-public ruby-ruby-progressbar
+ (package
+ (name "ruby-ruby-progressbar")
+ (version "1.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "ruby-progressbar" version))
+ (sha256
+ (base32
+ "1cv2ym3rl09svw8940ny67bav7b2db4ms39i4raaqzkf59jmhglk"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(;; TODO: There looks to be a circular dependency with ruby-fuubar.
+ #:tests? #f))
+ (synopsis "Text progress bar library for Ruby")
+ (description
+ "Ruby/ProgressBar is an flexible text progress bar library for Ruby.
+The output can be customized with a formatting system.")
+ (home-page "https://github.com/jfelchner/ruby-progressbar")
+ (license license:expat)))
+
(define-public ruby-pry
(package
(name "ruby-pry")
--
2.20.1
C
C
Christopher Baines wrote on 27 Jan 2019 12:49
[PATCH 07/11] gnu: Add ruby-backports.
(address . 34217@debbugs.gnu.org)
20190127114956.26570-7-mail@cbaines.net
* gnu/packages/ruby.scm (ruby-backports): New variable.
---
gnu/packages/ruby.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 5a9a9a7c6d..115e132b95 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1350,6 +1350,31 @@ User Agents.")
(home-page "https://github.com/gshutler/useragent")
(license license:expat)))
+(define-public ruby-backports
+ (package
+ (name "ruby-backports")
+ (version "3.11.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "backports" version))
+ (sha256
+ (base32
+ "1hshjxww2h7s0dk57njrygq4zpp0nlqrjfya7zwm27iq3rhc3y8g"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(;; TODO: This should be default, but there is one test failure
+ #:test-target "all_spec"))
+ (native-inputs
+ `(("ruby-mspec" ,ruby-mspec)
+ ("ruby-activesupport" ,ruby-activesupport)))
+ (synopsis "Backports of the features in newer Ruby versions")
+ (description
+ "Backports enables more compatibility across Ruby versions by providing
+backports of some features.")
+ (home-page "https://github.com/marcandre/backports")
+ (license license:expat)))
+
(define-public ruby-bacon
(package
(name "ruby-bacon")
--
2.20.1
C
C
Christopher Baines wrote on 27 Jan 2019 12:49
[PATCH 01/11] gnu: Add ruby-cucumber-wire.
(address . 34217@debbugs.gnu.org)
20190127114956.26570-1-mail@cbaines.net
Package version 0.0.1 initially, as this is what's needed by Cucumber 3, and
Cucumber 4 hasn't been released yet.

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

Toggle diff (46 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index c6a65ffc58..649c7aa464 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3650,6 +3650,39 @@ and trust on your team.")
(home-page "https://cucumber.io/")
(license license:expat)))
+(define-public ruby-cucumber-wire
+ (package
+ (name "ruby-cucumber-wire")
+ (version "0.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "cucumber-wire" version))
+ (sha256
+ (base32
+ "09ymvqb0sbw2if1nxg8rcj33sf0va88ancq5nmp8g01dfwzwma2f"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(;; TODO: Currently, the tests can't be run as cucumber is required,
+ ;; which would lead to a circular dependency.
+ #:tests? #f
+ #:test-target "default"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'set-CUCUMBER_USE_RELEASED_GEMS
+ (lambda _
+ (setenv "CUCUMBER_USE_RELEASED_GEMS" "true")
+ #t)))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec)))
+ (synopsis "Cucumber wire protocol plugin")
+ (description
+ "Cucumber's wire protocol allows step definitions to be implemented and
+invoked on any platform.")
+ (home-page "https://github.com/cucumber/cucumber-ruby-wire")
+ (license license:expat)))
+
(define-public ruby-bio-logger
(package
(name "ruby-bio-logger")
--
2.20.1
C
C
Christopher Baines wrote on 27 Jan 2019 12:49
[PATCH 11/11] gnu: Add ruby-cucumber and ruby-aruba.
(address . 34217@debbugs.gnu.org)
20190127114956.26570-11-mail@cbaines.net
These packages are mutually dependant, so I've put them in one commit.

* gnu/packages/ruby.scm (ruby-aruba, ruby-cucumber): New variables.
---
gnu/packages/ruby.scm | 136 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 136 insertions(+)

Toggle diff (156 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index e507c816c8..59895240f8 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -32,6 +32,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages base)
+ #:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages databases)
#:use-module (gnu packages dbm)
@@ -3795,6 +3796,141 @@ It is intended be used by all Cucumber implementations to parse
(home-page "https://github.com/cucumber-attic/gherkin")
(license license:expat)))
+(define-public ruby-aruba
+ (package
+ (name "ruby-aruba")
+ (version "0.14.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "aruba" version))
+ (sha256
+ (base32
+ "0x27352n15dsyf5ak246znfawbrm502q15r4msjw3cis17jlcy1l"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(;; TODO: There are a few test failures
+ ;; 357 examples, 7 failures
+ #:tests? #f
+ #:test-target "spec"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'remove-unnecessary-dependencies
+ (lambda _
+ (substitute* "Gemfile"
+ ((".*byebug.*") "\n")
+ ((".*pry.*") "\n")
+ ((".*yaml.*") "\n")
+ ((".*bcat.*") "\n")
+ ((".*kramdown.*") "\n")
+ ((".*rubocop.*") "\n")
+ ((".*cucumber-pro.*") "\n")
+ ((".*cucumber.*") "\n")
+ ((".*license_finder.*") "\n")
+ ((".*rake.*") "gem 'rake'\n")
+ ((".*simplecov.*") "\n")
+ ((".*relish.*") "\n"))
+ (substitute* "spec/spec_helper.rb"
+ ((".*simplecov.*") "")
+ (("^SimpleCov.*") ""))
+ (substitute* "aruba.gemspec"
+ (("spec\\.add\\_runtime\\_dependency 'cucumber'.*")
+ "spec.add_runtime_dependency 'cucumber'"))
+ #t))
+ (add-before 'check 'set-home
+ (lambda _ (setenv "HOME" "/tmp") #t)))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec)
+ ("ruby-fuubar" ,ruby-fuubar)))
+ (propagated-inputs
+ `(("ruby-childprocess" ,ruby-childprocess)
+ ("ruby-contracts" ,ruby-contracts)
+ ("ruby-cucumber" ,ruby-cucumber)
+ ("ruby-ffi" ,ruby-ffi)
+ ("ruby-rspec-expectations" ,ruby-rspec-expectations)
+ ("ruby-thor" ,ruby-thor)))
+ (synopsis "Test command-line applications with Cucumber, RSpec or Minitest")
+ (description
+ "Aruba is an extension for Cucumber, RSpec and Minitest for testing
+command-line applications. It supports applications written in any
+language.")
+ (home-page "https://github.com/cucumber/aruba")
+ (license license:expat)))
+
+;; A version of ruby-aruba without tests run so that circular dependencies can
+;; be avoided.
+(define ruby-aruba-without-tests
+ (package
+ (inherit ruby-aruba)
+ (arguments '(#:tests? #f))
+ (propagated-inputs
+ (map (lambda (input)
+ (if (string=? (car input) "ruby-cucumber")
+ `("ruby-cucumber" ,ruby-cucumber-without-tests)
+ input))
+ (package-propagated-inputs ruby-aruba)))
+ (native-inputs '())))
+
+(define-public ruby-cucumber
+ (package
+ (name "ruby-cucumber")
+ (version "3.1.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cucumber/cucumber-ruby.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0764wp2cjg60qa3l69q1dxda5g06a01n5w92szqbf89d2hgl47n3"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:test-target "spec"
+ #:phases
+ (modify-phases %standard-phases
+ ;; Don't run or require rubocop, the code linting tool, as this is a
+ ;; bit unnecessary.
+ (add-after 'unpack 'dont-run-rubocop
+ (lambda _
+ (substitute* "Rakefile"
+ ((".*rubocop/rake\\_task.*") "")
+ ((".*RuboCop.*") ""))
+ #t)))))
+ (propagated-inputs
+ `(("ruby-builder" ,ruby-builder)
+ ("ruby-cucumber-core" ,ruby-cucumber-core)
+ ("ruby-cucumber-wire" ,ruby-cucumber-wire)
+ ("ruby-cucumber-expressions" ,ruby-cucumber-expressions)
+ ("ruby-diff-lcs" ,ruby-diff-lcs)
+ ("ruby-gherkin" ,ruby-gherkin)
+ ("ruby-multi-json" ,ruby-multi-json)
+ ("ruby-multi-test" ,ruby-multi-test)))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ;; Use a untested version of aruba, to avoid a circular dependency, as
+ ;; ruby-aruba depends on ruby-cucumber.
+ ("ruby-aruba", ruby-aruba-without-tests)
+ ("ruby-rspec" ,ruby-rspec)
+ ("ruby-pry" ,ruby-pry)
+ ("ruby-nokogiri" ,ruby-nokogiri)))
+ (synopsis "Describe automated tests in plain language")
+ (description
+ "Cucumber is a tool for running automated tests written in plain
+language. It's designed to support a Behaviour Driven Development (BDD)
+software development workflow.")
+ (home-page "https://cucumber.io/")
+ (license license:expat)))
+
+(define ruby-cucumber-without-tests
+ (package (inherit ruby-cucumber)
+ (arguments
+ '(#:tests? #f))
+ (native-inputs
+ '())))
+
(define-public ruby-cucumber-core
(package
(name "ruby-cucumber-core")
--
2.20.1
C
C
Christopher Baines wrote on 27 Jan 2019 12:49
[PATCH 10/11] gnu: ruby-gherkin: Update to 5.1.0.
(address . 34217@debbugs.gnu.org)
20190127114956.26570-10-mail@cbaines.net
Don't upgrade all the way to version 6, as version 5 is needed for Cucumber 3.

* gnu/packages/ruby.scm (ruby-gherkin): Update to 5.1.0.
[description]: Use @file{ }.
---
gnu/packages/ruby.scm | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

Toggle diff (36 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ddaf9e1bc3..e507c816c8 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3775,14 +3775,14 @@ Ruby classes.")
(define-public ruby-gherkin
(package
(name "ruby-gherkin")
- (version "4.1.3")
+ (version "5.1.0")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "gherkin" version))
(sha256
(base32
- "1d18r8mf2qyd9jbq9xxvca8adyysdzvwdy8v9c2s5hrd6p02kg79"))))
+ "1cgcdchwwdm10rsk44frjwqd4ihprhxjbm799nscqy2q1raqfj5s"))))
(build-system ruby-build-system)
(native-inputs
`(("bundler" ,bundler)))
@@ -3790,9 +3790,9 @@ Ruby classes.")
'(#:tests? #f)) ; needs simplecov, among others
(synopsis "Gherkin parser for Ruby")
(description "Gherkin is a parser and compiler for the Gherkin language.
-It is intended be used by all Cucumber implementations to parse '.feature'
-files.")
- (home-page "https://github.com/cucumber/gherkin3")
+It is intended be used by all Cucumber implementations to parse
+@file{.feature} files.")
+ (home-page "https://github.com/cucumber-attic/gherkin")
(license license:expat)))
(define-public ruby-cucumber-core
--
2.20.1
C
C
Christopher Baines wrote on 27 Jan 2019 12:49
[PATCH 08/11] gnu: Add ruby-cucumber-tag-expressions.
(address . 34217@debbugs.gnu.org)
20190127114956.26570-8-mail@cbaines.net
* gnu/packages/ruby.scm (ruby-cucumber-tag-expressions): New variable.
---
gnu/packages/ruby.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (41 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 115e132b95..538cae9021 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3880,6 +3880,34 @@ invoked on any platform.")
(home-page "https://github.com/cucumber/cucumber-ruby-wire")
(license license:expat)))
+(define-public ruby-cucumber-tag-expressions
+ (package
+ (name "ruby-cucumber-tag-expressions")
+ (version "1.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "cucumber-tag_expressions" version))
+ (sha256
+ (base32
+ "0cvmbljybws0qzjs1l67fvr9gqr005l8jk1ni5gcsis9pfmqh3vc"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (invoke "rspec")
+ #t)))))
+ (native-inputs
+ `(("ruby-rspec" ,ruby-rspec)))
+ (synopsis "Cucumber tag expressions for Ruby")
+ (description
+ "Cucumber tag expression parser for Ruby. A tag expression is an infix
+boolean expression used by Cucumber.")
+ (home-page "https://github.com/cucumber/tag-expressions-ruby")
+ (license license:expat)))
+
(define-public ruby-bio-logger
(package
(name "ruby-bio-logger")
--
2.20.1
C
C
Christopher Baines wrote on 27 Jan 2019 12:49
[PATCH 06/11] gnu: Add ruby-mspec.
(address . 34217@debbugs.gnu.org)
20190127114956.26570-6-mail@cbaines.net
* gnu/packages/ruby.scm (ruby-mspec): New variable.
---
gnu/packages/ruby.scm | 43 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)

Toggle diff (56 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index fe06ee455e..5a9a9a7c6d 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1606,6 +1606,49 @@ objects.")
(home-page "https://github.com/floehopper/metaclass")
(license license:expat)))
+(define-public ruby-mspec
+ (package
+ (name "ruby-mspec")
+ (version "1.9.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "mspec" version))
+ (sha256
+ (base32
+ "0wmyh2n40m4srwdx9z6h6g6p46k02pzyhcsja3hqcw5h5b0hfmhd"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(;; TODO: 3 test failures
+ ;; ./spec/mocks/mock_spec.rb:82
+ ;; ./spec/utils/name_map_spec.rb:151
+ ;; ./spec/utils/name_map_spec.rb:155
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'extract-gemspec 'change-dependency-constraints
+ (lambda _
+ (substitute* "mspec.gemspec"
+ (("rake.*") "rake>)\n")
+ (("rspec.*") "rspec>)\n"))
+ #t))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "rspec" "spec"))
+ #t)))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rake" ,ruby-rake)
+ ("ruby-rspec" ,ruby-rspec)))
+ (synopsis "MSpec is a specialized framework for RubySpec")
+ (description
+ "MSpec is a specialized framework that is syntax-compatible with RSpec 2
+for basic features. MSpec contains additional features that assist in writing
+specs for Ruby implementations in ruby/spec.")
+ (home-page "http://rubyspec.org")
+ (license license:expat)))
+
(define-public ruby-blankslate
(package
(name "ruby-blankslate")
--
2.20.1
C
C
Christopher Baines wrote on 27 Jan 2019 12:49
[PATCH 09/11] gnu: ruby-cucumber-core: Update to 3.2.1.
(address . 34217@debbugs.gnu.org)
20190127114956.26570-9-mail@cbaines.net
Just update to major version 3, as version 4 of Cucumber hasn't been released
yet.

* gnu/packages/ruby.scm (ruby-cucumber-core): Update to 3.2.1.
[propagated-inputs]: Add ruby-backports, ruby-gherkin and
ruby-cucumber-tag-expressions.
---
gnu/packages/ruby.scm | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)

Toggle diff (29 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 538cae9021..ddaf9e1bc3 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3798,17 +3798,19 @@ files.")
(define-public ruby-cucumber-core
(package
(name "ruby-cucumber-core")
- (version "2.0.0")
+ (version "3.2.1")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "cucumber-core" version))
(sha256
(base32
- "136hnvqv444qyxzcgy1k60y4i6cn3sn9lbqr4wan9dzz1yzllqbm"))))
+ "1iavlh8hqj9lwljbpkw06259gdicbr1bdb6pbj5yy3n8szgr8k3c"))))
(build-system ruby-build-system)
(propagated-inputs
- `(("ruby-gherkin" ,ruby-gherkin)))
+ `(("ruby-backports" ,ruby-backports)
+ ("ruby-gherkin" ,ruby-gherkin)
+ ("ruby-cucumber-tag-expressions" ,ruby-cucumber-tag-expressions)))
(native-inputs
`(("bundler" ,bundler)))
(arguments
--
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
S
S
swedebugia wrote on 28 Jan 2019 06:52
Re: [bug#34217] [PATCH 00/11] Add ruby-cucumber along with dependencies and a couple of updates.
BBD96BF8-E2E9-4063-B02A-33D4125CE814@riseup.net
Christopher Baines <mail@cbaines.net> skrev: (27 januari 2019 12:06:38 CET)
Toggle quote (20 lines)
>These are some of the patches working up to packaging Rails (a Ruby web
>framework).
>
>
>Christopher Baines (11):
> gnu: Add ruby-cucumber-wire.
> gnu: Add ruby-contracts.
> gnu: Add ruby-ruby-progressbar.
> gnu: Add ruby-fuubar.
> gnu: Add ruby-cucumber-expressions.
> gnu: Add ruby-mspec.
> gnu: Add ruby-backports.
> gnu: Add ruby-cucumber-tag-expressions.
> gnu: ruby-cucumber-core: Update to 3.2.1.
> gnu: ruby-gherkin: Update to 5.1.0.
> gnu: Add ruby-cucumber and ruby-aruba.
>
> gnu/packages/ruby.scm | 412 +++++++++++++++++++++++++++++++++++++++++-
> 1 file changed, 404 insertions(+), 8 deletions(-)

Nice ?
I'm interested in Rails because some of the OSM tools I would like to package depend on it.
--
Sent from my k-9 mail for Android.
Attachment: file
S
S
swedebugia wrote on 29 Jan 2019 22:44
Re: [bug#34217] [PATCH 11/11] gnu: Add ruby-cucumber and ruby-aruba.
a4192d92-44ba-2e56-bb19-ef972d444adc@riseup.net
On 2019-01-27 12:49, Christopher Baines wrote:
Toggle quote (39 lines)
> These packages are mutually dependant, so I've put them in one commit.
>
> * gnu/packages/ruby.scm (ruby-aruba, ruby-cucumber): New variables.
> ---
> gnu/packages/ruby.scm | 136 ++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 136 insertions(+)
>
> diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
> index e507c816c8..59895240f8 100644
> --- a/gnu/packages/ruby.scm
> +++ b/gnu/packages/ruby.scm
> @@ -32,6 +32,7 @@
> #:use-module ((guix licenses) #:prefix license:)
> #:use-module (gnu packages)
> #:use-module (gnu packages base)
> + #:use-module (gnu packages check)
> #:use-module (gnu packages compression)
> #:use-module (gnu packages databases)
> #:use-module (gnu packages dbm)
> @@ -3795,6 +3796,141 @@ It is intended be used by all Cucumber implementations to parse
> (home-page "https://github.com/cucumber-attic/gherkin")
> (license license:expat)))
>
> +(define-public ruby-aruba
> + (package
> + (name "ruby-aruba")
> + (version "0.14.7")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (rubygems-uri "aruba" version))
> + (sha256
> + (base32
> + "0x27352n15dsyf5ak246znfawbrm502q15r4msjw3cis17jlcy1l"))))
> + (build-system ruby-build-system)
> + (arguments
> + '(;; TODO: There are a few test failures
> + ;; 357 examples, 7 failures

I investigated this and found:
Failed examples:

rspec ./spec/aruba/api_spec.rb:389 # Aruba::Api files #touch when
directory when exist and the mtim\
e should be set statically
rspec ./spec/aruba/api_spec.rb:388 # Aruba::Api files #touch when
directory when exist and the mtim\
e should be set statically behaves like an existing directory
rspec ./spec/aruba/api_spec.rb:362 # Aruba::Api files #touch when file
when does not exist and the \
mtime should be set statically
rspec ./spec/aruba/api_spec.rb:361 # Aruba::Api files #touch when file
when does not exist and the \
mtime should be set statically behaves like an existing file
rspec ./spec/aruba/matchers/command_spec.rb:165 # Command Matchers
#to_have_output_on_stderr when h\
ave output hello world on stderr
ave output hello world on stderr
rspec ./spec/aruba/matchers/command_spec.rb:128 # Command Matchers
#to_have_output_on_stdout when h\
ave output hello world on stderr
rspec ./spec/aruba/matchers/command_spec.rb:91 # Command Matchers
#to_have_output when have output \
hello world on stderr

The offending lines are in spec/aruba/api_spec.rb
beginning on line: 321, ending on 393
I tried creating a patch with diff for this file. I don't know if this
is the way others here usually create patches.

If not please enlighten me! :)

--
Cheers
Swedebugia
R
R
Ricardo Wurmus wrote on 30 Jan 2019 13:56
(name . swedebugia)(address . swedebugia@riseup.net)
87lg32nw2f.fsf@elephly.net
Hi swedebugia,

Toggle quote (4 lines)
> On 2019-01-27 12:49, Christopher Baines wrote:
>> These packages are mutually dependant, so I've put them in one commit.
>>
>> * gnu/packages/ruby.scm (ruby-aruba, ruby-cucumber): New variables.
[…]
Toggle quote (42 lines)
>> +(define-public ruby-aruba
>> + (package
>> + (name "ruby-aruba")
>> + (version "0.14.7")
>> + (source
>> + (origin
>> + (method url-fetch)
>> + (uri (rubygems-uri "aruba" version))
>> + (sha256
>> + (base32
>> + "0x27352n15dsyf5ak246znfawbrm502q15r4msjw3cis17jlcy1l"))))
>> + (build-system ruby-build-system)
>> + (arguments
>> + '(;; TODO: There are a few test failures
>> + ;; 357 examples, 7 failures
>
> I investigated this and found:
> Failed examples:
>
> rspec ./spec/aruba/api_spec.rb:389 # Aruba::Api files #touch when
> directory when exist and the mtim\
> e should be set statically
> rspec ./spec/aruba/api_spec.rb:388 # Aruba::Api files #touch when
> directory when exist and the mtim\
> e should be set statically behaves like an existing directory
> rspec ./spec/aruba/api_spec.rb:362 # Aruba::Api files #touch when file
> when does not exist and the \
> mtime should be set statically
> rspec ./spec/aruba/api_spec.rb:361 # Aruba::Api files #touch when file
> when does not exist and the \
> mtime should be set statically behaves like an existing file
> rspec ./spec/aruba/matchers/command_spec.rb:165 # Command Matchers
> #to_have_output_on_stderr when h\
> ave output hello world on stderr
> ave output hello world on stderr
> rspec ./spec/aruba/matchers/command_spec.rb:128 # Command Matchers
> #to_have_output_on_stdout when h\
> ave output hello world on stderr
> rspec ./spec/aruba/matchers/command_spec.rb:91 # Command Matchers
> #to_have_output when have output \
> hello world on stderr

What does this mean?

Toggle quote (7 lines)
> The offending lines are in spec/aruba/api_spec.rb
> beginning on line: 321, ending on 393
> I tried creating a patch with diff for this file. I don't know if this
> is the way others here usually create patches.
>
> If not please enlighten me! :)

We usually use “diff -u” to generate patches in unified diff format
(that’s the one with plus and minus prefixes).

Your patch only disables the test. I would rather like to know why it
fails and then fix the problem at the root. Have you figured out why
they fail and how the failure can be prevented?

--
Ricardo
S
S
swedebugia wrote on 30 Jan 2019 17:11
(name . Ricardo Wurmus)(address . rekado@elephly.net)
754595d3-c267-485d-d0c0-a3782b88c89f@riseup.net
On 2019-01-30 13:56, Ricardo Wurmus wrote:
Toggle quote (67 lines)
>
> Hi swedebugia,
>
>> On 2019-01-27 12:49, Christopher Baines wrote:
>>> These packages are mutually dependant, so I've put them in one commit.
>>>
>>> * gnu/packages/ruby.scm (ruby-aruba, ruby-cucumber): New variables.
> […]
>>> +(define-public ruby-aruba
>>> + (package
>>> + (name "ruby-aruba")
>>> + (version "0.14.7")
>>> + (source
>>> + (origin
>>> + (method url-fetch)
>>> + (uri (rubygems-uri "aruba" version))
>>> + (sha256
>>> + (base32
>>> + "0x27352n15dsyf5ak246znfawbrm502q15r4msjw3cis17jlcy1l"))))
>>> + (build-system ruby-build-system)
>>> + (arguments
>>> + '(;; TODO: There are a few test failures
>>> + ;; 357 examples, 7 failures
>>
>> I investigated this and found:
>> Failed examples:
>>
>> rspec ./spec/aruba/api_spec.rb:389 # Aruba::Api files #touch when
>> directory when exist and the mtim\
>> e should be set statically
>> rspec ./spec/aruba/api_spec.rb:388 # Aruba::Api files #touch when
>> directory when exist and the mtim\
>> e should be set statically behaves like an existing directory
>> rspec ./spec/aruba/api_spec.rb:362 # Aruba::Api files #touch when file
>> when does not exist and the \
>> mtime should be set statically
>> rspec ./spec/aruba/api_spec.rb:361 # Aruba::Api files #touch when file
>> when does not exist and the \
>> mtime should be set statically behaves like an existing file
>> rspec ./spec/aruba/matchers/command_spec.rb:165 # Command Matchers
>> #to_have_output_on_stderr when h\
>> ave output hello world on stderr
>> ave output hello world on stderr
>> rspec ./spec/aruba/matchers/command_spec.rb:128 # Command Matchers
>> #to_have_output_on_stdout when h\
>> ave output hello world on stderr
>> rspec ./spec/aruba/matchers/command_spec.rb:91 # Command Matchers
>> #to_have_output when have output \
>> hello world on stderr
>
> What does this mean?
>
>> The offending lines are in spec/aruba/api_spec.rb
>> beginning on line: 321, ending on 393
>> I tried creating a patch with diff for this file. I don't know if this
>> is the way others here usually create patches.
>>
>> If not please enlighten me! :)
>
> We usually use “diff -u” to generate patches in unified diff format
> (that’s the one with plus and minus prefixes).
>
> Your patch only disables the test. I would rather like to know why it
> fails and then fix the problem at the root. Have you figured out why
> they fail and how the failure can be prevented?
>

No but I attached the full error message.

The relevant section is here:

Randomized with seed 46150
............................../tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
warning: instance variable @timed_out not initialized
/tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
warning: instance variable @timed_out not initialized
./tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
warning: instance variable @timed_out not initialized
/tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
warning: instance variable @timed_out not initialized
./tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
warning: instance variable @timed_out not initialized
./tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
warning: instance variable @timed_out not initialized
......................................................................................................................................F.....F.F......................................../tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
warning: instance variable @timed_out not initialized
/tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
warning: instance variable @timed_out not initialized
./tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
warning: instance variable @timed_out not initialized
/tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
warning: instance variable @timed_out not initialized
................................../tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
warning: instance variable @timed_out not initialized
./tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
warning: instance variable @timed_out not initialized
................../tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/runtime.rb:84:
warning: instance variable @fixtures_directory not initialized
......../tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/runtime.rb:84:
warning: instance variable @fixtures_directory not initialized
.......FF.....FF...............................................................

Failures:

1) Command Matchers #to_have_output_on_stdout when have output hello
world on stderr
Failure/Error: raise LaunchError, "It tried to start #{cmd}. " +
e.message

NameError:
undefined local variable or method `cmd' for
#<Aruba::Processes::SpawnProcess:0x0000555556f0bc10>
Did you mean? @cmd
# ./lib/aruba/processes/spawn_process.rb:89:in `rescue in start'
# ./lib/aruba/processes/spawn_process.rb:83:in `start'
# ./lib/aruba/command.rb:69:in `start'
# ./lib/aruba/api/command.rb:213:in `run'
# ./spec/aruba/matchers/command_spec.rb:126:in `block (4 levels)
in <top (required)>'
# ./lib/aruba/rspec.rb:22:in `block (2 levels) in <top (required)>'
# ------------------
# --- Caused by: ---
# ChildProcess::LaunchError:
# No such file or directory -
/tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/tmp/aruba/cmd.sh
# ./lib/aruba/processes/spawn_process.rb:85:in `block in start'

2) Command Matchers #to_have_output when have output hello world on
stderr
Failure/Error: raise LaunchError, "It tried to start #{cmd}. " +
e.message

NameError:
undefined local variable or method `cmd' for
#<Aruba::Processes::SpawnProcess:0x00005555571159e8>
Did you mean? @cmd
# ./lib/aruba/processes/spawn_process.rb:89:in `rescue in start'
# ./lib/aruba/processes/spawn_process.rb:83:in `start'
# ./lib/aruba/command.rb:69:in `start'
# ./lib/aruba/api/command.rb:213:in `run'
# ./spec/aruba/matchers/command_spec.rb:89:in `block (4 levels) in
<top (required)>'
# ./lib/aruba/rspec.rb:22:in `block (2 levels) in <top (required)>'
# ------------------
# --- Caused by: ---
# ChildProcess::LaunchError:
# No such file or directory -
/tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/tmp/aruba/cmd.sh
# ./lib/aruba/processes/spawn_process.rb:85:in `block in start'

3) Command Matchers #to_have_output_on_stderr when have output hello
world on stderr
Failure/Error: raise LaunchError, "It tried to start #{cmd}. " +
e.message

NameError:
undefined local variable or method `cmd' for
#<Aruba::Processes::SpawnProcess:0x0000555556efd4a8>
Did you mean? @cmd
# ./lib/aruba/processes/spawn_process.rb:89:in `rescue in start'
# ./lib/aruba/processes/spawn_process.rb:83:in `start'
# ./lib/aruba/command.rb:69:in `start'
# ./lib/aruba/api/command.rb:213:in `run'
# ./spec/aruba/matchers/command_spec.rb:163:in `block (4 levels)
in <top (required)>'
# ./lib/aruba/rspec.rb:22:in `block (2 levels) in <top (required)>'
# ------------------
# --- Caused by: ---
# ChildProcess::LaunchError:
# No such file or directory -
/tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/tmp/aruba/cmd.sh
# ./lib/aruba/processes/spawn_process.rb:85:in `block in start'

4) Aruba::Api files #touch when directory when exist and the mtime
should be set statically
Failure/Error: let(:options) { { :mtime => Time.parse('2014-01-01
10:00:00') } }

NoMethodError:
undefined method `parse' for Time:Class
# ./spec/aruba/api_spec.rb:386:in `block (7 levels) in <top
(required)>'
# ./spec/aruba/api_spec.rb:381:in `block (6 levels) in <top
(required)>'
# ./lib/aruba/rspec.rb:22:in `block (2 levels) in <top (required)>'

5) Aruba::Api files #touch when directory when exist and the mtime
should be set statically behaves like an existing directory
Failure/Error: let(:options) { { :mtime => Time.parse('2014-01-01
10:00:00') } }

NoMethodError:
undefined method `parse' for Time:Class
Shared Example Group: "an existing directory" called from
./spec/aruba/api_spec.rb:388
# ./spec/aruba/api_spec.rb:386:in `block (7 levels) in <top
(required)>'
# ./spec/aruba/api_spec.rb:381:in `block (6 levels) in <top
(required)>'
# ./lib/aruba/rspec.rb:22:in `block (2 levels) in <top (required)>'

6) Aruba::Api files #touch when file when does not exist and the
mtime should be set statically
Failure/Error: let(:options) { { :mtime => Time.parse('2014-01-01
10:00:00') } }

NoMethodError:
undefined method `parse' for Time:Class
# ./spec/aruba/api_spec.rb:359:in `block (7 levels) in <top
(required)>'
# ./spec/aruba/api_spec.rb:333:in `block (5 levels) in <top
(required)>'
# ./lib/aruba/rspec.rb:22:in `block (2 levels) in <top (required)>'

7) Aruba::Api files #touch when file when does not exist and the
mtime should be set statically behaves like an existing file
Failure/Error: let(:options) { { :mtime => Time.parse('2014-01-01
10:00:00') } }

NoMethodError:
undefined method `parse' for Time:Class
Shared Example Group: "an existing file" called from
./spec/aruba/api_spec.rb:361
# ./spec/aruba/api_spec.rb:359:in `block (7 levels) in <top
(required)>'
# ./spec/aruba/api_spec.rb:333:in `block (5 levels) in <top
(required)>'
# ./lib/aruba/rspec.rb:22:in `block (2 levels) in <top (required)>'


I don't know ruby at all so I might not be the best qualified to
investigate this. :/

--
Cheers
Swedebugia
S
S
swedebugia wrote on 30 Jan 2019 17:22
(name . Ricardo Wurmus)(address . rekado@elephly.net)
db58f908-b57e-5533-6197-827af0c5b2b8@riseup.net
On 2019-01-30 17:11, swedebugia wrote:
Toggle quote (236 lines)
> On 2019-01-30 13:56, Ricardo Wurmus wrote:
>>
>> Hi swedebugia,
>>
>>> On 2019-01-27 12:49, Christopher Baines wrote:
>>>> These packages are mutually dependant, so I've put them in one commit.
>>>>
>>>> * gnu/packages/ruby.scm (ruby-aruba, ruby-cucumber): New variables.
>> […]
>>>> +(define-public ruby-aruba
>>>> +  (package
>>>> +    (name "ruby-aruba")
>>>> +    (version "0.14.7")
>>>> +    (source
>>>> +     (origin
>>>> +       (method url-fetch)
>>>> +       (uri (rubygems-uri "aruba" version))
>>>> +       (sha256
>>>> +        (base32
>>>> +         "0x27352n15dsyf5ak246znfawbrm502q15r4msjw3cis17jlcy1l"))))
>>>> +    (build-system ruby-build-system)
>>>> +    (arguments
>>>> +     '(;; TODO: There are a few test failures
>>>> +       ;; 357 examples, 7 failures
>>>
>>> I investigated this and found:
>>> Failed examples:
>>>
>>> rspec ./spec/aruba/api_spec.rb:389 # Aruba::Api files #touch when
>>> directory when exist and the mtim\
>>> e should be set statically
>>> rspec ./spec/aruba/api_spec.rb:388 # Aruba::Api files #touch when
>>> directory when exist and the mtim\
>>> e should be set statically behaves like an existing directory
>>> rspec ./spec/aruba/api_spec.rb:362 # Aruba::Api files #touch when file
>>> when does not exist and the \
>>> mtime should be set statically
>>> rspec ./spec/aruba/api_spec.rb:361 # Aruba::Api files #touch when file
>>> when does not exist and the \
>>> mtime should be set statically behaves like an existing file
>>> rspec ./spec/aruba/matchers/command_spec.rb:165 # Command Matchers
>>> #to_have_output_on_stderr when h\
>>> ave output hello world on stderr
>>> ave output hello world on stderr
>>> rspec ./spec/aruba/matchers/command_spec.rb:128 # Command Matchers
>>> #to_have_output_on_stdout when h\
>>> ave output hello world on stderr
>>> rspec ./spec/aruba/matchers/command_spec.rb:91 # Command Matchers
>>> #to_have_output when have output \
>>> hello world on stderr
>>
>> What does this mean?
>>
>>> The offending lines are in spec/aruba/api_spec.rb
>>> beginning on line: 321, ending on 393
>>> I tried creating a patch with diff for this file. I don't know if this
>>> is the way others here usually create patches.
>>>
>>> If not please enlighten me! :)
>>
>> We usually use “diff -u” to generate patches in unified diff format
>> (that’s the one with plus and minus prefixes).
>>
>> Your patch only disables the test.  I would rather like to know why it
>> fails and then fix the problem at the root.  Have you figured out why
>> they fail and how the failure can be prevented?
>>
>
> No but I attached the full error message.
>
> The relevant section is here:
>
> Randomized with seed 46150
> ............................../tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
> warning: instance variable @timed_out not initialized
> /tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
> warning: instance variable @timed_out not initialized
> ./tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
> warning: instance variable @timed_out not initialized
> /tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
> warning: instance variable @timed_out not initialized
> ./tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
> warning: instance variable @timed_out not initialized
> ./tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
> warning: instance variable @timed_out not initialized
> ......................................................................................................................................F.....F.F......................................../tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
> warning: instance variable @timed_out not initialized
> /tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
> warning: instance variable @timed_out not initialized
> ./tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
> warning: instance variable @timed_out not initialized
> /tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
> warning: instance variable @timed_out not initialized
> ................................../tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
> warning: instance variable @timed_out not initialized
> ./tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/processes/basic_process.rb:100:
> warning: instance variable @timed_out not initialized
> ................../tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/runtime.rb:84:
> warning: instance variable @fixtures_directory not initialized
> ......../tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/lib/aruba/runtime.rb:84:
> warning: instance variable @fixtures_directory not initialized
> .......FF.....FF...............................................................
>
>
> Failures:
>
>   1) Command Matchers #to_have_output_on_stdout when have output hello
> world on stderr
>      Failure/Error: raise LaunchError, "It tried to start #{cmd}. " +
> e.message
>
>      NameError:
>        undefined local variable or method `cmd' for
> #<Aruba::Processes::SpawnProcess:0x0000555556f0bc10>
>        Did you mean?  @cmd
>      # ./lib/aruba/processes/spawn_process.rb:89:in `rescue in start'
>      # ./lib/aruba/processes/spawn_process.rb:83:in `start'
>      # ./lib/aruba/command.rb:69:in `start'
>      # ./lib/aruba/api/command.rb:213:in `run'
>      # ./spec/aruba/matchers/command_spec.rb:126:in `block (4 levels)
> in <top (required)>'
>      # ./lib/aruba/rspec.rb:22:in `block (2 levels) in <top (required)>'
>      # ------------------
>      # --- Caused by: ---
>      # ChildProcess::LaunchError:
>      #   No such file or directory -
> /tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/tmp/aruba/cmd.sh
>      #   ./lib/aruba/processes/spawn_process.rb:85:in `block in start'
>
>   2) Command Matchers #to_have_output when have output hello world on
> stderr
>      Failure/Error: raise LaunchError, "It tried to start #{cmd}. " +
> e.message
>
>      NameError:
>        undefined local variable or method `cmd' for
> #<Aruba::Processes::SpawnProcess:0x00005555571159e8>
>        Did you mean?  @cmd
>      # ./lib/aruba/processes/spawn_process.rb:89:in `rescue in start'
>      # ./lib/aruba/processes/spawn_process.rb:83:in `start'
>      # ./lib/aruba/command.rb:69:in `start'
>      # ./lib/aruba/api/command.rb:213:in `run'
>      # ./spec/aruba/matchers/command_spec.rb:89:in `block (4 levels) in
> <top (required)>'
>      # ./lib/aruba/rspec.rb:22:in `block (2 levels) in <top (required)>'
>      # ------------------
>      # --- Caused by: ---
>      # ChildProcess::LaunchError:
>      #   No such file or directory -
> /tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/tmp/aruba/cmd.sh
>      #   ./lib/aruba/processes/spawn_process.rb:85:in `block in start'
>
>   3) Command Matchers #to_have_output_on_stderr when have output hello
> world on stderr
>      Failure/Error: raise LaunchError, "It tried to start #{cmd}. " +
> e.message
>
>      NameError:
>        undefined local variable or method `cmd' for
> #<Aruba::Processes::SpawnProcess:0x0000555556efd4a8>
>        Did you mean?  @cmd
>      # ./lib/aruba/processes/spawn_process.rb:89:in `rescue in start'
>      # ./lib/aruba/processes/spawn_process.rb:83:in `start'
>      # ./lib/aruba/command.rb:69:in `start'
>      # ./lib/aruba/api/command.rb:213:in `run'
>      # ./spec/aruba/matchers/command_spec.rb:163:in `block (4 levels)
> in <top (required)>'
>      # ./lib/aruba/rspec.rb:22:in `block (2 levels) in <top (required)>'
>      # ------------------
>      # --- Caused by: ---
>      # ChildProcess::LaunchError:
>      #   No such file or directory -
> /tmp/guix-build-ruby-aruba-0.14.7.drv-0/gem/tmp/aruba/cmd.sh
>      #   ./lib/aruba/processes/spawn_process.rb:85:in `block in start'
>
>   4) Aruba::Api files #touch when directory when exist and the mtime
> should be set statically
>      Failure/Error: let(:options) { { :mtime => Time.parse('2014-01-01
> 10:00:00') } }
>
>      NoMethodError:
>        undefined method `parse' for Time:Class
>      # ./spec/aruba/api_spec.rb:386:in `block (7 levels) in <top
> (required)>'
>      # ./spec/aruba/api_spec.rb:381:in `block (6 levels) in <top
> (required)>'
>      # ./lib/aruba/rspec.rb:22:in `block (2 levels) in <top (required)>'
>
>   5) Aruba::Api files #touch when directory when exist and the mtime
> should be set statically behaves like an existing directory
>      Failure/Error: let(:options) { { :mtime => Time.parse('2014-01-01
> 10:00:00') } }
>
>      NoMethodError:
>        undefined method `parse' for Time:Class
>      Shared Example Group: "an existing directory" called from
> ./spec/aruba/api_spec.rb:388
>      # ./spec/aruba/api_spec.rb:386:in `block (7 levels) in <top
> (required)>'
>      # ./spec/aruba/api_spec.rb:381:in `block (6 levels) in <top
> (required)>'
>      # ./lib/aruba/rspec.rb:22:in `block (2 levels) in <top (required)>'
>
>   6) Aruba::Api files #touch when file when does not exist and the
> mtime should be set statically
>      Failure/Error: let(:options) { { :mtime => Time.parse('2014-01-01
> 10:00:00') } }
>
>      NoMethodError:
>        undefined method `parse' for Time:Class
>      # ./spec/aruba/api_spec.rb:359:in `block (7 levels) in <top
> (required)>'
>      # ./spec/aruba/api_spec.rb:333:in `block (5 levels) in <top
> (required)>'
>      # ./lib/aruba/rspec.rb:22:in `block (2 levels) in <top (required)>'
>
>   7) Aruba::Api files #touch when file when does not exist and the
> mtime should be set statically behaves like an existing file
>      Failure/Error: let(:options) { { :mtime => Time.parse('2014-01-01
> 10:00:00') } }
>
>      NoMethodError:
>        undefined method `parse' for Time:Class
>      Shared Example Group: "an existing file" called from
> ./spec/aruba/api_spec.rb:361
>      # ./spec/aruba/api_spec.rb:359:in `block (7 levels) in <top
> (required)>'
>      # ./spec/aruba/api_spec.rb:333:in `block (5 levels) in <top
> (required)>'
>      # ./lib/aruba/rspec.rb:22:in `block (2 levels) in <top (required)>'
>
>
> I don't know ruby at all so I might not be the best qualified to
> investigate this. :/
>

I suspect a path-error.

I found this, but dunno if it is related:


--
Cheers
Swedebugia
S
S
swedebugia wrote on 31 Jan 2019 09:43
(address . guix-patches@gnu.org)
1dedc991-9515-3897-cfa1-ae4f55158851@riseup.net
On 2019-01-30 17:22, swedebugia wrote:
Toggle quote (9 lines)
> On 2019-01-30 17:11, swedebugia wrote:
>> On 2019-01-30 13:56, Ricardo Wurmus wrote:
>>>
>>> Hi swedebugia,
>>>
>>>> On 2019-01-27 12:49, Christopher Baines wrote:
>>>>> These packages are mutually dependant, so I've put them in one commit.
>>>>>
>>>>> * gnu/packages/ruby.scm (ruby-aruba, ruby-cucumber): New variables.
snip

Toggle quote (3 lines)
>> I don't know ruby at all so I might not be the best qualified to
>> investigate this. :/

I decided to try out latest master, worked a little on it and now it
builds without failure! :D

I'm unsure what revision number we usually start on, please correct if
necessary.

(define-public ruby-aruba
;; Take commit from latest master to avoid test failures

(let ((commit "688ad050f48990bfac127eaf529a828a0139d85f")
(revision "1"))
(package
(name "ruby-aruba")
(version
(string-append "0.14.7" "-" revision "." (string-take commit 7)))
(source
(origin
(method git-fetch)
(uri (git-reference
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"11c9w5rnra3xxzp1i4cazpf5gp6s25l4ymxsn022crk096nq475y"))))
(build-system ruby-build-system)
(arguments
'(#:test-target "spec"
#:phases
(modify-phases %standard-phases
(add-before 'check 'remove-unnecessary-dependencies
(lambda _
(substitute* "Gemfile"
((".*byebug.*") "\n")
((".*pry.*") "\n")
((".*yaml.*") "\n")
((".*bcat.*") "\n")
((".*kramdown.*") "\n")
((".*rubocop.*") "\n")
((".*cucumber-pro.*") "\n")
((".*cucumber.*") "\n")
((".*license_finder.*") "\n")
((".*rake.*") "gem 'rake'\n")
((".*simplecov.*") "\n")
((".*relish.*") "\n")
((".*json.*") "\n")
((".*yard-junk.*") "\n")
((".*yard.*") "\n"))
(substitute* "spec/spec_helper.rb"
((".*simplecov.*") "")
(("^SimpleCov.*") ""))
(substitute* "aruba.gemspec"
(("spec\\.add\\_runtime\\_dependency 'cucumber'.*")
"spec.add_runtime_dependency 'cucumber'\n"))
(substitute* "Rakefile"
;; Do not require docker stuff

((".*'aruba/.*")
"")
;; No linting

((":lint, :test")
":test"))
#t))
(add-before 'check 'set-home
(lambda _ (setenv "HOME" "/tmp") #t)))))
(native-inputs
`(("bundler" ,bundler)
("ruby-rspec" ,ruby-rspec)
("ruby-fuubar" ,ruby-fuubar)))
(propagated-inputs
`(("ruby-childprocess" ,ruby-childprocess)
("ruby-contracts" ,ruby-contracts)
("ruby-cucumber" ,ruby-cucumber)
("ruby-ffi" ,ruby-ffi)
("ruby-rspec-expectations" ,ruby-rspec-expectations)
("ruby-thor" ,ruby-thor)))
(synopsis "Test command-line applications with Cucumber, RSpec or
Minitest")
(description
"Aruba is an extension for Cucumber, RSpec and Minitest for
testing

command-line applications. It supports applications written in any

language.")
(license license:expat))))

Could you update the patch Christopher?

--
Cheers
Swedebugia
S
S
swedebugia wrote on 31 Jan 2019 09:53
Re: [bug#34217] [PATCH 07/11] gnu: Add ruby-backports.
(address . guix-patches@gnu.org)
87d7347f-bea8-092d-7c54-d9fa6973be60@riseup.net
On 2019-01-27 12:49, Christopher Baines wrote:
Toggle quote (29 lines)
> * gnu/packages/ruby.scm (ruby-backports): New variable.
> ---
> gnu/packages/ruby.scm | 25 +++++++++++++++++++++++++
> 1 file changed, 25 insertions(+)
>
> diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
> index 5a9a9a7c6d..115e132b95 100644
> --- a/gnu/packages/ruby.scm
> +++ b/gnu/packages/ruby.scm
> @@ -1350,6 +1350,31 @@ User Agents.")
> (home-page "https://github.com/gshutler/useragent")
> (license license:expat)))
>
> +(define-public ruby-backports
> + (package
> + (name "ruby-backports")
> + (version "3.11.4")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (rubygems-uri "backports" version))
> + (sha256
> + (base32
> + "1hshjxww2h7s0dk57njrygq4zpp0nlqrjfya7zwm27iq3rhc3y8g"))))
> + (build-system ruby-build-system)
> + (arguments
> + '(;; TODO: This should be default, but there is one test failure
> + #:test-target "all_spec"))

The failure is reported upstream, see

--
Cheers
Swedebugia
S
S
swedebugia wrote on 1 Feb 2019 16:41
FEFAC7C3-E972-4CC4-86DC-13CD6A0474D3@riseup.net
swedebugia <swedebugia@riseup.net> skrev: (31 januari 2019 09:53:17 CET)
Toggle quote (37 lines)
>On 2019-01-27 12:49, Christopher Baines wrote:
>> * gnu/packages/ruby.scm (ruby-backports): New variable.
>> ---
>> gnu/packages/ruby.scm | 25 +++++++++++++++++++++++++
>> 1 file changed, 25 insertions(+)
>>
>> diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
>> index 5a9a9a7c6d..115e132b95 100644
>> --- a/gnu/packages/ruby.scm
>> +++ b/gnu/packages/ruby.scm
>> @@ -1350,6 +1350,31 @@ User Agents.")
>> (home-page "https://github.com/gshutler/useragent")
>> (license license:expat)))
>>
>> +(define-public ruby-backports
>> + (package
>> + (name "ruby-backports")
>> + (version "3.11.4")
>> + (source
>> + (origin
>> + (method url-fetch)
>> + (uri (rubygems-uri "backports" version))
>> + (sha256
>> + (base32
>> + "1hshjxww2h7s0dk57njrygq4zpp0nlqrjfya7zwm27iq3rhc3y8g"))))
>> + (build-system ruby-build-system)
>> + (arguments
>> + '(;; TODO: This should be default, but there is one test failure
>> + #:test-target "all_spec"))
>
>The failure is reported upstream, see
>https://github.com/marcandre/backports/issues/127
>
>--
>Cheers
>Swedebugia

From upstream:
Sorry the failure is quite obscure.

Backports wants to make sure it is defining the right methods only when necessary. The test is failing because the method alias_method_chainappears to have been added to all modules (Array, Binding, ...). Maybe the old backports/rails/module/alias_method_chain is somehow loaded, but I don't see how or why...

--
Sent from my k-9 mail for Android.
Attachment: file
B
B
Björn Höfling wrote on 3 Feb 2019 22:03
Re: [bug#34217] [PATCH 01/11] gnu: Add ruby-cucumber-wire.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34217@debbugs.gnu.org)
20190203220328.747b1454@alma-ubu
On Sun, 27 Jan 2019 11:49:46 +0000
Christopher Baines <mail@cbaines.net> wrote:

Toggle quote (3 lines)
> Package version 0.0.1 initially, as this is what's needed by Cucumber
> 3, and Cucumber 4 hasn't been released yet.

I would prefer to see this hint as a comment in the code, not in the
commit message: When I as a developer stumble upon the package
definition and see it is outdated, I would just update it and not
search all commit messages to find out it shouldn't. A comment near the
package definition or version would prevent that mistake.

Otherwise, LGTM.

Thanks,

Björn
B
B
Björn Höfling wrote on 3 Feb 2019 22:40
Re: [bug#34217] [PATCH 03/11] gnu: Add ruby-ruby-progressbar.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34217@debbugs.gnu.org)
20190203224015.0cf8fd3d@alma-ubu
On Sun, 27 Jan 2019 11:49:48 +0000
Christopher Baines <mail@cbaines.net> wrote:

Toggle quote (17 lines)
> * gnu/packages/ruby.scm (ruby-ruby-progressbar): 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 808b2d8686..15382de017 100644
> --- a/gnu/packages/ruby.scm
> +++ b/gnu/packages/ruby.scm
> @@ -2507,6 +2507,28 @@ rate.")
> (home-page "https://github.com/paul/progress_bar")
> (license license:wtfpl2)))
>
> +(define-public ruby-ruby-progressbar
> + (package
> + (name "ruby-ruby-progressbar")

Although we do not have a specific section about Ruby packages, I would
stick to the rules for Python packages:


"If a project already contains the word python, we drop this; for
instance, the module python-dateutil is packaged under the names python-dateutil"

Thus, rename the package to just "ruby-progressbar".

Otherwise, LGTM.

Thanks,

Björn
B
B
Björn Höfling wrote on 3 Feb 2019 23:18
Re: [bug#34217] [PATCH 11/11] gnu: Add ruby-cucumber and ruby-aruba.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34217@debbugs.gnu.org)
20190203231817.0a722915@alma-ubu
On Sun, 27 Jan 2019 11:49:56 +0000
Christopher Baines <mail@cbaines.net> wrote:

Toggle quote (4 lines)
> These packages are mutually dependant, so I've put them in one commit.
>
> * gnu/packages/ruby.scm (ruby-aruba, ruby-cucumber): New variables.

You missed to add the "...-without-tests" variables here.

[...]

Toggle quote (5 lines)
> +(define-public ruby-aruba
> + (package
> + (name "ruby-aruba")
> + (version "0.14.7")

There is another update since yesterday:
0.14.8 - February 02, 2019 (169 KB)

[..]

Toggle quote (13 lines)
> +;; A version of ruby-aruba without tests run so that circular
> dependencies can +;; be avoided.
> +(define ruby-aruba-without-tests
> + (package
> + (inherit ruby-aruba)
> + (arguments '(#:tests? #f))
> + (propagated-inputs
> + (map (lambda (input)
> + (if (string=? (car input) "ruby-cucumber")
> + `("ruby-cucumber" ,ruby-cucumber-without-tests)
> + input))
> + (package-propagated-inputs ruby-aruba)))

This is really nit-picking, I haven't tried it out myself and I haven't
used it much myself, but I think this could be written more elegant with
match-lambda [syntax errors might be included]:

(map (match-lambda
(("ruby-cucumber" . pkg)
`("ruby-cucumber" ,ruby-cucumber-without-tests))
(input input)
...)



Björn
B
B
Björn Höfling wrote on 3 Feb 2019 23:20
Re: [bug#34217] [PATCH 09/11] gnu: ruby-cucumber-core: Update to 3.2.1.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34217@debbugs.gnu.org)
20190203231959.7ba72f92@alma-ubu
On Sun, 27 Jan 2019 11:49:54 +0000
Christopher Baines <mail@cbaines.net> wrote:

Toggle quote (3 lines)
> Just update to major version 3, as version 4 of Cucumber hasn't been
> released yet.

Can u move this into a comment in the source, such that it sticks
directly to the package?

Otherwise LGTM.

Björn
B
B
Björn Höfling wrote on 3 Feb 2019 23:21
Re: [bug#34217] [PATCH 00/11] Add ruby-cucumber along with dependencies and a couple of updates.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34217@debbugs.gnu.org)
20190203232158.10a2c04a@alma-ubu
On Sun, 27 Jan 2019 11:06:38 +0000
Christopher Baines <mail@cbaines.net> wrote:

Toggle quote (21 lines)
> These are some of the patches working up to packaging Rails (a Ruby
> web framework).
>
>
> Christopher Baines (11):
> gnu: Add ruby-cucumber-wire.
> gnu: Add ruby-contracts.
> gnu: Add ruby-ruby-progressbar.
> gnu: Add ruby-fuubar.
> gnu: Add ruby-cucumber-expressions.
> gnu: Add ruby-mspec.
> gnu: Add ruby-backports.
> gnu: Add ruby-cucumber-tag-expressions.
> gnu: ruby-cucumber-core: Update to 3.2.1.
> gnu: ruby-gherkin: Update to 5.1.0.
> gnu: Add ruby-cucumber and ruby-aruba.
>
> gnu/packages/ruby.scm | 412
> +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 404
> insertions(+), 8 deletions(-)

Besides from small individual comments per package, this patchset looks
good for me.

Thank you,

Björn
R
R
Ricardo Wurmus wrote on 4 Feb 2019 00:26
Re: [bug#34217] [PATCH 11/11] gnu: Add ruby-cucumber and ruby-aruba.
(name . Björn Höfling)(address . bjoern.hoefling@bjoernhoefling.de)
87r2cowj0c.fsf@elephly.net
Björn Höfling <bjoern.hoefling@bjoernhoefling.de> writes:

Toggle quote (17 lines)
>> + (propagated-inputs
>> + (map (lambda (input)
>> + (if (string=? (car input) "ruby-cucumber")
>> + `("ruby-cucumber" ,ruby-cucumber-without-tests)
>> + input))
>> + (package-propagated-inputs ruby-aruba)))
>
> This is really nit-picking, I haven't tried it out myself and I haven't
> used it much myself, but I think this could be written more elegant with
> match-lambda [syntax errors might be included]:
>
> (map (match-lambda
> (("ruby-cucumber" . pkg)
> `("ruby-cucumber" ,ruby-cucumber-without-tests))
> (input input)
> ...)

Or like this

`(("ruby-cucumber" ,ruby-cucumber-without-tests)
,@(alist-delete "ruby-cucumber"
(package-propagated-inputs ruby-aruba)))

--
Ricardo
C
C
Christopher Baines wrote on 8 Feb 2019 18:19
(name . Björn Höfling)(address . bjoern.hoefling@bjoernhoefling.de)(address . 34217@debbugs.gnu.org)
87h8de5hb5.fsf@cbaines.net
Björn Höfling <bjoern.hoefling@bjoernhoefling.de> writes:

Toggle quote (9 lines)
> On Sun, 27 Jan 2019 11:49:56 +0000
> Christopher Baines <mail@cbaines.net> wrote:
>
>> These packages are mutually dependant, so I've put them in one commit.
>>
>> * gnu/packages/ruby.scm (ruby-aruba, ruby-cucumber): New variables.
>
> You missed to add the "...-without-tests" variables here.

I wasn't quite sure whether to put only public things in the changelog,
or everything. I've included them in the changelog now.

Toggle quote (8 lines)
>> +(define-public ruby-aruba
>> + (package
>> + (name "ruby-aruba")
>> + (version "0.14.7")
>
> There is another update since yesterday:
> 0.14.8 - February 02, 2019 (169 KB)

Cool, I've updated to this new version.

Toggle quote (23 lines)
>> +;; A version of ruby-aruba without tests run so that circular
>> dependencies can +;; be avoided.
>> +(define ruby-aruba-without-tests
>> + (package
>> + (inherit ruby-aruba)
>> + (arguments '(#:tests? #f))
>> + (propagated-inputs
>> + (map (lambda (input)
>> + (if (string=? (car input) "ruby-cucumber")
>> + `("ruby-cucumber" ,ruby-cucumber-without-tests)
>> + input))
>> + (package-propagated-inputs ruby-aruba)))
>
> This is really nit-picking, I haven't tried it out myself and I haven't
> used it much myself, but I think this could be written more elegant with
> match-lambda [syntax errors might be included]:
>
> (map (match-lambda
> (("ruby-cucumber" . pkg)
> `("ruby-cucumber" ,ruby-cucumber-without-tests))
> (input input)
> ...)

I've changed this to use alist-delete which Ricardo suggested as I think
that's the most straight forward.

Thanks for the your comments,

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

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlxduh5fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9XcoAQ/+PsfkYX6SLS0tkPCfgzBPZbtihHs3mlTYTZ1TOdJBCBdedQXWk1Bvkaop
5cCV9mLWnocfC8bygh0HSgTP2fGOuNT/9i4hwcrDEukHUxAuCgDSnzrU98FAoppZ
q9L7TZP+2bjsBPDQ+a7EgoUggOl2cfN1wL9+u/2K85K627TK9KaXXG9eAhnezvtw
64B8yHRLk/bPgy5hd8MjYf/L5QbC5yHFpTMopuFv0B5KkZvMQVjDRH69H+FA2l/d
01MsqXtJpgGtmphXQp+LurTXRRbXD4WW26CUy43L1MtmPbP0oBxNJKcLQ6hm6bNw
vpo+f0pmV2RUZ+HpkU9hsGHxtO3n3BO4rZlrXlErpEY6bawKwqV4fkALqSDjE5at
fAwuJNIE7Rwu0cm9Kve1FHvakAPjss9Om0nrfTueS8BFPN65GMkEKjrCJhPY+wRP
eZjnS6qdxGR2XT6+HENRX8pSvY3l+2+D2hp6TjZC5mvMAgOrYwc7KQapTC8rsQ7B
9/RzSgvel8UbgL6RLVdwc1WRty29PNXQui0gFZ5F3LsA0UhAB7qJ/rBqglU7YkRh
ozvo1wG1gJpj5/TWmQzSfniv90fh2eNFPaGtCy2ScdnXOJRCUPM128dyl2MgWCqU
sHSfgOaI7hldpKS/27lsJ9L1SmCpF8ekSAoZkoTURLSC2zO9hT4=
=cELK
-----END PGP SIGNATURE-----

C
C
Christopher Baines wrote on 8 Feb 2019 18:19
(name . Ricardo Wurmus)(address . rekado@elephly.net)
87ftsy5ham.fsf@cbaines.net
Ricardo Wurmus <rekado@elephly.net> writes:

Toggle quote (25 lines)
> Björn Höfling <bjoern.hoefling@bjoernhoefling.de> writes:
>
>>> + (propagated-inputs
>>> + (map (lambda (input)
>>> + (if (string=? (car input) "ruby-cucumber")
>>> + `("ruby-cucumber" ,ruby-cucumber-without-tests)
>>> + input))
>>> + (package-propagated-inputs ruby-aruba)))
>>
>> This is really nit-picking, I haven't tried it out myself and I haven't
>> used it much myself, but I think this could be written more elegant with
>> match-lambda [syntax errors might be included]:
>>
>> (map (match-lambda
>> (("ruby-cucumber" . pkg)
>> `("ruby-cucumber" ,ruby-cucumber-without-tests))
>> (input input)
>> ...)
>
> Or like this
>
> `(("ruby-cucumber" ,ruby-cucumber-without-tests)
> ,@(alist-delete "ruby-cucumber"
> (package-propagated-inputs ruby-aruba)))

Yep, that looks good to me, thanks :)
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlxdujFfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9XcLSw/+PnL3vG38MeVx6Ibb7weOBxaRtV5rScDJ8FR1Coz4I/vmPJSVUNg2ZHDu
ZwyVSV8y+c7OqCcYeeD+NL9Z3a1nFC+Ex9uA2iGEn6CAB1kshI4uPrefBjiqzOP4
ehMD1pYIci5W9ayd6hgTbKFsZUXDO6kGStY9cYezQdjy3YIvRi5IQRLIO0Fn/GIX
CLKfQJE4afJkMEmjYiCbXKZS7h3ZRpoErmhmtVjfgLXXFoHjMd6MLsdb0dvseUys
Zxy1gasZM5AynEksEhU0mU30KWWByewmQaOlF/olaMtGV3mZuZP2w1P7eBF9Geqc
qU245OJzmdhw7DJeOUZp7tXw2RyjP7dcvmNCo/S4vHwlg6+NiIKcosVXbkLXU9su
bUBmMO8TFJh4GTtJtObKohpNhzdQRfJUIBjQdWAnnDNCmHcAjKm1Yg0x/89+KX0t
lP6P9IwyKK1iG2b8Jh0iadC9jiZc+YFfpxDb/VHyahSVzkxIbtLZDx4JWJ7kdadG
p0IFVo45cg7bGB+MRpwVd0AGgtO+LhVsyoTHFZkZjdRa/DP1zwlVVLSAJ8t49Q51
orIQjGJEyYJX/p315qaPDqHheNeiwlGLw7CJBl1/uuKOyJqcqf+chVHTuBzddtRk
DaI/V7Q2PspxpZfzZiNAgXxFYHkXl+pYFo4reJF+X/7CT9QUTK8=
=bH4X
-----END PGP SIGNATURE-----

C
C
Christopher Baines wrote on 8 Feb 2019 19:46
(name . swedebugia)(address . swedebugia@riseup.net)(address . 34217@debbugs.gnu.org)
87ef8i5dat.fsf@cbaines.net
swedebugia <swedebugia@riseup.net> writes:

Toggle quote (29 lines)
> On 2019-01-30 17:22, swedebugia wrote:
>> On 2019-01-30 17:11, swedebugia wrote:
>>> On 2019-01-30 13:56, Ricardo Wurmus wrote:
>>>>
>>>> Hi swedebugia,
>>>>
>>>>> On 2019-01-27 12:49, Christopher Baines wrote:
>>>>>> These packages are mutually dependant, so I've put them in one commit.
>>>>>>
>>>>>> * gnu/packages/ruby.scm (ruby-aruba, ruby-cucumber): New variables.
> snip
>
>>> I don't know ruby at all so I might not be the best qualified to
>>> investigate this. :/
>
> I decided to try out latest master, worked a little on it and now it
> builds without failure! :D
>
> I'm unsure what revision number we usually start on, please correct if
> necessary.
>
> (define-public ruby-aruba
> ;; Take commit from latest master to avoid test failures
>
>
>
> (let ((commit "688ad050f48990bfac127eaf529a828a0139d85f")
> (revision "1"))

...

Toggle quote (2 lines)
> Could you update the patch Christopher?

Thanks for trying this out. Today I tried updating to 0.14.8, and
working around the test failures.

I've added the following phase, which works around the test failures.

(add-after 'unpack 'patch
(lambda _
(substitute* "spec/aruba/api_spec.rb"
;; This resolves some errors in the specs
;;
;; undefined method `parse' for Time:Class
(("require 'spec_helper'")
"require 'spec_helper'\nrequire 'time'"))
;; Avoid shebang issues in this spec file
(substitute* "spec/aruba/matchers/command_spec.rb"
(("/usr/bin/env bash")
(which "bash")))
#t))

The first change, adding require 'time' is present on the upstream
master branch [1], which explains why this helped.


As for the second set of test failures, the ones relating to "@cmd", I
think that's down to the spec's using "/usr/bin/env bash". I'm unsure
why using the master branch would have fixed this.

Even though sticking with 0.14.8 requires patching the tests, I'm
inclined to stick with patching this release, rather than using the
master branch as the source, as I think using upstream releases is
preferable.

Anyway, thanks for your help in looking in to this :)

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

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlxdzmpfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9XczIhAAs2Z9srF1/lAfLASqJaCEx5+TALY30rFsb4ggV4cZLS2U4I62TVeXjlJU
kZnURT3uNV2Ku195UOMNlQAujLz0gPi22fuc1+E24HHBKAgUZfkP9QZDn04ihihh
MWU5evGgeW6eKYChA1dXWie6lunvDHYbgCVw//eo2SLiBpRf9R/T/I9QPzxiWEV7
KKDMaMZBMwnnx5FIRO6kEVy/6pPjxzzbNMzRR5NYBDhz3qvEwsq/9PMqRw+s4bm4
7i4/nTFqy4jCFzqqKwOgQAxD6PbbjjjOdXSw5naYg8xT1QcYAddoDdbsA9cyqLDt
ZYgwNH4MGNLyI67TSjdxTMh6/tj9j1ltfosEWb9l/NDuTwxEUgOsBO8s/sCk9n6T
hHpmM/coF+tFe3+FdsL/fxUlr0r7iqQaiYVTz6GA9Qd4NOMhrk3/lBsmo1KX/g7s
DatJg6ITByHLWZThP6g8MGEXWasyFG3ede8asw4w2qLdP4YxTzU+yY25LI6Ap9/w
kDYO9sq+O9lJ+7R5UymJmnZcyWHyN99a7kGmnRLtqO90i8i/fFFu1t1G1yEWh8b7
hcwXH/VpXrriTrUPS2U8n70zsLehci0rTuiTrqVHpkcgSt6QeTc6mDjeUqa6AfZf
0VNzO7iSG0+jG/jJjAaYtficDei31sGBqUf+2skdTu3ndV0cdIY=
=dTl/
-----END PGP SIGNATURE-----

C
C
Christopher Baines wrote on 8 Feb 2019 19:48
Re: [bug#34217] [PATCH 09/11] gnu: ruby-cucumber-core: Update to 3.2.1.
(name . Björn Höfling)(address . bjoern.hoefling@bjoernhoefling.de)(address . 34217@debbugs.gnu.org)
87d0o25d6q.fsf@cbaines.net
Björn Höfling <bjoern.hoefling@bjoernhoefling.de> writes:

Toggle quote (9 lines)
> On Sun, 27 Jan 2019 11:49:54 +0000
> Christopher Baines <mail@cbaines.net> wrote:
>
>> Just update to major version 3, as version 4 of Cucumber hasn't been
>> released yet.
>
> Can u move this into a comment in the source, such that it sticks
> directly to the package?

Sure, I've added the following comment to the patch.

;; Stick to major version 3, until version 4 of Cucumber is released.
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlxdzv1fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9XdjnQ//W+P1hMUFbVivkV7QQyHknioirFksnElQjeu2yhtVwetB469Kmfrr0Rzl
d3SPs9Xg55sI138CXwA0qM+3ERDLtD5WGm6zllf91Nl63EsRnlvYtqxQ3Al2fbsK
YZwQcjVwv1hW0ulcpwmY0XkyW7Y0WMXg9so4GwbzxlvHT1ORA9tliU6LGaCmD8ae
qSxGb9QaR3gK3LbUBkZ3QusKWYFYl+JGB8WXlNRLubH0to+22cj9KLzu1EOlgyY+
OoIaGItqj3P3AoLvPI7IKHjviL3uDVy2ONPhpAtH703Hw5Eg30tXFK06398WjTw4
1jbzVO/p/Om75EBbXkX6UtiEheQBUozRbDhTgveKLbuxPSB2JoQSZbcz1nkODjYE
1BFn600G/+pWR5J/P/nXv15gx9g7HcrdIFUMXACNtcUno0oNytcWj9m1B46D+HoF
sNkm5I7il13lgWG0Q+BNUrPWvQF7+12R0NeSquHnFwOLYNDuJxkEML2ILonCILGW
zvyubFoD9HCBrzRR3C6NNE8hzUXmlrNkMxmQLtCq26Sh3fwp6T8zwZEw2Z7hVLk/
bFF9VFHHE7WrJY7W1g6YZppHIdKPaFIzyrkds5fINBx5thQAwTUOnfo1NJ9/JDCQ
8cjVHCjBMDAOaPS5Z6Zbwa4tH9zuctxx/ZwqnBr8SB1OoNsFjhI=
=q13C
-----END PGP SIGNATURE-----

C
C
Christopher Baines wrote on 8 Feb 2019 19:58
Re: [bug#34217] [PATCH 03/11] gnu: Add ruby-ruby-progressbar.
(name . Björn Höfling)(address . bjoern.hoefling@bjoernhoefling.de)(address . 34217@debbugs.gnu.org)
87bm3m5cqg.fsf@cbaines.net
Björn Höfling <bjoern.hoefling@bjoernhoefling.de> writes:

Toggle quote (30 lines)
> On Sun, 27 Jan 2019 11:49:48 +0000
> Christopher Baines <mail@cbaines.net> wrote:
>
>> * gnu/packages/ruby.scm (ruby-ruby-progressbar): 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 808b2d8686..15382de017 100644
>> --- a/gnu/packages/ruby.scm
>> +++ b/gnu/packages/ruby.scm
>> @@ -2507,6 +2507,28 @@ rate.")
>> (home-page "https://github.com/paul/progress_bar")
>> (license license:wtfpl2)))
>>
>> +(define-public ruby-ruby-progressbar
>> + (package
>> + (name "ruby-ruby-progressbar")
>
> Although we do not have a specific section about Ruby packages, I would
> stick to the rules for Python packages:
>
> https://www.gnu.org/software/guix/manual/en/guix.html#Python-Modules
>
> "If a project already contains the word python, we drop this; for
> instance, the module python-dateutil is packaged under the names python-dateutil"
>
> Thus, rename the package to just "ruby-progressbar".

That makes sense, I've updated the name of the package and the
references.

Thanks,

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

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlxd0UdfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9Xcg/hAAoRx5Pty0UtvdTd6bWxYsaAV46kDzRPO22LlPuO5dsdwMeQY+I1w2tkJJ
bz5cQmdFgEHtBS1/2MQFueSNtVp7+U3I/io4WWG41Z159XRvFAYZSOXcwae9b0aD
0wmhZb3RwvM12yIUpmtUUVNYP5dwANQ4YaiTWeNWt+yogN74yRur0OWE6dUIqpPn
aPBTGA6RRoo1s4Ec6o2vsTFKDvx85keSmQhb4DlAo5PPXSlk5/x5K6I40tThawHO
roV4+x2j/6SWS2uYggP4W3N5DoeoSAfiO/u4gwvMinosVj5OumaF/AsVJLSody0K
mMxOZBe2XSwE+3gqMThEw7T/hCeZZebaL8JjIxW0iifC5EqrUln8XROl+heGCxmi
kFaDh3T3s17mq400fl3tIGNaIKfY3myt2hPGrHXB8hdjAEWSg+7AcfQQDv5KjraA
Rh34VwPBj3HYH244Kdl4PsPClxMWPvcSaW2VPjsGtUm7Gjox+qIetyg5Axs+sVwO
gYmSd1oiBlcuS/a5SPjxhX6u3vDYRdMwJTFx1ObCs7mkHmN9QhKNKZ6LKdDiM1i7
FtGkIZfLlJ643A0nz0dEW0mOFPI0l8mkWCs1n/U8JNwlfpoI8+lRlQKYottrpnYm
Q0PH4vgBJHnaTcmzsvNjiseSW7dv6IL8aGKJCFQnc80iKFe4QYo=
=C+of
-----END PGP SIGNATURE-----

B
B
Björn Höfling wrote on 8 Feb 2019 20:02
Re: [bug#34217] [PATCH 11/11] gnu: Add ruby-cucumber and ruby-aruba.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34217@debbugs.gnu.org)
20190208200211.5a1c60af@alma-ubu
On Fri, 08 Feb 2019 17:19:26 +0000
Christopher Baines <mail@cbaines.net> wrote:

Toggle quote (10 lines)
> Björn Höfling <bjoern.hoefling@bjoernhoefling.de> writes:

> >> * gnu/packages/ruby.scm (ruby-aruba, ruby-cucumber): New
> >> variables.
> >
> > You missed to add the "...-without-tests" variables here.
>
> I wasn't quite sure whether to put only public things in the
> changelog, or everything. I've included them in the changelog now.

Uh, I haven't seen that they are private, which of cause makes sense.

In that case I'm unsure what to do, but adding them doesn't hurt.

Björn
-----BEGIN PGP SIGNATURE-----

iF0EARECAB0WIQQiGUP0np8nb5SZM4K/KGy2WT5f/QUCXF3SMwAKCRC/KGy2WT5f
/YfVAJ9y9LG49l3PBkulznjZsNRgFCUXOwCeNOjsqvw/gY5oh92knSThxGHG4eM=
=0qpw
-----END PGP SIGNATURE-----


C
C
Christopher Baines wrote on 8 Feb 2019 20:05
Re: [bug#34217] [PATCH 01/11] gnu: Add ruby-cucumber-wire.
(name . Björn Höfling)(address . bjoern.hoefling@bjoernhoefling.de)(address . 34217@debbugs.gnu.org)
87a7j65cek.fsf@cbaines.net
Björn Höfling <bjoern.hoefling@bjoernhoefling.de> writes:

Toggle quote (12 lines)
> On Sun, 27 Jan 2019 11:49:46 +0000
> Christopher Baines <mail@cbaines.net> wrote:
>
>> Package version 0.0.1 initially, as this is what's needed by Cucumber
>> 3, and Cucumber 4 hasn't been released yet.
>
> I would prefer to see this hint as a comment in the code, not in the
> commit message: When I as a developer stumble upon the package
> definition and see it is outdated, I would just update it and not
> search all commit messages to find out it shouldn't. A comment near the
> package definition or version would prevent that mistake.

Sure, I've added a comment to the package definition.

Thanks for taking a look,

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

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlxd0vNfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9Xcd1w//U+Ln9xWnWeUShlKiHF5zDYA0rZkM45lZfR2Lry2O8/Wi9fMP6C+G/kBk
lO3Sw00wkcjvD6XhSL5Az3sby3qwFQjbSG8ebAdr/HRRtnwK/v28WAqXmfLkTjtk
QZAyI7k5F34F1lAd6W0FAu+LWaDx6mauH14pSqQcbWhhv62kPCRPpTCFW6hphais
vibSem72B1GXaFwhPFAPusqEjiyqkPbmVCZHY0Mnfb0N1UJjlyD9nxOLwiH3GhYg
lzhHxymQysqf33Z6HifUKQGyJIjF1eBMNMtMIn5M3WT+mv5aha7rmvxNhxqwTmUZ
2BzyE00y0t+g4tymHK61tu77r0gc73eBDPn+v9hkOnW/wIUjcVbMLdm7fPMUVVFz
5PUA74dGwMcOTqxhCICTCORQrrAQhKTIakm6IDlSPAfFq9tViCi6W2+W+ObOH/oa
tdI4c3jlMQrlHfBGuJt+G3bfv8V4Bupxy+IRHCPQdaLekAUrEwiS21vlQOZ/2W+C
AYtHtMlLDN0xJqcOB+ubG/zfV/R+WsJIYDGe6G3aHaiF3SJOVVibNiyik5OSE/aQ
MMTCGTX9lpIVg89GmeMiprMM0QC0ImqPRln2yndsX73OJay81PrsrRuKJZC6SvtH
zP0OIOC4vNtRTFUoJuno3rc/j7TDNiYJBU2qyZHjVxy2sGxJOYU=
=LbA0
-----END PGP SIGNATURE-----

C
C
Christopher Baines wrote on 8 Feb 2019 20:10
Re: [bug#34217] [PATCH 07/11] gnu: Add ruby-backports.
(name . swedebugia)(address . swedebugia@riseup.net)(address . 34217@debbugs.gnu.org)
878syq5c66.fsf@cbaines.net
swedebugia <swedebugia@riseup.net> writes:

Toggle quote (43 lines)
> swedebugia <swedebugia@riseup.net> skrev: (31 januari 2019 09:53:17 CET)
>>On 2019-01-27 12:49, Christopher Baines wrote:
>>> * gnu/packages/ruby.scm (ruby-backports): New variable.
>>> ---
>>> gnu/packages/ruby.scm | 25 +++++++++++++++++++++++++
>>> 1 file changed, 25 insertions(+)
>>>
>>> diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
>>> index 5a9a9a7c6d..115e132b95 100644
>>> --- a/gnu/packages/ruby.scm
>>> +++ b/gnu/packages/ruby.scm
>>> @@ -1350,6 +1350,31 @@ User Agents.")
>>> (home-page "https://github.com/gshutler/useragent")
>>> (license license:expat)))
>>>
>>> +(define-public ruby-backports
>>> + (package
>>> + (name "ruby-backports")
>>> + (version "3.11.4")
>>> + (source
>>> + (origin
>>> + (method url-fetch)
>>> + (uri (rubygems-uri "backports" version))
>>> + (sha256
>>> + (base32
>>> + "1hshjxww2h7s0dk57njrygq4zpp0nlqrjfya7zwm27iq3rhc3y8g"))))
>>> + (build-system ruby-build-system)
>>> + (arguments
>>> + '(;; TODO: This should be default, but there is one test failure
>>> + #:test-target "all_spec"))
>>
>>The failure is reported upstream, see
>>https://github.com/marcandre/backports/issues/127
>>
>>--
>>Cheers
>>Swedebugia
>
> From upstream:
> Sorry the failure is quite obscure.
>
> Backports wants to make sure it is defining the right methods only when necessary. The test is failing because the methodalias_method_chainappears to have been added to all modules (Array,Binding, ...). Maybe the oldbackports/rails/module/alias_method_chainis somehow loaded, but I don't see how or why...

Thanks for taking a look, I'll keep an eye on that upstream issue.

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

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlxd1CFfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9XfQwRAApGR2wtLqbbWAD+QQqoUXeiXvV3NtlVdhP4dl4Rn2w7s+Ulfc6sB/JDoX
KarDow/e5e0q2Leb9rj8Vv2mJMI97O4QiOE0D+G5W/iIZTn/LF8IXhMo4mf/XcDt
e6iCXL/e+r16pfG3KXVQlWpKk8Jd83TOTokis9cZx+iT1UHrfNDxvnFlNfOnkljk
CSpu2aNahA946icAeUS8YZwDA8K++F3s5iL+Izi7ysVA47+4gxDKQZ2Jg4gL6mL6
cOqhNhbAmgknBmhrPiu6wULWKzgUVWlDkxRqEKxaOY/2qLAs5CNir+GVgwcuRyzC
IstLFauPYdw4CVPn60VfREaLudY5pthcakec7TSm1Ol1MD75wJ8VbFJD7mODlmL5
Ns5L9X+Rd5JFhJcLzBsRBtqesTmWZ+yf53S/xJJiAIXY1eEeenJBMgj3/iSU5qKQ
AySVTbhW8gs+VzRujOAOYYI8GBFLXh6O+KEtfNkcMkHATd5kPdsIKJPFAE45oMkO
AWeX8rs1fkW2RLZil4yQ3lFMTvsac+uejZodgE01iRKdKjVUq1sMWuhJjw9uFkXj
K1BtyJrioAw7ayFHkPYWf6gX0ZW4N6rLQok+GxhEn//4NWY1K1++2kqy3XHiIStl
RJv6sXDjb7QiH8LWOPotDKsOTtqkOiXMiHzUECnU50/GKi5/UZ0=
=TPJ9
-----END PGP SIGNATURE-----

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
?