* [PATCH 0/4]: A few rubygems. @ 2016-06-05 13:00 Ben Woodcroft 2016-06-05 13:00 ` [PATCH 1/4] gnu: Add ruby-tzinfo-data Ben Woodcroft ` (3 more replies) 0 siblings, 4 replies; 10+ messages in thread From: Ben Woodcroft @ 2016-06-05 13:00 UTC (permalink / raw) To: guix-devel Hi, Here's some gems which help towards rails. Thanks in advance for any review. In the process, we seem to have stumbled across a bug in libc, albeit not a major one. Another victory for testing.. https://github.com/tzinfo/tzinfo-data/issues/10 Thanks, ben ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/4] gnu: Add ruby-tzinfo-data. 2016-06-05 13:00 [PATCH 0/4]: A few rubygems Ben Woodcroft @ 2016-06-05 13:00 ` Ben Woodcroft 2016-06-05 13:54 ` Thompson, David 2016-06-05 13:00 ` [PATCH 2/4] gnu: ruby-activesupport: Add 'ruby-tzinfo-data' propagated input Ben Woodcroft ` (2 subsequent siblings) 3 siblings, 1 reply; 10+ messages in thread From: Ben Woodcroft @ 2016-06-05 13:00 UTC (permalink / raw) To: guix-devel * gnu/packages/ruby.scm (ruby-tzinfo-data): New variable. --- gnu/packages/ruby.scm | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index c6b6eed..fa550cb 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -2101,6 +2101,47 @@ aware transformations between times in different time zones.") (home-page "http://tzinfo.github.io") (license license:expat))) +(define-public ruby-tzinfo-data + (package + (name "ruby-tzinfo-data") + (version "1.2016.4") + (source + (origin + (method url-fetch) + ;; Download from GitHub because the rubygems version does not contain + ;; Rakefile or tests. + (uri (string-append + "https://github.com/tzinfo/tzinfo-data/archive/v" + version + ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0jnm8i379hn48cq5n39j7wzm08i0mw73kqzx3cqbxpiwlb1hnz80")))) + (build-system ruby-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; Remove the known test failure. + ;; https://github.com/tzinfo/tzinfo-data/issues/10 + ;; https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1587128 + (add-before 'check 'remove-broken-test + (lambda _ + (substitute* "test/tc_definitions.rb" + (("if utc && local") + (string-append + "if utc && local && !line.match(/Sun Oct 25 01:59:59 2037 UT" + " = Sun Oct 25 02:59:59 2037 WEST isdst=1 gmtoff=3600/)")) + #t)))))) + (propagated-inputs + `(("ruby-tzinfo" ,ruby-tzinfo))) + (synopsis "Data from the IANA Time Zone database") + (description + "This library provides @code{TZInfo::Data}, which contains data from the +IANA Time Zone database packaged as Ruby modules for use with @code{TZInfo}.") + (home-page "http://tzinfo.github.io") + (license license:expat))) + (define-public ruby-rb-inotify (package (name "ruby-rb-inotify") -- 2.7.4 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 1/4] gnu: Add ruby-tzinfo-data. 2016-06-05 13:00 ` [PATCH 1/4] gnu: Add ruby-tzinfo-data Ben Woodcroft @ 2016-06-05 13:54 ` Thompson, David 0 siblings, 0 replies; 10+ messages in thread From: Thompson, David @ 2016-06-05 13:54 UTC (permalink / raw) To: Ben Woodcroft; +Cc: guix-devel On Sun, Jun 5, 2016 at 9:00 AM, Ben Woodcroft <donttrustben@gmail.com> wrote: > * gnu/packages/ruby.scm (ruby-tzinfo-data): New variable. > --- > gnu/packages/ruby.scm | 41 +++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 41 insertions(+) > > diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm > index c6b6eed..fa550cb 100644 > --- a/gnu/packages/ruby.scm > +++ b/gnu/packages/ruby.scm > @@ -2101,6 +2101,47 @@ aware transformations between times in different time zones.") > (home-page "http://tzinfo.github.io") > (license license:expat))) > > +(define-public ruby-tzinfo-data > + (package > + (name "ruby-tzinfo-data") > + (version "1.2016.4") > + (source > + (origin > + (method url-fetch) > + ;; Download from GitHub because the rubygems version does not contain > + ;; Rakefile or tests. > + (uri (string-append > + "https://github.com/tzinfo/tzinfo-data/archive/v" > + version > + ".tar.gz")) > + (file-name (string-append name "-" version ".tar.gz")) > + (sha256 > + (base32 > + "0jnm8i379hn48cq5n39j7wzm08i0mw73kqzx3cqbxpiwlb1hnz80")))) > + (build-system ruby-build-system) > + (arguments > + `(#:phases > + (modify-phases %standard-phases > + ;; Remove the known test failure. > + ;; https://github.com/tzinfo/tzinfo-data/issues/10 > + ;; https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1587128 > + (add-before 'check 'remove-broken-test > + (lambda _ > + (substitute* "test/tc_definitions.rb" > + (("if utc && local") > + (string-append > + "if utc && local && !line.match(/Sun Oct 25 01:59:59 2037 UT" > + " = Sun Oct 25 02:59:59 2037 WEST isdst=1 gmtoff=3600/)")) > + #t)))))) Since this isn't a dynamic Guix-specific modification, could you transform this into a patch file to apply to the origin record? > + (propagated-inputs > + `(("ruby-tzinfo" ,ruby-tzinfo))) > + (synopsis "Data from the IANA Time Zone database") > + (description > + "This library provides @code{TZInfo::Data}, which contains data from the > +IANA Time Zone database packaged as Ruby modules for use with @code{TZInfo}.") > + (home-page "http://tzinfo.github.io") > + (license license:expat))) > + > (define-public ruby-rb-inotify > (package > (name "ruby-rb-inotify") > -- > 2.7.4 LGTM otherwise! - Dave ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 2/4] gnu: ruby-activesupport: Add 'ruby-tzinfo-data' propagated input. 2016-06-05 13:00 [PATCH 0/4]: A few rubygems Ben Woodcroft 2016-06-05 13:00 ` [PATCH 1/4] gnu: Add ruby-tzinfo-data Ben Woodcroft @ 2016-06-05 13:00 ` Ben Woodcroft 2016-06-06 8:12 ` Ludovic Courtès 2016-06-05 13:00 ` [PATCH 3/4] gnu: Add ruby-timecop Ben Woodcroft 2016-06-05 13:00 ` [PATCH 4/4] gnu: Add ruby-concurrent Ben Woodcroft 3 siblings, 1 reply; 10+ messages in thread From: Ben Woodcroft @ 2016-06-05 13:00 UTC (permalink / raw) To: guix-devel * gnu/packages/ruby.scm (ruby-activesupport)[propagated-inputs]: Add 'ruby-tzinfo-data'. --- gnu/packages/ruby.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index fa550cb..319971e 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -2550,7 +2550,8 @@ you about the changes.") ("ruby-json" ,ruby-json) ("ruby-minitest" ,ruby-minitest) ("ruby-thread-safe" ,ruby-thread-safe) - ("ruby-tzinfo" ,ruby-tzinfo))) + ("ruby-tzinfo" ,ruby-tzinfo) + ("ruby-tzinfo-data" ,ruby-tzinfo-data))) (synopsis "Ruby on Rails utility library") (description "ActiveSupport is a toolkit of support libraries and Ruby core extensions extracted from the Rails framework. It includes support for -- 2.7.4 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 2/4] gnu: ruby-activesupport: Add 'ruby-tzinfo-data' propagated input. 2016-06-05 13:00 ` [PATCH 2/4] gnu: ruby-activesupport: Add 'ruby-tzinfo-data' propagated input Ben Woodcroft @ 2016-06-06 8:12 ` Ludovic Courtès 2016-06-08 11:44 ` Ben Woodcroft 0 siblings, 1 reply; 10+ messages in thread From: Ludovic Courtès @ 2016-06-06 8:12 UTC (permalink / raw) To: Ben Woodcroft; +Cc: guix-devel Ben Woodcroft <donttrustben@gmail.com> skribis: > * gnu/packages/ruby.scm (ruby-activesupport)[propagated-inputs]: Add > 'ruby-tzinfo-data'. This one LGTM, thanks. :-) Ludo’. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/4] gnu: ruby-activesupport: Add 'ruby-tzinfo-data' propagated input. 2016-06-06 8:12 ` Ludovic Courtès @ 2016-06-08 11:44 ` Ben Woodcroft 0 siblings, 0 replies; 10+ messages in thread From: Ben Woodcroft @ 2016-06-08 11:44 UTC (permalink / raw) To: Ludovic Courtès, Ben Woodcroft; +Cc: guix-devel On 06/06/16 18:12, Ludovic Courtès wrote: > Ben Woodcroft <donttrustben@gmail.com> skribis: > >> * gnu/packages/ruby.scm (ruby-activesupport)[propagated-inputs]: Add >> 'ruby-tzinfo-data'. > This one LGTM, thanks. :-) To be fair, so did Dave, but he left the list of his reply. Thanks you two. I took all your comments on board Dave, made a few more small changes and pushed. ben ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 3/4] gnu: Add ruby-timecop. 2016-06-05 13:00 [PATCH 0/4]: A few rubygems Ben Woodcroft 2016-06-05 13:00 ` [PATCH 1/4] gnu: Add ruby-tzinfo-data Ben Woodcroft 2016-06-05 13:00 ` [PATCH 2/4] gnu: ruby-activesupport: Add 'ruby-tzinfo-data' propagated input Ben Woodcroft @ 2016-06-05 13:00 ` Ben Woodcroft 2016-06-05 13:56 ` Thompson, David 2016-06-05 13:00 ` [PATCH 4/4] gnu: Add ruby-concurrent Ben Woodcroft 3 siblings, 1 reply; 10+ messages in thread From: Ben Woodcroft @ 2016-06-05 13:00 UTC (permalink / raw) To: guix-devel * gnu/packages/ruby.scm (ruby-timecop): New variable. --- gnu/packages/ruby.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 319971e..71b13e4 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3969,3 +3969,40 @@ comprehensive ORM layer for mapping records to Ruby objects and handling associated records.") (home-page "http://sequel.jeremyevans.net") (license license:expat))) + +(define-public ruby-timecop + (package + (name "ruby-timecop") + (version "0.8.1") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "timecop" version)) + (sha256 + (base32 + "0vwbkwqyxhavzvr1820hqwz43ylnfcf6w4x6sag0nghi44sr9kmx")))) + (build-system ruby-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'set-check-rubylib + (lambda _ + (setenv "RUBYLIB" "lib") + ;; Delete test file which requires activesupport and + ;; (currently broken) tzinfo-data. + (delete-file "test/time_stack_item_test.rb") + #t))))) + (native-inputs + `(("bundler" ,bundler) + ("ruby-minitest-rg" ,ruby-minitest-rg) + ("ruby-mocha" ,ruby-mocha))) + (synopsis "Test mocks for time-dependent functions.") + (description + "This package provides a gem providing \"time travel\" and \"time +freezing\" capabilities, making it easier to test time-dependent code. It +provides a unified method to mock @code{Time.now}, @code{Date.today}, and +@code{DateTime.now} in a single call.") + (home-page "https://github.com/travisjeffery/timecop") + (license license:expat))) + + -- 2.7.4 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 3/4] gnu: Add ruby-timecop. 2016-06-05 13:00 ` [PATCH 3/4] gnu: Add ruby-timecop Ben Woodcroft @ 2016-06-05 13:56 ` Thompson, David 0 siblings, 0 replies; 10+ messages in thread From: Thompson, David @ 2016-06-05 13:56 UTC (permalink / raw) To: Ben Woodcroft; +Cc: guix-devel On Sun, Jun 5, 2016 at 9:00 AM, Ben Woodcroft <donttrustben@gmail.com> wrote: > * gnu/packages/ruby.scm (ruby-timecop): New variable. > --- > gnu/packages/ruby.scm | 37 +++++++++++++++++++++++++++++++++++++ > 1 file changed, 37 insertions(+) > > diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm > index 319971e..71b13e4 100644 > --- a/gnu/packages/ruby.scm > +++ b/gnu/packages/ruby.scm > @@ -3969,3 +3969,40 @@ comprehensive ORM layer for mapping records to Ruby objects and handling > associated records.") > (home-page "http://sequel.jeremyevans.net") > (license license:expat))) > + > +(define-public ruby-timecop > + (package > + (name "ruby-timecop") > + (version "0.8.1") > + (source > + (origin > + (method url-fetch) > + (uri (rubygems-uri "timecop" version)) > + (sha256 > + (base32 > + "0vwbkwqyxhavzvr1820hqwz43ylnfcf6w4x6sag0nghi44sr9kmx")))) > + (build-system ruby-build-system) > + (arguments > + `(#:phases > + (modify-phases %standard-phases > + (add-before 'check 'set-check-rubylib > + (lambda _ > + (setenv "RUBYLIB" "lib") Could you add a comment explaining what this is for? > + ;; Delete test file which requires activesupport and > + ;; (currently broken) tzinfo-data. > + (delete-file "test/time_stack_item_test.rb") > + #t))))) > + (native-inputs > + `(("bundler" ,bundler) > + ("ruby-minitest-rg" ,ruby-minitest-rg) > + ("ruby-mocha" ,ruby-mocha))) > + (synopsis "Test mocks for time-dependent functions.") > + (description > + "This package provides a gem providing \"time travel\" and \"time > +freezing\" capabilities, making it easier to test time-dependent code. It > +provides a unified method to mock @code{Time.now}, @code{Date.today}, and > +@code{DateTime.now} in a single call.") Rather: "Timecop provides \"time travel" and ..." > + (home-page "https://github.com/travisjeffery/timecop") > + (license license:expat))) > + > + > -- > 2.7.4 > > - Dave ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 4/4] gnu: Add ruby-concurrent. 2016-06-05 13:00 [PATCH 0/4]: A few rubygems Ben Woodcroft ` (2 preceding siblings ...) 2016-06-05 13:00 ` [PATCH 3/4] gnu: Add ruby-timecop Ben Woodcroft @ 2016-06-05 13:00 ` Ben Woodcroft 2016-06-05 14:02 ` Thompson, David 3 siblings, 1 reply; 10+ messages in thread From: Ben Woodcroft @ 2016-06-05 13:00 UTC (permalink / raw) To: guix-devel * gnu/packages/ruby.scm (ruby-concurrent): New variable. * gnu/packages/patches/ruby-concurrent-ignore-broken-test.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + .../ruby-concurrent-ignore-broken-test.patch | 37 ++++++++++++++ gnu/packages/ruby.scm | 58 ++++++++++++++++++++++ 3 files changed, 96 insertions(+) create mode 100644 gnu/packages/patches/ruby-concurrent-ignore-broken-test.patch diff --git a/gnu/local.mk b/gnu/local.mk index c3a3ea4..65146db 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -731,6 +731,7 @@ dist_patch_DATA = \ %D%/packages/patches/ripperx-missing-file.patch \ %D%/packages/patches/rpm-CVE-2014-8118.patch \ %D%/packages/patches/rsem-makefile.patch \ + %D%/packages/patches/ruby-concurrent-ignore-broken-test.patch \ %D%/packages/patches/ruby-symlinkfix.patch \ %D%/packages/patches/rush-CVE-2013-6889.patch \ %D%/packages/patches/sed-hurd-path-max.patch \ diff --git a/gnu/packages/patches/ruby-concurrent-ignore-broken-test.patch b/gnu/packages/patches/ruby-concurrent-ignore-broken-test.patch new file mode 100644 index 0000000..803d8a8 --- /dev/null +++ b/gnu/packages/patches/ruby-concurrent-ignore-broken-test.patch @@ -0,0 +1,37 @@ +diff --git a/spec/concurrent/channel_spec.rb b/spec/concurrent/channel_spec.rb +index d70fba8..f1bcc0a 100644 +--- a/spec/concurrent/channel_spec.rb ++++ b/spec/concurrent/channel_spec.rb +@@ -598,19 +598,19 @@ module Concurrent + }.to raise_error(ArgumentError) + end + +- it 'loops until the block returns false' do +- actual = 0 +- expected = 3 +- latch = Concurrent::CountDownLatch.new(expected) +- Channel.go_loop do +- actual += 1 +- latch.count_down +- actual < expected +- end +- +- latch.wait(10) +- expect(actual).to eq expected +- end ++ # it 'loops until the block returns false' do ++ # actual = 0 ++ # expected = 3 ++ # latch = Concurrent::CountDownLatch.new(expected) ++ # Channel.go_loop do ++ # actual += 1 ++ # latch.count_down ++ # actual < expected ++ # end ++ ++ # latch.wait(10) ++ # expect(actual).to eq expected ++ # end + end + + context '.go_loop_via' do diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 71b13e4..e761062 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -4005,4 +4005,62 @@ provides a unified method to mock @code{Time.now}, @code{Date.today}, and (home-page "https://github.com/travisjeffery/timecop") (license license:expat))) +(define-public ruby-concurrent + (package + (name "ruby-concurrent") + (version "1.0.2") + (source + (origin + (method url-fetch) + ;; Download from GitHub because the rubygems version does not contain + ;; Rakefile. + (uri (string-append + "https://github.com/ruby-concurrency/concurrent-ruby/archive/v" + version + ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1x3g2admp14ykwfxidsicqbhlfsnxh9wyc806np4i15hws4if1d8")) + ;; Exclude failing test reported at + ;; https://github.com/ruby-concurrency/concurrent-ruby/issues/534 + (patches (search-patches "ruby-concurrent-ignore-broken-test.patch")))) + (build-system ruby-build-system) + (arguments + `(#:test-target "spec" + #:phases + (modify-phases %standard-phases + (add-before 'build 'remove-git-lsfiles-and-extra-gemspecs + (lambda _ + (for-each (lambda (file) + (substitute* file + (("git ls-files") "find *"))) + (list "concurrent-ruby.gemspec" + "concurrent-ruby-edge.gemspec" + "support/file_map.rb")) + #t)) + (add-before 'build 'remove-extra-gemspecs + (lambda _ + ;; Delete extra gemspec files so 'first-gemspec' chooses the + ;; correct one. + (delete-file "concurrent-ruby-edge.gemspec") + (delete-file "concurrent-ruby-ext.gemspec") + #t)) + (add-before 'check 'rake-compile + ;; Fix the test error described at + ;; https://github.com/ruby-concurrency/concurrent-ruby/pull/408 + (lambda _ (zero? (system* "rake" "compile"))))))) + (native-inputs + `(("ruby-rake-compiler" ,ruby-rake-compiler) + ("ruby-yard" ,ruby-yard) + ("ruby-rspec" ,ruby-rspec) + ("ruby-timecop" ,ruby-timecop))) + (synopsis "Concurrency tools for Ruby") + (description + "This library provides modern concurrency tools including agents, +futures, promises, thread pools, actors, supervisors, and more. It is +inspired by Erlang, Clojure, Go, JavaScript, actors and classic concurrency +patterns.") + (home-page "http://www.concurrent-ruby.com") + (license license:expat))) -- 2.7.4 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 4/4] gnu: Add ruby-concurrent. 2016-06-05 13:00 ` [PATCH 4/4] gnu: Add ruby-concurrent Ben Woodcroft @ 2016-06-05 14:02 ` Thompson, David 0 siblings, 0 replies; 10+ messages in thread From: Thompson, David @ 2016-06-05 14:02 UTC (permalink / raw) To: Ben Woodcroft; +Cc: guix-devel On Sun, Jun 5, 2016 at 9:00 AM, Ben Woodcroft <donttrustben@gmail.com> wrote: > * gnu/packages/ruby.scm (ruby-concurrent): New variable. > * gnu/packages/patches/ruby-concurrent-ignore-broken-test.patch: New file. > * gnu/local.mk (dist_patch_DATA): Add it. > --- > gnu/local.mk | 1 + > .../ruby-concurrent-ignore-broken-test.patch | 37 ++++++++++++++ > gnu/packages/ruby.scm | 58 ++++++++++++++++++++++ > 3 files changed, 96 insertions(+) > create mode 100644 gnu/packages/patches/ruby-concurrent-ignore-broken-test.patch > > diff --git a/gnu/local.mk b/gnu/local.mk > index c3a3ea4..65146db 100644 > --- a/gnu/local.mk > +++ b/gnu/local.mk > @@ -731,6 +731,7 @@ dist_patch_DATA = \ > %D%/packages/patches/ripperx-missing-file.patch \ > %D%/packages/patches/rpm-CVE-2014-8118.patch \ > %D%/packages/patches/rsem-makefile.patch \ > + %D%/packages/patches/ruby-concurrent-ignore-broken-test.patch \ > %D%/packages/patches/ruby-symlinkfix.patch \ > %D%/packages/patches/rush-CVE-2013-6889.patch \ > %D%/packages/patches/sed-hurd-path-max.patch \ > diff --git a/gnu/packages/patches/ruby-concurrent-ignore-broken-test.patch b/gnu/packages/patches/ruby-concurrent-ignore-broken-test.patch > new file mode 100644 > index 0000000..803d8a8 > --- /dev/null > +++ b/gnu/packages/patches/ruby-concurrent-ignore-broken-test.patch > @@ -0,0 +1,37 @@ > +diff --git a/spec/concurrent/channel_spec.rb b/spec/concurrent/channel_spec.rb > +index d70fba8..f1bcc0a 100644 > +--- a/spec/concurrent/channel_spec.rb > ++++ b/spec/concurrent/channel_spec.rb > +@@ -598,19 +598,19 @@ module Concurrent > + }.to raise_error(ArgumentError) > + end > + > +- it 'loops until the block returns false' do > +- actual = 0 > +- expected = 3 > +- latch = Concurrent::CountDownLatch.new(expected) > +- Channel.go_loop do > +- actual += 1 > +- latch.count_down > +- actual < expected > +- end > +- > +- latch.wait(10) > +- expect(actual).to eq expected > +- end > ++ # it 'loops until the block returns false' do > ++ # actual = 0 > ++ # expected = 3 > ++ # latch = Concurrent::CountDownLatch.new(expected) > ++ # Channel.go_loop do > ++ # actual += 1 > ++ # latch.count_down > ++ # actual < expected > ++ # end > ++ > ++ # latch.wait(10) > ++ # expect(actual).to eq expected > ++ # end > + end Instead of commenting out the test, just change "it" to "xit" to mark the test as pending. > + > + context '.go_loop_via' do > diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm > index 71b13e4..e761062 100644 > --- a/gnu/packages/ruby.scm > +++ b/gnu/packages/ruby.scm > @@ -4005,4 +4005,62 @@ provides a unified method to mock @code{Time.now}, @code{Date.today}, and > (home-page "https://github.com/travisjeffery/timecop") > (license license:expat))) > > +(define-public ruby-concurrent > + (package > + (name "ruby-concurrent") > + (version "1.0.2") > + (source > + (origin > + (method url-fetch) > + ;; Download from GitHub because the rubygems version does not contain > + ;; Rakefile. > + (uri (string-append > + "https://github.com/ruby-concurrency/concurrent-ruby/archive/v" > + version > + ".tar.gz")) > + (file-name (string-append name "-" version ".tar.gz")) > + (sha256 > + (base32 > + "1x3g2admp14ykwfxidsicqbhlfsnxh9wyc806np4i15hws4if1d8")) > + ;; Exclude failing test reported at > + ;; https://github.com/ruby-concurrency/concurrent-ruby/issues/534 > + (patches (search-patches "ruby-concurrent-ignore-broken-test.patch")))) > + (build-system ruby-build-system) > + (arguments > + `(#:test-target "spec" > + #:phases > + (modify-phases %standard-phases > + (add-before 'build 'remove-git-lsfiles-and-extra-gemspecs > + (lambda _ > + (for-each (lambda (file) > + (substitute* file > + (("git ls-files") "find *"))) > + (list "concurrent-ruby.gemspec" > + "concurrent-ruby-edge.gemspec" > + "support/file_map.rb")) > + #t)) > + (add-before 'build 'remove-extra-gemspecs > + (lambda _ > + ;; Delete extra gemspec files so 'first-gemspec' chooses the > + ;; correct one. > + (delete-file "concurrent-ruby-edge.gemspec") Since you delete this gemspec, is it really necessary to patch it in the prior phase? > + (delete-file "concurrent-ruby-ext.gemspec") > + #t)) > + (add-before 'check 'rake-compile > + ;; Fix the test error described at > + ;; https://github.com/ruby-concurrency/concurrent-ruby/pull/408 > + (lambda _ (zero? (system* "rake" "compile"))))))) > + (native-inputs > + `(("ruby-rake-compiler" ,ruby-rake-compiler) > + ("ruby-yard" ,ruby-yard) > + ("ruby-rspec" ,ruby-rspec) > + ("ruby-timecop" ,ruby-timecop))) > + (synopsis "Concurrency tools for Ruby") > + (description > + "This library provides modern concurrency tools including agents, > +futures, promises, thread pools, actors, supervisors, and more. It is > +inspired by Erlang, Clojure, Go, JavaScript, actors and classic concurrency > +patterns.") > + (home-page "http://www.concurrent-ruby.com") > + (license license:expat))) > > -- > 2.7.4 > > - Dave ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2016-06-08 11:44 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-06-05 13:00 [PATCH 0/4]: A few rubygems Ben Woodcroft 2016-06-05 13:00 ` [PATCH 1/4] gnu: Add ruby-tzinfo-data Ben Woodcroft 2016-06-05 13:54 ` Thompson, David 2016-06-05 13:00 ` [PATCH 2/4] gnu: ruby-activesupport: Add 'ruby-tzinfo-data' propagated input Ben Woodcroft 2016-06-06 8:12 ` Ludovic Courtès 2016-06-08 11:44 ` Ben Woodcroft 2016-06-05 13:00 ` [PATCH 3/4] gnu: Add ruby-timecop Ben Woodcroft 2016-06-05 13:56 ` Thompson, David 2016-06-05 13:00 ` [PATCH 4/4] gnu: Add ruby-concurrent Ben Woodcroft 2016-06-05 14:02 ` Thompson, David
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/guix.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.