gnu: randomjungle: Update homepage and sourc.
[jackhill/guix/guix.git] / gnu / packages / ruby.scm
index 3673bf2..2fde016 100644 (file)
@@ -7,7 +7,7 @@
 ;;; Copyright © 2015, 2016, 2017 Ben Woodcroft <donttrustben@gmail.com>
 ;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
 ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
-;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
 ;;;
@@ -110,7 +110,7 @@ a focus on simplicity and productivity.")
 (define-public ruby-2.3
   (package
     (inherit ruby)
-    (version "2.3.7")
+    (version "2.3.8")
     (source
      (origin
        (method url-fetch)
@@ -119,7 +119,7 @@ a focus on simplicity and productivity.")
                            "/ruby-" version ".tar.xz"))
        (sha256
         (base32
-         "1nwfaifq5624p1ml56qq5dy5w38z37x22r0qgrbgbzrzklmqy7y6"))
+         "1zhxbjff08pvbnxvn58krns6q0p6g4977q6ykfn823gxhifn63wi"))
        (modules '((guix build utils)))
        (snippet `(begin
                    ;; Remove bundled libffi
@@ -194,25 +194,6 @@ a focus on simplicity and productivity.")
                (("/bin/sh") (which "sh")))
              #t)))))))
 
-(define-public ruby-concurrent
-  (package
-    (name "ruby-concurrent")
-    (version "1.0.5")
-    (source (origin
-              (method url-fetch)
-              (uri (rubygems-uri "concurrent-ruby" version))
-              (sha256
-               (base32
-                "183lszf5gx84kcpb779v6a2y0mx9sssy8dgppng1z9a505nj1qcf"))))
-    (build-system ruby-build-system)
-    (arguments `(#:tests? #f)); No rakefile
-    (home-page "https://github.com/ruby-concurrency/concurrent-ruby")
-    (synopsis "Concurrency tools for Ruby")
-    (description "This gem provides concurrency tools for Ruby.  It provides
-a library of common thread-safe types and data-structures as well as abstractions
-for concurrency and communication between threads.")
-    (license license:expat)))
-
 (define-public ruby-highline
   (package
     (name "ruby-highline")
@@ -1211,12 +1192,15 @@ standard output stream.")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'fix-tests
-          (lambda _
-            (substitute* "Rakefile"
-              (("system \"shindo") "system \"./bin/shindo")
-              ;; This test doesn't work, so we disable it.
-              (("fail \"The build_error test should fail") "#"))
-            #t)))))
+           (lambda _
+             (substitute* "tests/tests_helper.rb"
+               (("-rubygems") ""))
+             (substitute* "Rakefile"
+               (("system \"shindo") "system \"./bin/shindo")
+               ;; This test doesn't work, so we disable it.
+               (("fail \"The build_error test should fail") "#")
+               ((" -rubygems") ""))
+             #t)))))
     (propagated-inputs
      `(("ruby-formatador" ,ruby-formatador)))
     (synopsis "Simple depth first Ruby testing")
@@ -2911,6 +2895,11 @@ Ruby's large and slower test/unit.")
     (arguments
      `(#:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'fix-test
+           (lambda -
+             (substitute* "tests/hsl_triple_test.rb"
+               (("0\\\\\\.0%")
+                "0\\.?0?%"))))
          (replace 'build
           (lambda _
             (invoke "gem" "build" "term-ansicolor.gemspec"))))))
@@ -3492,7 +3481,7 @@ differences (added or removed nodes) between two XML/HTML documents.")
 (define-public ruby-rack
   (package
     (name "ruby-rack")
-    (version "2.0.5")
+    (version "2.0.6")
     (source
      (origin
        (method url-fetch)
@@ -3504,7 +3493,7 @@ differences (added or removed nodes) between two XML/HTML documents.")
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1k1k4wk10l6bxx46pw58j2p3nmyzjqnr65hbjjqydd6517fmxgib"))
+         "0pb3g5ymvbf07xaxcn51dpqv3djlxavckp3qkxsjdxiqznb0d9p1"))
        ;; Ignore test which fails inside the build environment but works
        ;; outside.
        (patches (search-patches "ruby-rack-ignore-failing-test.patch"))))
@@ -3777,7 +3766,7 @@ A modified copy of yajl is used, and included in the package.")
 (define-public ruby-yard
   (package
     (name "ruby-yard")
-    (version "0.9.6")
+    (version "0.9.16")
     (source
      (origin
        (method url-fetch)
@@ -3787,7 +3776,7 @@ A modified copy of yajl is used, and included in the package.")
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0rsz4bghgx7fryzyhlz8wlnd2m9xgyvf1xhrq58mnzfrrfm41bdg"))))
+         "0sqpbayy9sb406jh0zqg6qha1xds863qz9531dh6vp58hc00clfq"))))
     (build-system ruby-build-system)
     (arguments
      `(#:phases
@@ -5100,6 +5089,29 @@ are doing, you can fiddle with every last bit of your email directly.")
     (home-page "https://github.com/mikel/mail")
     (license license:expat)))
 
+(define-public ruby-mathn
+  (package
+    (name "ruby-mathn")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "mathn" version))
+       (sha256
+        (base32
+         "1wn812llln9jzgybz2d7536q39z3gi99i6fi0j1dapcpzvhgrr0p"))))
+    (build-system ruby-build-system)
+    (native-inputs
+     `(("bundler" ,bundler)
+       ("ruby-rake-compiler" ,ruby-rake-compiler)))
+    (synopsis "Extends math operations for increased precision")
+    (description
+     "This gem makes mathematical operations more precise in Ruby and
+integrates other mathematical standard libraries.  Prior to Ruby 2.5,
+@code{mathn} was part of the Ruby standard library.")
+    (home-page "https://github.com/ruby/mathn")
+    (license license:bsd-2)))
+
 (define-public ruby-code-statistics
   (package
     (name "ruby-code-statistics")
@@ -5448,8 +5460,16 @@ strings or files.")
        ("ruby-diffy" ,ruby-diffy)
        ("ruby-terminfo" ,ruby-terminfo)))
     (arguments
-     ;; No Rakefile
-     `(#:tests? #f))
+     `(;; This package contains tests for a sass implementation, and the to
+       ;; avoid any circular dependencies, the tests are not run here
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-test
+           (lambda _
+             (delete-file "spec/values/colors/alpha_hex-3.5/error")
+             (substitute* "spec/values/colors/alpha_hex-3.5/expected_output.css"
+               (("string") "color")))))))
     (home-page "https://github.com/sass/sass-spec")
     (synopsis "Test suite for Sass")
     (description "Sass Spec is a test suite for Sass.  Test cases are all in
@@ -5459,18 +5479,19 @@ the @file{spec} directory.")
 (define-public ruby-sass
   (package
     (name "ruby-sass")
-    (version "3.5.7")
+    (version "3.6.0")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "sass" version))
               (sha256
                (base32
-                "1sy7xsbgpcy90j5ynbq967yplffp74pvph3r8ivn2sv2b44q6i61"))))
+                "18c6prbw9wl8bqhb2435pd9s0lzarl3g7xf8pmyla28zblvwxmyh"))))
     (build-system ruby-build-system)
     (propagated-inputs
      `(("ruby-sass-listen" ,ruby-sass-listen)))
     (native-inputs
-     `(("ruby-sass-spec" ,ruby-sass-spec)))
+     `(("ruby-sass-spec" ,ruby-sass-spec)
+       ("ruby-mathn" ,ruby-mathn)))
     (home-page "http://sass-lang.com/")
     (synopsis "CSS extension language")
     (description "Sass is a CSS extension language.  It extends CSS with
@@ -5652,27 +5673,6 @@ support the tests found in Prawn, a pure Ruby PDF generation library.")
 functionality from Prawn.")
     (license license:gpl3+)))
 
-(define-public ruby-yard
-  (package
-    (name "ruby-yard")
-    (version "0.9.16")
-    (source (origin
-              (method url-fetch)
-              (uri (rubygems-uri "yard" version))
-              (sha256
-               (base32
-                "0lmmr1839qgbb3zxfa7jf5mzy17yjl1yirwlgzdhws4452gqhn67"))))
-    (build-system ruby-build-system)
-    (arguments `(#:test-target "spec"))
-    (home-page "https://yardoc.org/")
-    (synopsis "Ruby documentation tool")
-    (description "YARD is a documentation generation tool for the Ruby
-programming language.  It enables the user to generate consistent, usable
-documentation that can be exported to a number of formats very easily, and
-also supports extending for custom Ruby constructs such as custom class level
-definitions.")
-    (license license:expat)))
-
 (define-public ruby-prawn
   (package
     (name "ruby-prawn")