From 95f85d4484d45bf68aa3dbe98d8c3b7d46ee1162 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 17 Feb 2019 17:21:22 +0000 Subject: gnu: Add ruby-dep. * gnu/packages/ruby.scm (ruby-dep): New variable. --- gnu/packages/ruby.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu/packages/ruby.scm') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 2ef00ce35..08952822c 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3788,6 +3788,27 @@ rate.") (home-page "https://github.com/paul/progress_bar") (license license:wtfpl2))) +(define-public ruby-dep + (package + (name "ruby-dep") + (version "1.5.0") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "ruby_dep" version)) + (sha256 + (base32 + "1c1bkl97i9mkcvkn1jks346ksnvnnp84cs22gwl0vd7radybrgy5")))) + (build-system ruby-build-system) + (arguments + '(#:tests? #f)) ; No included tests + (synopsis "Creates a version constraint of supported Rubies") + (description + "This package helps create a version constraint of supported Rubies, +suitable for a gemspec file.") + (home-page "https://github.com/e2/ruby_dep") + (license license:expat))) + (define-public ruby-progressbar (package (name "ruby-progressbar") -- cgit v1.3 From 6cbba8a38026755dd00812b5f0f3cdc96f1fa50b Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 17 Feb 2019 17:21:33 +0000 Subject: gnu: ruby-jekyll-watch: Update to 2.1.2. * gnu/packages/ruby.scm (ruby-jekyll-watch): Update to 2.1.2. [propagated-inputs]: Change to use ruby-listen, rather than ruby-listen-3.0. --- gnu/packages/ruby.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu/packages/ruby.scm') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 08952822c..49e8d83be 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -7731,16 +7731,16 @@ in Jekyll.") (define-public ruby-jekyll-watch (package (name "ruby-jekyll-watch") - (version "2.0.0") + (version "2.1.2") (source (origin (method url-fetch) (uri (rubygems-uri "jekyll-watch" version)) (sha256 (base32 - "0m7scvj3ki8bmyx5v8pzibpg6my10nycnc28lip98dskf8iakprp")))) + "1s9ly83sp8albvgdff12xy2h4xd8lm6z2fah4lzmk2yvp85jzdzv")))) (build-system ruby-build-system) (propagated-inputs - `(("ruby-listen-3.0" ,ruby-listen-3.0))) + `(("ruby-listen" ,ruby-listen))) (arguments ;; No rakefile `(#:tests? #f)) -- cgit v1.3 From c47e141deb607714e52c9f7646878f371c17d004 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 17 Feb 2019 17:21:45 +0000 Subject: gnu: Remove ruby-listen-3.0. This was used by ruby-jekyll-watch, but that's now been upgraded and now uses the ruby-listen package. * gnu/packages/ruby.scm (ruby-listen-3.0): Remove this variable. --- gnu/packages/ruby.scm | 11 ----------- 1 file changed, 11 deletions(-) (limited to 'gnu/packages/ruby.scm') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 49e8d83be..681227545 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -4499,17 +4499,6 @@ you about the changes.") (home-page "https://github.com/guard/listen") (license license:expat))) -(define-public ruby-listen-3.0 - (package - (inherit ruby-listen) - (version "3.0.8") - (source (origin - (method url-fetch) - (uri (rubygems-uri "listen" version)) - (sha256 - (base32 - "1l0y7hbyfiwpvk172r28hsdqsifq1ls39hsfmzi1vy4ll0smd14i")))))) - (define-public ruby-loofah (package (name "ruby-loofah") -- cgit v1.3 From 35602819afac38182a3f0b1028f588803d94e7f6 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 17 Feb 2019 17:21:56 +0000 Subject: gnu: ruby-listen: Enable running the tests. * gnu/packages/ruby.scm (ruby-listen)[source]: Switch to the Git repository, as this includes the tests. [arguments]: Set #:test-target and tweak the Rakefile to avoid requiring Rubocop unnecessarily. [native-inputs]: Add bundler and ruby-rspec for running the test suite. [inputs]: Add ruby-thor, as this is used for bin/listen. [propagated-inputs]: Add ruby-dep, as this is listed as a runtime dependency in the gemspec. --- gnu/packages/ruby.scm | 40 ++++++++++++++++++++++++++++++++++------ 1 file changed, 34 insertions(+), 6 deletions(-) (limited to 'gnu/packages/ruby.scm') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 681227545..3e656e2cb 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -4483,16 +4483,44 @@ a native C extension.") (version "3.1.5") (source (origin - (method url-fetch) - (uri (rubygems-uri "listen" version)) + ;; The gem does not include a Rakefile, so fetch from the Git + ;; repository. + (method git-fetch) + (uri (git-reference + (url "https://github.com/guard/listen.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx")))) + "1hqmkfa9f2xb5jlvqbafdxjd5ax75jm8gqj5nh3k22xq0kacsvgg")))) (build-system ruby-build-system) - (arguments '(#:tests? #f)) ; no tests + (arguments + `(#:test-target "spec" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-files-in-gemspec + (lambda _ + (substitute* "listen.gemspec" + (("`git ls-files -z`") "`find . -type f -printf '%P\\\\0' |sort -z`")) + #t)) + (add-before 'check 'remove-unnecessary-dependencies' + (lambda _ + (substitute* "Rakefile" + ;; Rubocop is for code linting, and is unnecessary for running + ;; the tests. + ((".*rubocop.*") "")) + #t))))) + (native-inputs + `(("bundler" ,bundler) + ("ruby-rspec" ,ruby-rspec))) + (inputs + `(;; ruby-thor is used for the command line interface, and is referenced + ;; in the wrapper, and therefore just needs to be an input. + ("ruby-thor" ,ruby-thor))) (propagated-inputs - `(("ruby-rb-inotify" ,ruby-rb-inotify) - ("ruby-rb-fsevent" ,ruby-rb-fsevent))) + `(("ruby-rb-fsevent" ,ruby-rb-fsevent) + ("ruby-rb-inotify" ,ruby-rb-inotify) + ("ruby-dep" ,ruby-dep))) (synopsis "Listen to file modifications") (description "The Listen gem listens to file modifications and notifies you about the changes.") -- cgit v1.3 From 73a5aff7afb5b7c82b4d7ec9e5715ec4e4f163d2 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 17 Feb 2019 17:22:16 +0000 Subject: gnu: Add ruby-bindex. * gnu/packages/ruby.scm (ruby-bindex): New variable. --- gnu/packages/ruby.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu/packages/ruby.scm') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 3e656e2cb..d9b9ec38b 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5588,6 +5588,31 @@ boolean expression used by Cucumber.") (home-page "https://github.com/cucumber/tag-expressions-ruby") (license license:expat))) +(define-public ruby-bindex + (package + (name "ruby-bindex") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "bindex" version)) + (sha256 + (base32 + "1wvhf4v8sk5x8li03pcc0v0wglmyv7ikvvg05bnms83dfy7s4k8i")))) + (build-system ruby-build-system) + (arguments + '(#:test-target "default")) + (native-inputs + `(("bundler" ,bundler) + ("ruby-rake-compiler" ,ruby-rake-compiler))) + (synopsis "Provides access for bindings relating to Ruby exceptions") + (description + "@code{bindex} provides a way to access the bindings that relate to +exceptions in Ruby, providing more information about the context in which the +exception occurred.") + (home-page "https://github.com/gsamokovarov/bindex") + (license license:expat))) + (define-public ruby-bio-logger (package (name "ruby-bio-logger") -- cgit v1.3 From 3ca435240078888c032f84e005c8a6ceaf745549 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 17 Feb 2019 17:22:41 +0000 Subject: gnu: Add ruby-execjs. * gnu/packages/ruby.scm (ruby-execjs): New variable. --- gnu/packages/ruby.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'gnu/packages/ruby.scm') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index d9b9ec38b..a5ae7fa80 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -51,6 +51,7 @@ #:use-module (gnu packages maths) #:use-module (gnu packages ncurses) #:use-module (gnu packages networking) + #:use-module (gnu packages node) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages ragel) @@ -1434,6 +1435,39 @@ support.") (home-page "http://www.kuwata-lab.com/erubis/") (license license:expat))) +(define-public ruby-execjs + (package + (name "ruby-execjs") + (version "2.7.0") + (source + (origin + ;; fetch from github as the gem does not contain testing code + (method git-fetch) + (uri (git-reference + (url "https://github.com/rails/execjs.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0c0vd2mmqq3ar4plbwi2wsbr31vn4h45i19r5km66skydnnbp1y6")))) + (build-system ruby-build-system) + (native-inputs + `(("bundler" ,bundler) + ;; The test suite tests all the available backends. Currenly, this just + ;; means the node backend. + ;; + ;; PASSED: test:node + ;; SKIPPED: test:duktape, ;; test:javascriptcore, test:jscript, + ;; test:miniracer, test:rubyracer, ;; test:rubyrhino, test:v8 + ("node" ,node))) + (synopsis "Run JavaScript code from Ruby") + (description + "ExecJS lets you run JavaScript code from Ruby. It automatically picks a +runtime to evaluate your JavaScript program, then returns the result to you as +a Ruby object.") + (home-page "https://github.com/rails/execjs") + (license license:expat))) + (define-public ruby-orderedhash (package (name "ruby-orderedhash") -- cgit v1.3 From bee67d18312eaf2b31016ce4bc75a39a2dc4b453 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 17 Feb 2019 17:23:05 +0000 Subject: gnu: ruby: Update some RSpec packages. * gnu/packages/ruby.scm (ruby-rspec-support): Update to 3.8.0. (ruby-rspec-core): Update to 3.8.0. (ruby-rspec-expectations): Update to 3.8.2. (ruby-rspec-mocks): Update to 3.8.0. (ruby-rspec): Update to 3.8.0. --- gnu/packages/ruby.scm | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'gnu/packages/ruby.scm') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index a5ae7fa80..592059980 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -450,13 +450,13 @@ notebook).") (define ruby-rspec-support (package (name "ruby-rspec-support") - (version "3.5.0") + (version "3.8.0") (source (origin (method url-fetch) (uri (rubygems-uri "rspec-support" version)) (sha256 (base32 - "10vf3k3d472y573mag2kzfsfrf6rv355s13kadnpryk8d36yq5r0")))) + "0p3m7drixrlhvj2zpc38b11x145bvm311x6f33jjcxmvcm0wq609")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; avoid dependency cycles @@ -468,13 +468,13 @@ notebook).") (define-public ruby-rspec-core (package (name "ruby-rspec-core") - (version "3.5.4") + (version "3.8.0") (source (origin (method url-fetch) (uri (rubygems-uri "rspec-core" version)) (sha256 (base32 - "1nacs062qbr98fx6czf1vwppn1js956nv2c8vfwj6i65axdfs46i")))) + "1p1s5bnbqp3sxk67y0fh0x884jjym527r0vgmhbm81w7aq6b7l4p")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; avoid dependency cycles @@ -521,13 +521,13 @@ standard diff-like tool.") (define-public ruby-rspec-expectations (package (name "ruby-rspec-expectations") - (version "3.5.0") + (version "3.8.2") (source (origin (method url-fetch) (uri (rubygems-uri "rspec-expectations" version)) (sha256 (base32 - "0bbqfrb1x8gmwf8x2xhhwvvlhwbbafq4isbvlibxi6jk602f09gs")))) + "18l21hy1zdc2pgc2yb17k3n2al1khpfr0z6pijlm852iz6vj0dkm")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; avoid dependency cycles @@ -613,13 +613,13 @@ eq(1)\\}}.") (define-public ruby-rspec-mocks (package (name "ruby-rspec-mocks") - (version "3.5.0") + (version "3.8.0") (source (origin (method url-fetch) (uri (rubygems-uri "rspec-mocks" version)) (sha256 (base32 - "0nl3ksivh9wwrjjd47z5dggrwx40v6gpb3a0gzbp1gs06a5dmk24")))) + "06y508cjqycb4yfhxmb3nxn0v9xqf17qbd46l1dh4xhncinr4fyp")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; avoid dependency cycles @@ -670,13 +670,13 @@ RSpec tests.") (define-public ruby-rspec (package (name "ruby-rspec") - (version "3.5.0") + (version "3.8.0") (source (origin (method url-fetch) (uri (rubygems-uri "rspec" version)) (sha256 (base32 - "16g3mmih999f0b6vcz2c3qsc7ks5zy4lj1rzjh8hf6wk531nvc6s")))) + "15ppasvb9qrscwlyjz67ppw1lnxiqnkzx5vkx1bd8x5n3dhikxc3")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; avoid dependency cycles -- cgit v1.3 From 87688ff3749219a1ea928300f5797e5cf56712c1 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 17 Feb 2019 17:23:20 +0000 Subject: gnu: Add ruby-rspec-rails. * gnu/packages/ruby.scm (ruby-rspec-support): Export this variable, so that it's accessible from the (gnu packages rails) module. * gnu/packages/rails.scm (ruby-rspec-rails): New variable. --- gnu/packages/rails.scm | 29 +++++++++++++++++++++++++++++ gnu/packages/ruby.scm | 2 +- 2 files changed, 30 insertions(+), 1 deletion(-) (limited to 'gnu/packages/ruby.scm') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 9fc8c5dfa..e359b2499 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -173,6 +173,35 @@ an almost zero-configuration persistence layer for applications.") (home-page "https://rubyonrails.org") (license license:expat))) +(define-public ruby-rspec-rails + (package + (name "ruby-rspec-rails") + (version "3.8.2") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "rspec-rails" version)) + (sha256 + (base32 + "1pf6n9l4sw1arlax1bdbm1znsvl8cgna2n6k6yk1bi8vz2n73ls1")))) + (build-system ruby-build-system) + (arguments + '(#:tests? #f)) ; No included tests + (propagated-inputs + `(("ruby-actionpack" ,ruby-actionpack) + ("ruby-activesupport" ,ruby-activesupport) + ("ruby-railties" ,ruby-railties) + ("ruby-rspec-core" ,ruby-rspec-core) + ("ruby-rspec-expectations" ,ruby-rspec-expectations) + ("ruby-rspec-mocks" ,ruby-rspec-mocks) + ("ruby-rspec-support" ,ruby-rspec-support))) + (synopsis "Use RSpec to test Ruby on Rails applications") + (description + "This package provides support for using RSpec to test Ruby on Rails +applications, in pace of the default Minitest testing library.") + (home-page "https://github.com/rspec/rspec-rails") + (license license:expat))) + (define-public ruby-rails-html-sanitizer (package (name "ruby-rails-html-sanitizer") diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 592059980..9567f4887 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -447,7 +447,7 @@ notebook).") ;; RSpec is the dominant testing library for Ruby projects. Even RSpec's ;; dependencies use RSpec for their test suites! To avoid these circular ;; dependencies, we disable tests for all of the RSpec-related packages. -(define ruby-rspec-support +(define-public ruby-rspec-support (package (name "ruby-rspec-support") (version "3.8.0") -- cgit v1.3 From 09924294333881315f5a21280c07f01c0313425f Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 17 Feb 2019 17:24:05 +0000 Subject: gnu: Add ruby-rerun. * gnu/packages/ruby.scm (ruby-rerun): New variable. --- gnu/packages/ruby.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu/packages/ruby.scm') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 9567f4887..9a899b6bb 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -2852,6 +2852,30 @@ conversion to (X)HTML.") (home-page "https://github.com/vmg/redcarpet") (license license:expat))) +(define-public ruby-rerun + (package + (name "ruby-rerun") + (version "0.13.0") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "rerun" version)) + (sha256 + (base32 + "1cskvxk8z8vmfail8na7hj91hs0qnvds9nydj04zi3dbddgnbmvz")))) + (build-system ruby-build-system) + (arguments + '(#:tests? #f)) ; No included tests + (propagated-inputs + `(("ruby-listen" ,ruby-listen))) + (synopsis "Run a process, and restart when some monitored files change") + (description + "Rerun is a tool to launch programs, then monitor the filesystem, and +restart the program when any of the monitored files change. It's written in +Ruby, but can be used for all programs.") + (home-page "https://github.com/alexch/rerun/") + (license license:expat))) + (define-public ruby-mocha (package (name "ruby-mocha") -- cgit v1.3