guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

55/229: gnu: ruby-aruba: Update to 2.1.0.


From: guix-commits
Subject: 55/229: gnu: ruby-aruba: Update to 2.1.0.
Date: Tue, 28 Mar 2023 22:29:01 -0400 (EDT)

apteryx pushed a commit to branch master
in repository guix.

commit 7d325537ed9c3b6cee5a4dfacd61c4292c566217
Author: Maxim Cournoyer <maxim.cournoyer@gmail.com>
AuthorDate: Tue Mar 7 20:59:58 2023 -0500

    gnu: ruby-aruba: Update to 2.1.0.
    
    * gnu/packages/ruby.scm (ruby-aruba): Update to 2.1.0.
    [source]: Use git.
    [arguments]: Use gexps.  Rename patch phase to 'patch-paths, and update.
    Rename remove-unnecessary-dependencies phase to relax-requirements and 
update.
    Move the check phase after the install phase, and add a new set-GEM_PATH
    phase.
    [native-inputs]: Remove ruby-fuubar.  Add ruby-rake-manifest.  Move bundler
    to...
    [propagated-inputs]: ... here.  Remove ruby-ffi and ruby-yard.
---
 gnu/packages/ruby.scm | 107 +++++++++++++++++++++++++++-----------------------
 1 file changed, 58 insertions(+), 49 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 85b6a737b6..fe93ec53e6 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -8075,62 +8075,71 @@ It is intended be used by all Cucumber implementations 
to parse
 (define-public ruby-aruba
   (package
     (name "ruby-aruba")
-    (version "0.14.14")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (rubygems-uri "aruba" version))
-       (sha256
-        (base32
-         "0l2mfpdxc03gdrbwc2hv4vdhjhqhfcdp6d02j05j64ncpi9srlqn"))))
+    (version "2.1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/cucumber/aruba";)
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1mmlgqhi6yww3z34hmrrnha2rygkv6kx0q962z31dqxjkcv23yfd"))))
     (build-system ruby-build-system)
     (arguments
-     '(#:test-target "spec"
-       #:phases
-       (modify-phases %standard-phases
-         (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))
-         (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")
-               ((".*relish.*") "\n"))
-             (substitute* "aruba.gemspec"
-               (("spec\\.add\\_runtime\\_dependency 'cucumber'.*")
-                "spec.add_runtime_dependency 'cucumber'"))
-             #t))
-         (add-before 'check 'set-home
-           (lambda _ (setenv "HOME" "/tmp") #t)))))
+     (list
+      ;; XXX: Only run the "spec" target and not the "cucumber" one, as it is
+      ;; slow and has multiple unexplained test failures.
+      #:test-target "spec"
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-paths
+            (lambda _
+              ;; This test file relies on a dynamically generated script;
+              ;; patch its #!/bin/bash shebang.
+              (substitute* "spec/aruba/api/commands_spec.rb"
+                (("/bin/bash")
+                 (which "bash")))))
+          (add-before 'check 'relax-requirements
+            ;; Many development requirements are not actually needed.
+            (lambda _
+              (substitute* "aruba.gemspec"
+                (("\\[\">= 0.18.0\", \"< 0.22.0\"]") ;simplecov
+                 "\">= 0.18.0\"")
+                ((".*appraisal.*") "")
+                ((".*pry.*") "")
+                ((".*kramdown.*") "")
+                ((".*rubocop.*") "")
+                ((".*yard-junk.*") ""))
+              (substitute* "Rakefile"
+                ((".*require \"rubocop/rake_task\".*") "")
+                ((".*require \"yard-junk/rake\".*") "")
+                ((".*RuboCop::RakeTask.new.*") "")
+                ((".*YardJunk::Rake.define_task.*") ""))))
+          ;; The tests rely on the Gem being installed, so move the check
+          ;; phase after the install phase.
+          (delete 'check)
+          (add-after 'install 'check
+            (assoc-ref %standard-phases 'check))
+          (add-before 'check 'set-GEM_PATH
+            (lambda _
+              (setenv "GEM_PATH" (string-append
+                                  (getenv "GEM_PATH") ":"
+                                  #$output "/lib/ruby/vendor_ruby"))))
+          (add-before 'check 'set-home
+            (lambda _
+              (setenv "HOME" "/tmp"))))))
     (native-inputs
-     (list bundler ruby-rspec ruby-fuubar ruby-simplecov))
+     (list ruby-rake-manifest
+           ruby-rspec
+           ruby-simplecov))
     (propagated-inputs
-     (list ruby-childprocess
+     (list bundler
+           ruby-childprocess
            ruby-contracts
            ruby-cucumber
-           ruby-ffi
            ruby-rspec-expectations
-           ruby-thor
-           ruby-yard))
+           ruby-thor))
     (synopsis "Test command-line applications with Cucumber, RSpec or 
Minitest")
     (description
      "Aruba is an extension for Cucumber, RSpec and Minitest for testing



reply via email to

[Prev in Thread] Current Thread [Next in Thread]