summary refs log tree commit diff
diff options
context:
space:
mode:
authorBen Woodcroft <donttrustben@gmail.com>2018-02-05 11:40:40 +0100
committerChristopher Baines <mail@cbaines.net>2018-09-16 18:29:45 +0100
commit1b6f5475a1e05797f096aca038f2a14b9feb5707 (patch)
tree42a496b7043722164ba14475c6397fda48b5a182
parented4b6b1840f104aa7f1c57506d34764978492a98 (diff)
downloadguix-1b6f5475a1e05797f096aca038f2a14b9feb5707.tar.gz
gnu: Enable tests for ruby-multi-json.
* gnu/packages/ruby.scm (ruby-multi-json)[version]: Update to 1.13.1.
[source]: Switch to GitHub, so that the tests can be run.
[arguments]: Enable running the tests, and add a patch to fix an issue running
the tests.
[native-inputs]: Add native-inputs required for running the tests.
[home-page]: Use HTTPS.

Signed-off-by: Christopher Baines <mail@cbaines.net>
-rw-r--r--gnu/packages/ruby.scm27
1 files changed, 22 insertions, 5 deletions
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 0b68844985..b7bf6ca736 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2289,23 +2289,40 @@ net/http library.")
 (define-public ruby-multi-json
   (package
     (name "ruby-multi-json")
-    (version "1.12.2")
+    (version "1.13.1")
     (source
      (origin
        (method url-fetch)
-       (uri (rubygems-uri "multi_json" version))
+       ;; Tests are not distributed at rubygems.org so download from GitHub
+       ;; instead.
+       (uri (string-append "https://github.com/intridea/multi_json/archive/v"
+                           version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1raim9ddjh672m32psaa9niw67ywzjbxbdb8iijx3wv9k5b0pk2x"))))
+         "1s64xqvrnrxmb59v6b2kchnisawg5ai9ky1w60dy6z6ws9la1xv4"))))
     (build-system ruby-build-system)
     (arguments
-     '(#:tests? #f)) ;; No testsuite included in the gem.
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'remove-signing-key-reference
+           (lambda _
+             (substitute* "multi_json.gemspec"
+               ((".*spec.signing_key.*") ""))
+             #t)))))
+    (native-inputs
+     `(("bundler" ,bundler)
+       ("ruby-rspec" ,ruby-rspec)
+       ("ruby-yard" ,ruby-yard)
+       ("ruby-json-pure" ,ruby-json-pure)
+       ("ruby-oj" ,ruby-oj)
+       ("ruby-yajl-ruby" ,ruby-yajl-ruby)))
     (synopsis "Common interface to multiple JSON libraries for Ruby")
     (description
      "This package provides a common interface to multiple JSON libraries,
 including Oj, Yajl, the JSON gem (with C-extensions), the pure-Ruby JSON gem,
 NSJSONSerialization, gson.rb, JrJackson, and OkJson.")
-    (home-page "http://github.com/intridea/multi_json")
+    (home-page "https://github.com/intridea/multi_json")
     (license license:expat)))
 
 (define-public ruby-arel