* [bug#34217] [PATCH 02/11] gnu: Add ruby-contracts.
2019-01-27 11:49 ` [bug#34217] [PATCH 01/11] gnu: Add ruby-cucumber-wire Christopher Baines
@ 2019-01-27 11:49 ` Christopher Baines
2019-01-27 11:49 ` [bug#34217] [PATCH 03/11] gnu: Add ruby-ruby-progressbar Christopher Baines
` (9 subsequent siblings)
10 siblings, 0 replies; 35+ messages in thread
From: Christopher Baines @ 2019-01-27 11:49 UTC (permalink / raw)
To: 34217
* gnu/packages/ruby.scm (ruby-contracts): New variable.
---
gnu/packages/ruby.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
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
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#34217] [PATCH 03/11] gnu: Add ruby-ruby-progressbar.
2019-01-27 11:49 ` [bug#34217] [PATCH 01/11] gnu: Add ruby-cucumber-wire Christopher Baines
2019-01-27 11:49 ` [bug#34217] [PATCH 02/11] gnu: Add ruby-contracts Christopher Baines
@ 2019-01-27 11:49 ` Christopher Baines
2019-02-03 21:40 ` Björn Höfling
2019-01-27 11:49 ` [bug#34217] [PATCH 04/11] gnu: Add ruby-fuubar Christopher Baines
` (8 subsequent siblings)
10 siblings, 1 reply; 35+ messages in thread
From: Christopher Baines @ 2019-01-27 11:49 UTC (permalink / raw)
To: 34217
* 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")
+ (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
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#34217] [PATCH 03/11] gnu: Add ruby-ruby-progressbar.
2019-01-27 11:49 ` [bug#34217] [PATCH 03/11] gnu: Add ruby-ruby-progressbar Christopher Baines
@ 2019-02-03 21:40 ` Björn Höfling
2019-02-08 18:58 ` Christopher Baines
0 siblings, 1 reply; 35+ messages in thread
From: Björn Höfling @ 2019-02-03 21:40 UTC (permalink / raw)
To: Christopher Baines; +Cc: 34217
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".
Otherwise, LGTM.
Thanks,
Björn
^ permalink raw reply [flat|nested] 35+ messages in thread
* [bug#34217] [PATCH 03/11] gnu: Add ruby-ruby-progressbar.
2019-02-03 21:40 ` Björn Höfling
@ 2019-02-08 18:58 ` Christopher Baines
0 siblings, 0 replies; 35+ messages in thread
From: Christopher Baines @ 2019-02-08 18:58 UTC (permalink / raw)
To: Björn Höfling; +Cc: 34217
[-- Attachment #1: Type: text/plain, Size: 1237 bytes --]
Björn Höfling <bjoern.hoefling@bjoernhoefling.de> writes:
> 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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]
^ permalink raw reply [flat|nested] 35+ messages in thread
* [bug#34217] [PATCH 04/11] gnu: Add ruby-fuubar.
2019-01-27 11:49 ` [bug#34217] [PATCH 01/11] gnu: Add ruby-cucumber-wire Christopher Baines
2019-01-27 11:49 ` [bug#34217] [PATCH 02/11] gnu: Add ruby-contracts Christopher Baines
2019-01-27 11:49 ` [bug#34217] [PATCH 03/11] gnu: Add ruby-ruby-progressbar Christopher Baines
@ 2019-01-27 11:49 ` Christopher Baines
2019-01-27 11:49 ` [bug#34217] [PATCH 05/11] gnu: Add ruby-cucumber-expressions Christopher Baines
` (7 subsequent siblings)
10 siblings, 0 replies; 35+ messages in thread
From: Christopher Baines @ 2019-01-27 11:49 UTC (permalink / raw)
To: 34217
* gnu/packages/ruby.scm (ruby-fuubar): New variable.
---
gnu/packages/ruby.scm | 48 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)
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
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#34217] [PATCH 05/11] gnu: Add ruby-cucumber-expressions.
2019-01-27 11:49 ` [bug#34217] [PATCH 01/11] gnu: Add ruby-cucumber-wire Christopher Baines
` (2 preceding siblings ...)
2019-01-27 11:49 ` [bug#34217] [PATCH 04/11] gnu: Add ruby-fuubar Christopher Baines
@ 2019-01-27 11:49 ` Christopher Baines
2019-01-27 11:49 ` [bug#34217] [PATCH 06/11] gnu: Add ruby-mspec Christopher Baines
` (6 subsequent siblings)
10 siblings, 0 replies; 35+ messages in thread
From: Christopher Baines @ 2019-01-27 11:49 UTC (permalink / raw)
To: 34217
* gnu/packages/ruby.scm (ruby-cucumber-expressions): 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 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
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#34217] [PATCH 06/11] gnu: Add ruby-mspec.
2019-01-27 11:49 ` [bug#34217] [PATCH 01/11] gnu: Add ruby-cucumber-wire Christopher Baines
` (3 preceding siblings ...)
2019-01-27 11:49 ` [bug#34217] [PATCH 05/11] gnu: Add ruby-cucumber-expressions Christopher Baines
@ 2019-01-27 11:49 ` Christopher Baines
2019-01-27 11:49 ` [bug#34217] [PATCH 07/11] gnu: Add ruby-backports Christopher Baines
` (5 subsequent siblings)
10 siblings, 0 replies; 35+ messages in thread
From: Christopher Baines @ 2019-01-27 11:49 UTC (permalink / raw)
To: 34217
* gnu/packages/ruby.scm (ruby-mspec): New variable.
---
gnu/packages/ruby.scm | 43 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)
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
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#34217] [PATCH 07/11] gnu: Add ruby-backports.
2019-01-27 11:49 ` [bug#34217] [PATCH 01/11] gnu: Add ruby-cucumber-wire Christopher Baines
` (4 preceding siblings ...)
2019-01-27 11:49 ` [bug#34217] [PATCH 06/11] gnu: Add ruby-mspec Christopher Baines
@ 2019-01-27 11:49 ` Christopher Baines
2019-01-31 8:53 ` swedebugia
2019-01-27 11:49 ` [bug#34217] [PATCH 08/11] gnu: Add ruby-cucumber-tag-expressions Christopher Baines
` (4 subsequent siblings)
10 siblings, 1 reply; 35+ messages in thread
From: Christopher Baines @ 2019-01-27 11:49 UTC (permalink / raw)
To: 34217
* 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"))
+ (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
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#34217] [PATCH 07/11] gnu: Add ruby-backports.
2019-01-27 11:49 ` [bug#34217] [PATCH 07/11] gnu: Add ruby-backports Christopher Baines
@ 2019-01-31 8:53 ` swedebugia
2019-02-01 15:41 ` swedebugia
0 siblings, 1 reply; 35+ messages in thread
From: swedebugia @ 2019-01-31 8:53 UTC (permalink / raw)
To: 34217
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
^ permalink raw reply [flat|nested] 35+ messages in thread
* [bug#34217] [PATCH 07/11] gnu: Add ruby-backports.
2019-01-31 8:53 ` swedebugia
@ 2019-02-01 15:41 ` swedebugia
2019-02-08 19:10 ` Christopher Baines
0 siblings, 1 reply; 35+ messages in thread
From: swedebugia @ 2019-02-01 15:41 UTC (permalink / raw)
To: 34217
[-- Attachment #1: Type: text/plain, Size: 1654 bytes --]
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 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 #2: Type: text/html, Size: 2059 bytes --]
^ permalink raw reply [flat|nested] 35+ messages in thread
* [bug#34217] [PATCH 07/11] gnu: Add ruby-backports.
2019-02-01 15:41 ` swedebugia
@ 2019-02-08 19:10 ` Christopher Baines
0 siblings, 0 replies; 35+ messages in thread
From: Christopher Baines @ 2019-02-08 19:10 UTC (permalink / raw)
To: swedebugia; +Cc: 34217
[-- Attachment #1: Type: text/plain, Size: 1776 bytes --]
swedebugia <swedebugia@riseup.net> writes:
> 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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]
^ permalink raw reply [flat|nested] 35+ messages in thread
* [bug#34217] [PATCH 08/11] gnu: Add ruby-cucumber-tag-expressions.
2019-01-27 11:49 ` [bug#34217] [PATCH 01/11] gnu: Add ruby-cucumber-wire Christopher Baines
` (5 preceding siblings ...)
2019-01-27 11:49 ` [bug#34217] [PATCH 07/11] gnu: Add ruby-backports Christopher Baines
@ 2019-01-27 11:49 ` Christopher Baines
2019-01-27 11:49 ` [bug#34217] [PATCH 09/11] gnu: ruby-cucumber-core: Update to 3.2.1 Christopher Baines
` (3 subsequent siblings)
10 siblings, 0 replies; 35+ messages in thread
From: Christopher Baines @ 2019-01-27 11:49 UTC (permalink / raw)
To: 34217
* gnu/packages/ruby.scm (ruby-cucumber-tag-expressions): New variable.
---
gnu/packages/ruby.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
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
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#34217] [PATCH 09/11] gnu: ruby-cucumber-core: Update to 3.2.1.
2019-01-27 11:49 ` [bug#34217] [PATCH 01/11] gnu: Add ruby-cucumber-wire Christopher Baines
` (6 preceding siblings ...)
2019-01-27 11:49 ` [bug#34217] [PATCH 08/11] gnu: Add ruby-cucumber-tag-expressions Christopher Baines
@ 2019-01-27 11:49 ` Christopher Baines
2019-02-03 22:20 ` Björn Höfling
2019-01-27 11:49 ` [bug#34217] [PATCH 10/11] gnu: ruby-gherkin: Update to 5.1.0 Christopher Baines
` (2 subsequent siblings)
10 siblings, 1 reply; 35+ messages in thread
From: Christopher Baines @ 2019-01-27 11:49 UTC (permalink / raw)
To: 34217
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(-)
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
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#34217] [PATCH 10/11] gnu: ruby-gherkin: Update to 5.1.0.
2019-01-27 11:49 ` [bug#34217] [PATCH 01/11] gnu: Add ruby-cucumber-wire Christopher Baines
` (7 preceding siblings ...)
2019-01-27 11:49 ` [bug#34217] [PATCH 09/11] gnu: ruby-cucumber-core: Update to 3.2.1 Christopher Baines
@ 2019-01-27 11:49 ` Christopher Baines
2019-01-27 11:49 ` [bug#34217] [PATCH 11/11] gnu: Add ruby-cucumber and ruby-aruba Christopher Baines
2019-02-03 21:03 ` [bug#34217] [PATCH 01/11] gnu: Add ruby-cucumber-wire Björn Höfling
10 siblings, 0 replies; 35+ messages in thread
From: Christopher Baines @ 2019-01-27 11:49 UTC (permalink / raw)
To: 34217
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(-)
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
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#34217] [PATCH 11/11] gnu: Add ruby-cucumber and ruby-aruba.
2019-01-27 11:49 ` [bug#34217] [PATCH 01/11] gnu: Add ruby-cucumber-wire Christopher Baines
` (8 preceding siblings ...)
2019-01-27 11:49 ` [bug#34217] [PATCH 10/11] gnu: ruby-gherkin: Update to 5.1.0 Christopher Baines
@ 2019-01-27 11:49 ` Christopher Baines
2019-01-29 21:44 ` swedebugia
2019-02-03 22:18 ` Björn Höfling
2019-02-03 21:03 ` [bug#34217] [PATCH 01/11] gnu: Add ruby-cucumber-wire Björn Höfling
10 siblings, 2 replies; 35+ messages in thread
From: Christopher Baines @ 2019-01-27 11:49 UTC (permalink / raw)
To: 34217
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
+ #: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
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#34217] [PATCH 11/11] gnu: Add ruby-cucumber and ruby-aruba.
2019-01-27 11:49 ` [bug#34217] [PATCH 11/11] gnu: Add ruby-cucumber and ruby-aruba Christopher Baines
@ 2019-01-29 21:44 ` swedebugia
2019-01-30 12:56 ` Ricardo Wurmus
2019-02-03 22:18 ` Björn Höfling
1 sibling, 1 reply; 35+ messages in thread
From: swedebugia @ 2019-01-29 21:44 UTC (permalink / raw)
To: Christopher Baines, 34217
[-- Attachment #1: Type: text/plain, Size: 2767 bytes --]
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.
> ---
> 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
[-- Attachment #2: failed-test-ruby-aruba-api-spec.patch --]
[-- Type: text/x-patch, Size: 5388 bytes --]
321,393c321,393
< describe 'files' do
< describe '#touch' do
< let(:name) { @file_name }
< let(:path) { @file_path }
< let(:options) { {} }
<
< before :each do
< @aruba.set_environment_variable 'HOME', File.expand_path(@aruba.aruba.current_directory)
< end
<
< context 'when file' do
< before :each do
< @aruba.touch(name, options)
< end
<
< context 'when does not exist' do
< context 'and should be created in existing directory' do
< it { expect(File.size(path)).to eq 0 }
< it_behaves_like 'an existing file'
< end
<
< context 'and should be created in non-existing directory' do
< let(:name) { 'directory/test' }
< let(:path) { File.join(@aruba.aruba.current_directory, 'directory/test') }
<
< it_behaves_like 'an existing file'
< end
<
< context 'and path includes ~' do
< let(:string) { random_string }
< let(:name) { File.join('~', string) }
< let(:path) { File.join(@aruba.aruba.current_directory, string) }
<
< it_behaves_like 'an existing file'
< end
<
< context 'and the mtime should be set statically' do
< let(:time) { Time.parse('2014-01-01 10:00:00') }
< let(:options) { { :mtime => Time.parse('2014-01-01 10:00:00') } }
<
< it_behaves_like 'an existing file'
< it { expect(File.mtime(path)).to eq time }
< end
<
< context 'and multiple file names are given' do
< let(:name) { %w(file1 file2 file3) }
< let(:path) { %w(file1 file2 file3).map { |p| File.join(@aruba.aruba.current_directory, p) } }
< it_behaves_like 'an existing file'
< end
< end
< end
<
< context 'when directory' do
< let(:name) { %w(directory1) }
< let(:path) { Array(name).map { |p| File.join(@aruba.aruba.current_directory, p) } }
<
< context 'when exist' do
< before(:each) { Array(path).each { |p| Aruba.platform.mkdir p } }
<
< before :each do
< @aruba.touch(name, options)
< end
<
< context 'and the mtime should be set statically' do
< let(:time) { Time.parse('2014-01-01 10:00:00') }
< let(:options) { { :mtime => Time.parse('2014-01-01 10:00:00') } }
<
< it_behaves_like 'an existing directory'
< it { Array(path).each { |p| expect(File.mtime(p)).to eq time } }
< end
< end
< end
< end
---
> # describe 'files' do
> # describe '#touch' do
> # let(:name) { @file_name }
> # let(:path) { @file_path }
> # let(:options) { {} }
>
> # before :each do
> # @aruba.set_environment_variable 'HOME', File.expand_path(@aruba.aruba.current_directory)
> # end
>
> # context 'when file' do
> # before :each do
> # @aruba.touch(name, options)
> # end
>
> # context 'when does not exist' do
> # context 'and should be created in existing directory' do
> # it { expect(File.size(path)).to eq 0 }
> # it_behaves_like 'an existing file'
> # end
>
> # context 'and should be created in non-existing directory' do
> # let(:name) { 'directory/test' }
> # let(:path) { File.join(@aruba.aruba.current_directory, 'directory/test') }
>
> # it_behaves_like 'an existing file'
> # end
>
> # context 'and path includes ~' do
> # let(:string) { random_string }
> # let(:name) { File.join('~', string) }
> # let(:path) { File.join(@aruba.aruba.current_directory, string) }
>
> # it_behaves_like 'an existing file'
> # end
>
> # context 'and the mtime should be set statically' do
> # let(:time) { Time.parse('2014-01-01 10:00:00') }
> # let(:options) { { :mtime => Time.parse('2014-01-01 10:00:00') } }
>
> # it_behaves_like 'an existing file'
> # it { expect(File.mtime(path)).to eq time }
> # end
>
> # context 'and multiple file names are given' do
> # let(:name) { %w(file1 file2 file3) }
> # let(:path) { %w(file1 file2 file3).map { |p| File.join(@aruba.aruba.current_directory, p) } }
> # it_behaves_like 'an existing file'
> # end
> # end
> # end
>
> # context 'when directory' do
> # let(:name) { %w(directory1) }
> # let(:path) { Array(name).map { |p| File.join(@aruba.aruba.current_directory, p) } }
>
> # context 'when exist' do
> # before(:each) { Array(path).each { |p| Aruba.platform.mkdir p } }
>
> # before :each do
> # @aruba.touch(name, options)
> # end
>
> # context 'and the mtime should be set statically' do
> # let(:time) { Time.parse('2014-01-01 10:00:00') }
> # let(:options) { { :mtime => Time.parse('2014-01-01 10:00:00') } }
>
> # it_behaves_like 'an existing directory'
> # it { Array(path).each { |p| expect(File.mtime(p)).to eq time } }
> # end
> # end
> # end
> # end
^ permalink raw reply [flat|nested] 35+ messages in thread
* [bug#34217] [PATCH 11/11] gnu: Add ruby-cucumber and ruby-aruba.
2019-01-29 21:44 ` swedebugia
@ 2019-01-30 12:56 ` Ricardo Wurmus
2019-01-30 16:11 ` swedebugia
0 siblings, 1 reply; 35+ messages in thread
From: Ricardo Wurmus @ 2019-01-30 12:56 UTC (permalink / raw)
To: swedebugia; +Cc: 34217
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?
--
Ricardo
^ permalink raw reply [flat|nested] 35+ messages in thread
* [bug#34217] [PATCH 11/11] gnu: Add ruby-cucumber and ruby-aruba.
2019-01-30 12:56 ` Ricardo Wurmus
@ 2019-01-30 16:11 ` swedebugia
2019-01-30 16:22 ` swedebugia
0 siblings, 1 reply; 35+ messages in thread
From: swedebugia @ 2019-01-30 16:11 UTC (permalink / raw)
To: Ricardo Wurmus; +Cc: 34217
[-- Attachment #1: Type: text/plain, Size: 10185 bytes --]
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. :/
--
Cheers
Swedebugia
[-- Attachment #2: 8wpsbz3zkk66m2hvrkw8bl0y7kxky6-ruby-aruba-0.14.7.drv.bz2 --]
[-- Type: application/x-bzip, Size: 5513 bytes --]
^ permalink raw reply [flat|nested] 35+ messages in thread
* [bug#34217] [PATCH 11/11] gnu: Add ruby-cucumber and ruby-aruba.
2019-01-30 16:11 ` swedebugia
@ 2019-01-30 16:22 ` swedebugia
2019-01-31 8:43 ` swedebugia
0 siblings, 1 reply; 35+ messages in thread
From: swedebugia @ 2019-01-30 16:22 UTC (permalink / raw)
To: Ricardo Wurmus; +Cc: 34217
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.
>> […]
>>>> +(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:
https://github.com/cucumber/aruba/issues/418
I submitted this: https://github.com/cucumber/aruba/issues/589
--
Cheers
Swedebugia
^ permalink raw reply [flat|nested] 35+ messages in thread
* [bug#34217] [PATCH 11/11] gnu: Add ruby-cucumber and ruby-aruba.
2019-01-30 16:22 ` swedebugia
@ 2019-01-31 8:43 ` swedebugia
2019-02-08 18:46 ` Christopher Baines
0 siblings, 1 reply; 35+ messages in thread
From: swedebugia @ 2019-01-31 8:43 UTC (permalink / raw)
To: 34217
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"))
(package
(name "ruby-aruba")
(version
(string-append "0.14.7" "-" revision "." (string-take commit 7)))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cucumber/aruba.git")
(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.")
(home-page "https://github.com/cucumber/aruba")
(license license:expat))))
Could you update the patch Christopher?
--
Cheers
Swedebugia
^ permalink raw reply [flat|nested] 35+ messages in thread
* [bug#34217] [PATCH 11/11] gnu: Add ruby-cucumber and ruby-aruba.
2019-01-31 8:43 ` swedebugia
@ 2019-02-08 18:46 ` Christopher Baines
0 siblings, 0 replies; 35+ messages in thread
From: Christopher Baines @ 2019-02-08 18:46 UTC (permalink / raw)
To: swedebugia; +Cc: 34217
[-- Attachment #1: Type: text/plain, Size: 2286 bytes --]
swedebugia <swedebugia@riseup.net> writes:
> 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"))
...
> 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.
1: https://github.com/cucumber/aruba/commit/7d11cad400bbbfd1ec039e39062f7f2576d970f6#diff-b014353d9f47f067ea8e078d34a1826b
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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]
^ permalink raw reply [flat|nested] 35+ messages in thread
* [bug#34217] [PATCH 11/11] gnu: Add ruby-cucumber and ruby-aruba.
2019-01-27 11:49 ` [bug#34217] [PATCH 11/11] gnu: Add ruby-cucumber and ruby-aruba Christopher Baines
2019-01-29 21:44 ` swedebugia
@ 2019-02-03 22:18 ` Björn Höfling
2019-02-03 23:26 ` Ricardo Wurmus
2019-02-08 17:19 ` Christopher Baines
1 sibling, 2 replies; 35+ messages in thread
From: Björn Höfling @ 2019-02-03 22:18 UTC (permalink / raw)
To: Christopher Baines; +Cc: 34217
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.
[...]
> +(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)
[..]
> +;; 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
^ permalink raw reply [flat|nested] 35+ messages in thread
* [bug#34217] [PATCH 11/11] gnu: Add ruby-cucumber and ruby-aruba.
2019-02-03 22:18 ` Björn Höfling
@ 2019-02-03 23:26 ` Ricardo Wurmus
2019-02-08 17:19 ` Christopher Baines
2019-02-08 17:19 ` Christopher Baines
1 sibling, 1 reply; 35+ messages in thread
From: Ricardo Wurmus @ 2019-02-03 23:26 UTC (permalink / raw)
To: Björn Höfling; +Cc: 34217
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)))
--
Ricardo
^ permalink raw reply [flat|nested] 35+ messages in thread
* [bug#34217] [PATCH 11/11] gnu: Add ruby-cucumber and ruby-aruba.
2019-02-03 23:26 ` Ricardo Wurmus
@ 2019-02-08 17:19 ` Christopher Baines
0 siblings, 0 replies; 35+ messages in thread
From: Christopher Baines @ 2019-02-08 17:19 UTC (permalink / raw)
To: Ricardo Wurmus; +Cc: 34217
[-- Attachment #1: Type: text/plain, Size: 984 bytes --]
Ricardo Wurmus <rekado@elephly.net> writes:
> 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 :)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]
^ permalink raw reply [flat|nested] 35+ messages in thread
* [bug#34217] [PATCH 11/11] gnu: Add ruby-cucumber and ruby-aruba.
2019-02-03 22:18 ` Björn Höfling
2019-02-03 23:26 ` Ricardo Wurmus
@ 2019-02-08 17:19 ` Christopher Baines
2019-02-08 19:02 ` Björn Höfling
1 sibling, 1 reply; 35+ messages in thread
From: Christopher Baines @ 2019-02-08 17:19 UTC (permalink / raw)
To: Björn Höfling; +Cc: 34217
[-- Attachment #1: Type: text/plain, Size: 1742 bytes --]
Björn Höfling <bjoern.hoefling@bjoernhoefling.de> writes:
> 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.
>> +(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.
>> +;; 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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]
^ permalink raw reply [flat|nested] 35+ messages in thread
* [bug#34217] [PATCH 01/11] gnu: Add ruby-cucumber-wire.
2019-01-27 11:49 ` [bug#34217] [PATCH 01/11] gnu: Add ruby-cucumber-wire Christopher Baines
` (9 preceding siblings ...)
2019-01-27 11:49 ` [bug#34217] [PATCH 11/11] gnu: Add ruby-cucumber and ruby-aruba Christopher Baines
@ 2019-02-03 21:03 ` Björn Höfling
2019-02-08 19:05 ` Christopher Baines
10 siblings, 1 reply; 35+ messages in thread
From: Björn Höfling @ 2019-02-03 21:03 UTC (permalink / raw)
To: Christopher Baines; +Cc: 34217
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.
Otherwise, LGTM.
Thanks,
Björn
^ permalink raw reply [flat|nested] 35+ messages in thread
* [bug#34217] [PATCH 01/11] gnu: Add ruby-cucumber-wire.
2019-02-03 21:03 ` [bug#34217] [PATCH 01/11] gnu: Add ruby-cucumber-wire Björn Höfling
@ 2019-02-08 19:05 ` Christopher Baines
0 siblings, 0 replies; 35+ messages in thread
From: Christopher Baines @ 2019-02-08 19:05 UTC (permalink / raw)
To: Björn Höfling; +Cc: 34217
[-- Attachment #1: Type: text/plain, Size: 717 bytes --]
Björn Höfling <bjoern.hoefling@bjoernhoefling.de> writes:
> 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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]
^ permalink raw reply [flat|nested] 35+ messages in thread