sharlatan pushed a commit to branch ruby-team
in repository guix.

commit c4cf14be6a57bfb6dccef83ade84a2480aa2bb06
Author: Nicolas Graves <[email protected]>
AuthorDate: Fri Jan 31 09:20:15 2025 +0100

    gnu: ruby-oauth2: Fix test.
    
    * gnu/packages/ruby.scm (ruby-oauth2):
    [arguments]<#:phases>: Add phase 'skip-problematic-test.
    <#:modules>: Record required modules.
    [native-inputs]: Add bundler.
    [propagated-inputs]: Remove ruby-multi-json.  Add ruby-version-gem.
    
    Signed-off-by: Sharlatan Hellseher <[email protected]>
---
 gnu/packages/ruby.scm | 34 ++++++++++++++++++++++++++++------
 1 file changed, 28 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index b166e354ad..834133bf49 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2917,8 +2917,13 @@ complexity.")
                 "191j1f4gjw8wij1jy2fvddgi8cv1mm0ki7v0b0795clix1avnj29"))))
     (build-system ruby-build-system)
     (arguments
-     (list #:phases #~(modify-phases %standard-phases
-                        (add-after 'unpack 'relax-requirements
+     (list #:modules '((guix build ruby-build-system)
+                       (guix build utils)
+                       (ice-9 regex)
+                       (ice-9 textual-ports))
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'relax-requirements
                           (lambda _
                             (substitute* "Gemfile"
                               (("^linting = .*")
@@ -2931,9 +2936,26 @@ complexity.")
                               (("^RUN_COVERAGE = .*")
                                "RUN_COVERAGE = false\n")
                               (("^ALL_FORMATTERS = .*")
-                               "ALL_FORMATTERS = false\n")))))))
+                               "ALL_FORMATTERS = false\n"))))
+               (add-after 'unpack 'skip-problematic-test
+                 (lambda _
+                   ;; XXX: substitute* can't match 2 lines.
+                   (with-atomic-file-replacement
+                    "spec/oauth2/client_spec.rb"
+                    (lambda (in out)
+                      (let* ((pattern "\
+    context 'when parse: :xml but response is JSON' do\n\
+      it 'returns a configured AccessToken' do\n")
+                             (content (get-string-all in))
+                             (matched (string-match pattern content)))
+                        (if matched
+                            (format out "~a    skip('fails on guix')~%~a"
+                                    (string-take content (match:end matched))
+                                    (string-drop content (match:end matched)))
+                            (display content out))))))))))
     (native-inputs
-     (list ruby-addressable
+     (list bundler
+           ruby-addressable
            ruby-backports
            ruby-rexml
            ruby-rspec-block-is-expected
@@ -2943,10 +2965,10 @@ complexity.")
     (propagated-inputs
      (list ruby-faraday
            ruby-jwt
-           ruby-multi-json
            ruby-multi-xml
            ruby-rack
-           ruby-snaky-hash))
+           ruby-snaky-hash
+           ruby-version-gem))
     (synopsis "Ruby wrapper for the OAuth 2.0")
     (description
      "This package provides a Ruby wrapper for the OAuth 2.0 protocol built

Reply via email to