summaryrefslogtreecommitdiff
path: root/gnu/packages/ruby.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/ruby.scm')
-rw-r--r--gnu/packages/ruby.scm333
1 files changed, 183 insertions, 150 deletions
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 2fe60c4fa23..9dfa5043ed0 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -8,7 +8,7 @@
8;;; Copyright © 2017 Nikita <nikita@n0.is> 8;;; Copyright © 2017 Nikita <nikita@n0.is>
9;;; Copyright © 2017, 2019, 2020 Marius Bakke <mbakke@fastmail.com> 9;;; Copyright © 2017, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
10;;; Copyright © 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> 10;;; Copyright © 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
11;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> 11;;; Copyright © 2017, 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
12;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> 12;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
13;;; Copyright © 2017, 2018, 2019 Christopher Baines <mail@cbaines.net> 13;;; Copyright © 2017, 2018, 2019 Christopher Baines <mail@cbaines.net>
14;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com> 14;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
@@ -154,21 +154,16 @@ a focus on simplicity and productivity.")
154(define-public ruby-2.7 154(define-public ruby-2.7
155 (package 155 (package
156 (inherit ruby-2.6) 156 (inherit ruby-2.6)
157 (version "2.7.2") 157 (version "2.7.4")
158 (source 158 (source
159 (origin 159 (origin
160 (method url-fetch) 160 (inherit (package-source ruby-2.6))
161 (uri (string-append "https://cache.ruby-lang.org/pub/ruby/" 161 (uri (string-append "https://cache.ruby-lang.org/pub/ruby/"
162 (version-major+minor version) 162 (version-major+minor version)
163 "/ruby-" version ".tar.gz")) 163 "/ruby-" version ".tar.gz"))
164 (sha256 164 (sha256
165 (base32 165 (base32
166 "1m63461mxi3fg4y3bspbgmb0ckbbb1ldgf9xi0piwkpfsk80cmvf")) 166 "0nxwkxh7snmjqf787qsp4i33mxd1rbf9yzyfiky5k230i680jhrh"))))
167 (modules '((guix build utils)))
168 (snippet `(begin
169 ;; Remove bundled libffi
170 (delete-file-recursively "ext/fiddle/libffi-3.2.1")
171 #t))))
172 (arguments 167 (arguments
173 `(#:test-target "test" 168 `(#:test-target "test"
174 #:configure-flags '("--enable-shared") ; dynamic linking 169 #:configure-flags '("--enable-shared") ; dynamic linking
@@ -197,7 +192,7 @@ a focus on simplicity and productivity.")
197(define-public ruby-3.0 192(define-public ruby-3.0
198 (package 193 (package
199 (inherit ruby-2.7) 194 (inherit ruby-2.7)
200 (version "3.0.0") 195 (version "3.0.2")
201 (source 196 (source
202 (origin 197 (origin
203 (method url-fetch) 198 (method url-fetch)
@@ -206,12 +201,12 @@ a focus on simplicity and productivity.")
206 "/ruby-" version ".tar.xz")) 201 "/ruby-" version ".tar.xz"))
207 (sha256 202 (sha256
208 (base32 203 (base32
209 "1cbcixwnr0y8q0lg67wjgplp06kjd6p6hjjh680csv3v0bpsxgv8")))))) 204 "0h2w2ms4gx2s96v3lzdr3add94bd2qqkhdjzaycmaqhg21rpf3jp"))))))
210 205
211(define-public ruby-2.5 206(define-public ruby-2.5
212 (package 207 (package
213 (inherit ruby-2.6) 208 (inherit ruby-2.6)
214 (version "2.5.8") 209 (version "2.5.9")
215 (source 210 (source
216 (origin 211 (origin
217 (method url-fetch) 212 (method url-fetch)
@@ -220,12 +215,7 @@ a focus on simplicity and productivity.")
220 "/ruby-" version ".tar.xz")) 215 "/ruby-" version ".tar.xz"))
221 (sha256 216 (sha256
222 (base32 217 (base32
223 "0vad5ah1lrdhxsyqr5iqc8c7r7qczpmm76cz8rsf4crimpzv5483")) 218 "1w2qncacm7h3f3il1whghdabwnv9fvwmz9f1a9vcg32006ljyzx8"))))))
224 (modules '((guix build utils)))
225 (snippet `(begin
226 ;; Remove bundled libffi
227 (delete-file-recursively "ext/fiddle/libffi-3.2.1")
228 #t))))))
229 219
230(define-public ruby-2.4 220(define-public ruby-2.4
231 (package 221 (package
@@ -1183,14 +1173,18 @@ structure. Supports custom object formatting via plugins.")
1183 (("('|\")pandoc" _ quote) 1173 (("('|\")pandoc" _ quote)
1184 (string-append quote pandoc)) 1174 (string-append quote pandoc))
1185 (("\\^pandoc") 1175 (("\\^pandoc")
1186 ".*pandoc")) 1176 ".*pandoc")))))
1187 #t))) 1177 (add-after 'unpack 'adjust-tests
1178 ;; The tests expect filenames with spaces. Because they don't have
1179 ;; spaces the quotes around the output are dropped automatically.
1180 (lambda _
1181 (substitute* "test/test_pandoc_ruby.rb"
1182 (("\\\\\"#\\{file\\.path\\}\\\\\"") "#{file.path}"))))
1188 (add-after 'extract-gemspec 'remove-Gemfile.lock 1183 (add-after 'extract-gemspec 'remove-Gemfile.lock
1189 (lambda _ 1184 (lambda _
1190 (delete-file "Gemfile.lock") 1185 (delete-file "Gemfile.lock")
1191 (substitute* "pandoc-ruby.gemspec" 1186 (substitute* "pandoc-ruby.gemspec"
1192 (("Gemfile\\.lock") "")) 1187 (("Gemfile\\.lock") "")))))))
1193 #t)))))
1194 (native-inputs 1188 (native-inputs
1195 `(("ruby-mocha" ,ruby-mocha))) 1189 `(("ruby-mocha" ,ruby-mocha)))
1196 (inputs 1190 (inputs
@@ -1281,7 +1275,7 @@ syntax to the minimum while remaining clear.")
1281(define-public ruby-asciidoctor 1275(define-public ruby-asciidoctor
1282 (package 1276 (package
1283 (name "ruby-asciidoctor") 1277 (name "ruby-asciidoctor")
1284 (version "2.0.10") 1278 (version "2.0.16")
1285 (source 1279 (source
1286 (origin 1280 (origin
1287 (method git-fetch) ;the gem release lacks a Rakefile 1281 (method git-fetch) ;the gem release lacks a Rakefile
@@ -1291,7 +1285,7 @@ syntax to the minimum while remaining clear.")
1291 (file-name (git-file-name name version)) 1285 (file-name (git-file-name name version))
1292 (sha256 1286 (sha256
1293 (base32 1287 (base32
1294 "0jaxpnsdnx3qyjw5p2lsx1swny12q1i2vxw2kgdp4vlsyjv95z95")))) 1288 "086i17v9rxx0sxac26xp8c5v75jqba6rqjlk57x94qjvrh8vzyw2"))))
1295 (build-system ruby-build-system) 1289 (build-system ruby-build-system)
1296 (arguments 1290 (arguments
1297 `(#:test-target "test:all" 1291 `(#:test-target "test:all"
@@ -1305,7 +1299,8 @@ syntax to the minimum while remaining clear.")
1305 (string-append stripped "\n"))) 1299 (string-append stripped "\n")))
1306 #t))))) 1300 #t)))))
1307 (native-inputs 1301 (native-inputs
1308 `(("ruby-erubis" ,ruby-erubis) 1302 `(("ruby-erubi" ,ruby-erubi)
1303 ("ruby-erubis" ,ruby-erubis)
1309 ("ruby-minitest" ,ruby-minitest) 1304 ("ruby-minitest" ,ruby-minitest)
1310 ("ruby-nokogiri" ,ruby-nokogiri) 1305 ("ruby-nokogiri" ,ruby-nokogiri)
1311 ("ruby-asciimath" ,ruby-asciimath) 1306 ("ruby-asciimath" ,ruby-asciimath)
@@ -1942,7 +1937,7 @@ PDF library. It has features such as:
1942(define-public ruby-ast 1937(define-public ruby-ast
1943 (package 1938 (package
1944 (name "ruby-ast") 1939 (name "ruby-ast")
1945 (version "2.4.1") 1940 (version "2.4.2")
1946 (source 1941 (source
1947 (origin 1942 (origin
1948 (method git-fetch) ;no test included in gem from v2.4.1 1943 (method git-fetch) ;no test included in gem from v2.4.1
@@ -1952,7 +1947,7 @@ PDF library. It has features such as:
1952 (file-name (git-file-name name version)) 1947 (file-name (git-file-name name version))
1953 (sha256 1948 (sha256
1954 (base32 1949 (base32
1955 "0k8vya256chimy473g818gim06m5rjgh6mz5sc5g8xz3csh3rysi")))) 1950 "0vm94yml8rknr7z034vg6s3fpx6lml2prz9fn3hr67cx0143bb4h"))))
1956 (build-system ruby-build-system) 1951 (build-system ruby-build-system)
1957 (arguments 1952 (arguments
1958 '(#:phases 1953 '(#:phases
@@ -1964,24 +1959,25 @@ PDF library. It has features such as:
1964 (("Coveralls::SimpleCov::Formatter") "")) 1959 (("Coveralls::SimpleCov::Formatter") ""))
1965 #t)) 1960 #t))
1966 (add-after 'extract-gemspec 'remove-unnecessary-requirements 1961 (add-after 'extract-gemspec 'remove-unnecessary-requirements
1967 (lambda _ 1962 (lambda* (#:key inputs #:allow-other-keys)
1968 (substitute* "ast.gemspec" 1963 (substitute* "ast.gemspec"
1969 ((".*coveralls.*") "\n") 1964 ((".*coveralls.*") "\n")
1970 (("%q<rest-client>.*") "%q<rest-client>.freeze, [\">= 0\"])\n") 1965 (("%q<rest-client>.*") "%q<rest-client>.freeze, [\">= 0\"])\n")
1971 (("%q<mime-types>.*") "%q<mime-types>.freeze, [\">= 0\"])\n") 1966 (("%q<mime-types>.*") "%q<mime-types>.freeze, [\">= 0\"])\n")
1972 (("%q<rake>.*") "%q<rake>.freeze, [\">= 0\"])\n")) 1967 (("%q<rake>.*") "%q<rake>.freeze, [\">= 0\"])\n")
1968 (("12\\.3") "13.0"))
1973 #t))))) 1969 #t)))))
1974 (native-inputs 1970 (native-inputs
1975 `(("bundler" ,bundler) 1971 `(("bundler" ,bundler)
1976 ("ruby-simplecov" ,ruby-simplecov) 1972 ("ruby-bacon" ,ruby-bacon)
1973 ("ruby-bacon-colored-output" ,ruby-bacon-colored-output)
1977 ("ruby-json-pure" ,ruby-json-pure) 1974 ("ruby-json-pure" ,ruby-json-pure)
1978 ("ruby-mime-times" ,ruby-mime-types)
1979 ("ruby-yard" ,ruby-yard)
1980 ("ruby-kramdown" ,ruby-kramdown) 1975 ("ruby-kramdown" ,ruby-kramdown)
1976 ("ruby-mime-types" ,ruby-mime-types)
1977 ("ruby-racc" ,ruby-racc)
1981 ("ruby-rest-client" ,ruby-rest-client) 1978 ("ruby-rest-client" ,ruby-rest-client)
1982 ("ruby-bacon" ,ruby-bacon) 1979 ("ruby-simplecov" ,ruby-simplecov)
1983 ("ruby-bacon-colored-output" ,ruby-bacon-colored-output) 1980 ("ruby-yard" ,ruby-yard)))
1984 ("ruby-racc" ,ruby-racc)))
1985 (synopsis "Library for working with Abstract Syntax Trees") 1981 (synopsis "Library for working with Abstract Syntax Trees")
1986 (description 1982 (description
1987 "@code{ast} is a Ruby library for working with Abstract Syntax Trees. 1983 "@code{ast} is a Ruby library for working with Abstract Syntax Trees.
@@ -2104,8 +2100,6 @@ value is found.")
2104 (invoke "ruby" "-Ilib" "-Itest" "-rrubygems" file)) 2100 (invoke "ruby" "-Ilib" "-Itest" "-rrubygems" file))
2105 (find-files "test" ".*rb$"))) 2101 (find-files "test" ".*rb$")))
2106 #t))))) 2102 #t)))))
2107 (propagated-inputs
2108 `(("ruby-rexml" ,ruby-rexml)))
2109 (synopsis "Simple JSON and XML parsing for Ruby") 2103 (synopsis "Simple JSON and XML parsing for Ruby")
2110 (description 2104 (description
2111 "@code{crack} provides really simple JSON and XML parsing, extracted from 2105 "@code{crack} provides really simple JSON and XML parsing, extracted from
@@ -3755,13 +3749,13 @@ temporary files and directories during tests.")
3755(define-public ruby-test-unit 3749(define-public ruby-test-unit
3756 (package 3750 (package
3757 (name "ruby-test-unit") 3751 (name "ruby-test-unit")
3758 (version "3.2.5") 3752 (version "3.4.4")
3759 (source (origin 3753 (source (origin
3760 (method url-fetch) 3754 (method url-fetch)
3761 (uri (rubygems-uri "test-unit" version)) 3755 (uri (rubygems-uri "test-unit" version))
3762 (sha256 3756 (sha256
3763 (base32 3757 (base32
3764 "05bx36fw01iqz0xqhvjfrwjgnj1zx3b2vn6w1fzp19rchd7zqc52")))) 3758 "15isy7vhppbfd0032klirj9gxp65ygkzjdwrmm28xpirlcsk6qpd"))))
3765 (build-system ruby-build-system) 3759 (build-system ruby-build-system)
3766 (propagated-inputs 3760 (propagated-inputs
3767 `(("ruby-power-assert" ,ruby-power-assert))) 3761 `(("ruby-power-assert" ,ruby-power-assert)))
@@ -4299,13 +4293,13 @@ number, support for interrupted tests, better backtraces, and more.")
4299(define-public ruby-mocha 4293(define-public ruby-mocha
4300 (package 4294 (package
4301 (name "ruby-mocha") 4295 (name "ruby-mocha")
4302 (version "1.11.2") 4296 (version "1.13.0")
4303 (source (origin 4297 (source (origin
4304 (method url-fetch) 4298 (method url-fetch)
4305 (uri (rubygems-uri "mocha" version)) 4299 (uri (rubygems-uri "mocha" version))
4306 (sha256 4300 (sha256
4307 (base32 4301 (base32
4308 "0hxmkm8qxd04vwj8mqnpyrf2dwy7g1k9zipdfhl4y71cw7ijm9n4")))) 4302 "15s53ggsykk69kxqvs4416s8yxdhz6caggva55n8sjgy4ixzwp10"))))
4309 (build-system ruby-build-system) 4303 (build-system ruby-build-system)
4310 (arguments 4304 (arguments
4311 `(#:phases 4305 `(#:phases
@@ -4324,7 +4318,7 @@ number, support for interrupted tests, better backtraces, and more.")
4324 (description 4318 (description
4325 "Mocha is a mocking and stubbing library with JMock/SchMock syntax, which 4319 "Mocha is a mocking and stubbing library with JMock/SchMock syntax, which
4326allows mocking and stubbing of methods on real (non-mock) classes.") 4320allows mocking and stubbing of methods on real (non-mock) classes.")
4327 (home-page "http://gofreerange.com/mocha/docs") 4321 (home-page "https://mocha.jamesmead.org/")
4328 ;; Mocha can be used with either license at the users choice. 4322 ;; Mocha can be used with either license at the users choice.
4329 (license (list license:expat license:ruby)))) 4323 (license (list license:expat license:ruby))))
4330 4324
@@ -4404,13 +4398,13 @@ client protocol.")
4404(define-public ruby-minitest 4398(define-public ruby-minitest
4405 (package 4399 (package
4406 (name "ruby-minitest") 4400 (name "ruby-minitest")
4407 (version "5.12.2") 4401 (version "5.14.4")
4408 (source (origin 4402 (source (origin
4409 (method url-fetch) 4403 (method url-fetch)
4410 (uri (rubygems-uri "minitest" version)) 4404 (uri (rubygems-uri "minitest" version))
4411 (sha256 4405 (sha256
4412 (base32 4406 (base32
4413 "0zjm24aiz42i9n37mcw8lydd7n0y7wfk27by06jx77ypcld3qvkw")))) 4407 "19z7wkhg59y8abginfrm2wzplz7py3va8fyngiigngqvsws6cwgl"))))
4414 (build-system ruby-build-system) 4408 (build-system ruby-build-system)
4415 (native-inputs 4409 (native-inputs
4416 `(("ruby-hoe" ,ruby-hoe))) 4410 `(("ruby-hoe" ,ruby-hoe)))
@@ -4628,7 +4622,8 @@ MiniTest @code{Object#stub} with a global @code{stub} method.")
4628 "1hbq9jk904xkz868yha1bqcm6azm7kmjsll2k4pn2nrcib508h2a")))) 4622 "1hbq9jk904xkz868yha1bqcm6azm7kmjsll2k4pn2nrcib508h2a"))))
4629 (build-system ruby-build-system) 4623 (build-system ruby-build-system)
4630 (arguments 4624 (arguments
4631 `(#:phases 4625 `(#:tests? #f ; Test suite has bitrotted.
4626 #:phases
4632 (modify-phases %standard-phases 4627 (modify-phases %standard-phases
4633 (add-before 'check 'clean-dependencies 4628 (add-before 'check 'clean-dependencies
4634 (lambda _ 4629 (lambda _
@@ -4746,17 +4741,20 @@ minitest 5.12, and is planned to be removed from minitest 6.")
4746(define-public ruby-minitest-hooks 4741(define-public ruby-minitest-hooks
4747 (package 4742 (package
4748 (name "ruby-minitest-hooks") 4743 (name "ruby-minitest-hooks")
4749 (version "1.4.2") 4744 (version "1.5.0")
4750 (source 4745 (source
4751 (origin 4746 (origin
4752 (method url-fetch) 4747 (method url-fetch)
4753 (uri (rubygems-uri "minitest-hooks" version)) 4748 (uri (rubygems-uri "minitest-hooks" version))
4754 (sha256 4749 (sha256
4755 (base32 4750 (base32
4756 "0lnpvzijbjrvxjc43d155jnbk2mkfshrz22an711wh004scavlzc")))) 4751 "05z8r6sw3fz4s44fs1150ndlcmcy82vlxmhps5nncg8vk59k3gmf"))))
4757 (build-system ruby-build-system) 4752 (build-system ruby-build-system)
4758 (arguments 4753 (arguments
4759 '(#:test-target "spec")) 4754 '(#:test-target "spec"
4755 ;; Test suite is incompatible with ruby-2.7.
4756 ;; https://github.com/jeremyevans/minitest-hooks/issues/19
4757 #:tests? #f))
4760 (native-inputs 4758 (native-inputs
4761 `(("ruby-sequel" ,ruby-sequel) 4759 `(("ruby-sequel" ,ruby-sequel)
4762 ("ruby-sqlite3" ,ruby-sqlite3))) 4760 ("ruby-sqlite3" ,ruby-sqlite3)))
@@ -4970,7 +4968,7 @@ net/http library.")
4970(define-public ruby-multi-json 4968(define-public ruby-multi-json
4971 (package 4969 (package
4972 (name "ruby-multi-json") 4970 (name "ruby-multi-json")
4973 (version "1.13.1") 4971 (version "1.15.0")
4974 (source 4972 (source
4975 (origin 4973 (origin
4976 (method git-fetch) 4974 (method git-fetch)
@@ -4982,20 +4980,17 @@ net/http library.")
4982 (file-name (git-file-name name version)) 4980 (file-name (git-file-name name version))
4983 (sha256 4981 (sha256
4984 (base32 4982 (base32
4985 "18wpb6p01rrkl4v33byh70vxj2a5jxkfxzv3pz8z6pssy4ymwkm4")))) 4983 "0mkdvy6i00yyksjvnv6znh7wf89j9506qzzjq6bsbmbkyqrszp4d"))))
4986 (build-system ruby-build-system) 4984 (build-system ruby-build-system)
4987 (arguments 4985 (arguments
4988 `(#:phases 4986 `(#:phases
4989 (modify-phases %standard-phases 4987 (modify-phases %standard-phases
4990 (add-after 'unpack 'remove-signing-key-reference 4988 (add-before 'check 'pre-check
4991 (lambda _ 4989 (lambda _
4992 (substitute* "multi_json.gemspec" 4990 ;; As seen in the .travis.yml file.
4993 ((".*spec.signing_key.*") "")) 4991 (setenv "SKIP_ADAPTERS" "gson,jr_jackson,nsjsonserialization"))))))
4994 #t)))))
4995 (native-inputs 4992 (native-inputs
4996 `(("bundler" ,bundler) 4993 `(("ruby-rspec" ,ruby-rspec)
4997 ("ruby-rspec" ,ruby-rspec)
4998 ("ruby-yard" ,ruby-yard)
4999 ("ruby-json-pure" ,ruby-json-pure) 4994 ("ruby-json-pure" ,ruby-json-pure)
5000 ("ruby-oj" ,ruby-oj) 4995 ("ruby-oj" ,ruby-oj)
5001 ("ruby-yajl-ruby" ,ruby-yajl-ruby))) 4996 ("ruby-yajl-ruby" ,ruby-yajl-ruby)))
@@ -5971,13 +5966,13 @@ documentation for Ruby code.")
5971(define-public ruby-tins 5966(define-public ruby-tins
5972 (package 5967 (package
5973 (name "ruby-tins") 5968 (name "ruby-tins")
5974 (version "1.15.0") 5969 (version "1.29.1")
5975 (source (origin 5970 (source (origin
5976 (method url-fetch) 5971 (method url-fetch)
5977 (uri (rubygems-uri "tins" version)) 5972 (uri (rubygems-uri "tins" version))
5978 (sha256 5973 (sha256
5979 (base32 5974 (base32
5980 "09whix5a7ics6787zrkwjmp16kqyh6560p9f317syks785805f7s")))) 5975 "0nzp88y19rqlcizp1nw8m44fvfxs9g3bhjpscz44dwfawfrmr0cb"))))
5981 (build-system ruby-build-system) 5976 (build-system ruby-build-system)
5982 ;; This gem needs gem-hadar at development time, but gem-hadar needs tins 5977 ;; This gem needs gem-hadar at development time, but gem-hadar needs tins
5983 ;; at runtime. To avoid the dependency on gem-hadar we disable rebuilding 5978 ;; at runtime. To avoid the dependency on gem-hadar we disable rebuilding
@@ -5993,6 +5988,8 @@ documentation for Ruby code.")
5993 (substitute* "tins.gemspec" 5988 (substitute* "tins.gemspec"
5994 (("\"lib/spruz\", ") "")) 5989 (("\"lib/spruz\", ") ""))
5995 (invoke "gem" "build" "tins.gemspec")))))) 5990 (invoke "gem" "build" "tins.gemspec"))))))
5991 (propagated-inputs
5992 `(("ruby-sync" ,ruby-sync)))
5996 (synopsis "Assorted tools for Ruby") 5993 (synopsis "Assorted tools for Ruby")
5997 (description "Tins is a Ruby library providing assorted tools.") 5994 (description "Tins is a Ruby library providing assorted tools.")
5998 (home-page "https://github.com/flori/tins") 5995 (home-page "https://github.com/flori/tins")
@@ -6228,13 +6225,13 @@ a native C extension.")
6228(define-public ruby-json-pure 6225(define-public ruby-json-pure
6229 (package 6226 (package
6230 (name "ruby-json-pure") 6227 (name "ruby-json-pure")
6231 (version "2.2.0") 6228 (version "2.3.1")
6232 (source (origin 6229 (source (origin
6233 (method url-fetch) 6230 (method url-fetch)
6234 (uri (rubygems-uri "json_pure" version)) 6231 (uri (rubygems-uri "json_pure" version))
6235 (sha256 6232 (sha256
6236 (base32 6233 (base32
6237 "0m0j1mfwv0mvw72kzqisb26xjl236ivqypw1741dkis7s63b8439")))) 6234 "00pziwkfqwk8vj19s65sdki31q1wvmf5v9b3sfglxm94qfvas1lx"))))
6238 (build-system ruby-build-system) 6235 (build-system ruby-build-system)
6239 (arguments 6236 (arguments
6240 `(#:phases 6237 `(#:phases
@@ -6243,28 +6240,13 @@ a native C extension.")
6243 (lambda _ 6240 (lambda _
6244 (substitute* "Rakefile" 6241 (substitute* "Rakefile"
6245 ;; Since this is not a git repository, do not call 'git'. 6242 ;; Since this is not a git repository, do not call 'git'.
6246 (("`git ls-files`") "`find . -type f |sort`") 6243 (("`git ls-files`") "`find . -type f |sort`")))))))
6247 ;; Loosen dependency constraint.
6248 (("'test-unit', '~> 2.0'") "'test-unit', '>= 2.0'"))
6249 #t))
6250 (add-after 'replace-git-ls-files 'regenerate-gemspec
6251 (lambda _
6252 ;; Regenerate gemspec so loosened dependency constraints are
6253 ;; propagated.
6254 (invoke "rake" "gemspec")))
6255 (add-after 'regenerate-gemspec 'fix-json-java.gemspec
6256 (lambda _
6257 ;; This gemspec doesn't look to be generated by the above
6258 ;; command, so patch it separately.
6259 (substitute* "json-java.gemspec"
6260 (("%q<test-unit>\\.freeze, \\[\"~> 2\\.0\"\\]")
6261 "%q<test-unit>.freeze, [\">= 2.0\"]"))
6262 #t)))))
6263 (native-inputs 6244 (native-inputs
6264 `(("bundler" ,bundler) 6245 `(("bundler" ,bundler)
6265 ("ragel" ,ragel) 6246 ("ragel" ,ragel)
6266 ("ruby-simplecov" ,ruby-simplecov) 6247 ("ruby-simplecov" ,ruby-simplecov)
6267 ("ruby-test-unit" ,ruby-test-unit))) 6248 ("ruby-test-unit" ,ruby-test-unit)
6249 ("which" ,which)))
6268 (synopsis "JSON implementation in pure Ruby") 6250 (synopsis "JSON implementation in pure Ruby")
6269 (description 6251 (description
6270 "This package provides a JSON implementation written in pure Ruby.") 6252 "This package provides a JSON implementation written in pure Ruby.")
@@ -6531,6 +6513,24 @@ acceptable elements, attributes, and CSS properties, Sanitize will remove all
6531unacceptable HTML and/or CSS from a string.") 6513unacceptable HTML and/or CSS from a string.")
6532 (license license:expat))) 6514 (license license:expat)))
6533 6515
6516(define-public ruby-sync
6517 (package
6518 (name "ruby-sync")
6519 (version "0.5.0")
6520 (source
6521 (origin
6522 (method url-fetch)
6523 (uri (rubygems-uri "sync" version))
6524 (sha256
6525 (base32
6526 "1z9qlq4icyiv3hz1znvsq1wz2ccqjb1zwd6gkvnwg6n50z65d0v6"))))
6527 (build-system ruby-build-system)
6528 (synopsis "Ruby module with a two-phase lock and counter")
6529 (description "This package provides a Ruby module that provides a two-phase
6530lock with a counter.")
6531 (home-page "https://github.com/ruby/sync")
6532 (license license:bsd-2)))
6533
6534(define-public ruby-oj 6534(define-public ruby-oj
6535 (package 6535 (package
6536 (name "ruby-oj") 6536 (name "ruby-oj")
@@ -6652,31 +6652,6 @@ with PostgreSQL 9.0 and later.")
6652(define-public ruby-byebug 6652(define-public ruby-byebug
6653 (package 6653 (package
6654 (name "ruby-byebug") 6654 (name "ruby-byebug")
6655 (version "9.0.6")
6656 (source
6657 (origin
6658 (method url-fetch)
6659 (uri (rubygems-uri "byebug" version))
6660 (sha256
6661 (base32
6662 "1kbfcn65rgdhi72n8x9l393b89rvi5z542459k7d1ggchpb0idb0"))))
6663 (build-system ruby-build-system)
6664 (arguments
6665 '(#:tests? #f)) ; no tests
6666 (synopsis "Debugger for Ruby 2")
6667 (description "Byebug is a Ruby 2 debugger implemented using the Ruby 2
6668TracePoint C API for execution control and the Debug Inspector C API for call
6669stack navigation. The core component provides support that front-ends can
6670build on. It provides breakpoint handling and bindings for stack frames among
6671other things and it comes with a command line interface.")
6672 (home-page "https://github.com/deivid-rodriguez/byebug")
6673 (license license:bsd-2)))
6674
6675;;; TODO: Make it the default byebug in core-updates.
6676(define-public ruby-byebug-11
6677 (package
6678 (inherit ruby-byebug)
6679 (name "ruby-byebug")
6680 (version "11.1.3") 6655 (version "11.1.3")
6681 (source 6656 (source
6682 (origin 6657 (origin
@@ -6700,9 +6675,9 @@ other things and it comes with a command line interface.")
6700 (("load File\\.expand_path\\(\"bundle\".*") "") 6675 (("load File\\.expand_path\\(\"bundle\".*") "")
6701 (("require \"bundler/setup\".*") ""))) 6676 (("require \"bundler/setup\".*") "")))
6702 #t)))) 6677 #t))))
6678 (build-system ruby-build-system)
6703 (arguments 6679 (arguments
6704 `(#:tests? #t 6680 `(#:phases
6705 #:phases
6706 (modify-phases %standard-phases 6681 (modify-phases %standard-phases
6707 (add-after 'unpack 'skip-tmp-path-sensitive-test 6682 (add-after 'unpack 'skip-tmp-path-sensitive-test
6708 (lambda _ 6683 (lambda _
@@ -6713,6 +6688,12 @@ other things and it comes with a command line interface.")
6713 (add-before 'build 'compile 6688 (add-before 'build 'compile
6714 (lambda _ 6689 (lambda _
6715 (invoke "rake" "compile"))) 6690 (invoke "rake" "compile")))
6691 (add-before 'check 'disable-misbehaving-test
6692 ;; Expects 5, gets 162. From a file containing ~10 lines.
6693 (lambda _
6694 (substitute* "test/commands/finish_test.rb"
6695 (("test_finish_inside_autoloaded_files")
6696 "finish_inside_autoloaded_files"))))
6716 (add-before 'check 'set-home 6697 (add-before 'check 'set-home
6717 (lambda _ 6698 (lambda _
6718 (setenv "HOME" (getcwd)) 6699 (setenv "HOME" (getcwd))
@@ -6724,7 +6705,15 @@ other things and it comes with a command line interface.")
6724 ("ruby-pry" ,ruby-pry) 6705 ("ruby-pry" ,ruby-pry)
6725 ("ruby-rake-compiler" ,ruby-rake-compiler) 6706 ("ruby-rake-compiler" ,ruby-rake-compiler)
6726 ("ruby-rubocop" ,ruby-rubocop) 6707 ("ruby-rubocop" ,ruby-rubocop)
6727 ("ruby-yard" ,ruby-yard))))) 6708 ("ruby-yard" ,ruby-yard)))
6709 (synopsis "Debugger for Ruby 2")
6710 (description "Byebug is a Ruby 2 debugger implemented using the Ruby 2
6711TracePoint C API for execution control and the Debug Inspector C API for call
6712stack navigation. The core component provides support that front-ends can
6713build on. It provides breakpoint handling and bindings for stack frames among
6714other things and it comes with a command line interface.")
6715 (home-page "https://github.com/deivid-rodriguez/byebug")
6716 (license license:bsd-2)))
6728 6717
6729(define-public ruby-netrc 6718(define-public ruby-netrc
6730 (package 6719 (package
@@ -6746,8 +6735,11 @@ other things and it comes with a command line interface.")
6746 (lambda _ 6735 (lambda _
6747 (for-each (lambda (file) 6736 (for-each (lambda (file)
6748 (invoke "ruby" "-Itest" file)) 6737 (invoke "ruby" "-Itest" file))
6749 (find-files "./test" "test_.*\\.rb")) 6738 (find-files "./test" "test_.*\\.rb"))))
6750 #t))))) 6739 (add-before 'check 'patch-tests-for-newer-ruby
6740 (lambda _
6741 (substitute* "test/test_netrc.rb"
6742 (("Dir.pwd, '.netrc'") "Netrc.home_path, '.netrc'")))))))
6751 (native-inputs 6743 (native-inputs
6752 `(("ruby-minitest" ,ruby-minitest))) 6744 `(("ruby-minitest" ,ruby-minitest)))
6753 (synopsis "Library to read and update netrc files") 6745 (synopsis "Library to read and update netrc files")
@@ -6850,15 +6842,17 @@ differences (added or removed nodes) between two XML/HTML documents.")
6850(define-public ruby-racc 6842(define-public ruby-racc
6851 (package 6843 (package
6852 (name "ruby-racc") 6844 (name "ruby-racc")
6853 (version "1.4.14") 6845 (version "1.5.2")
6854 (source 6846 (source
6855 (origin 6847 (origin
6856 (method url-fetch) 6848 (method url-fetch)
6857 (uri (rubygems-uri "racc" version)) 6849 (uri (rubygems-uri "racc" version))
6858 (sha256 6850 (sha256
6859 (base32 6851 (base32
6860 "00yhs2ag7yy5v83mqvkbnhk9bvsh6mx3808k53n61ddzx446v1zl")))) 6852 "178k7r0xn689spviqzhvazzvxfq6fyjldxb3ywjbgipbfi4s8j1g"))))
6861 (build-system ruby-build-system) 6853 (build-system ruby-build-system)
6854 (arguments
6855 `(#:tests? #f)) ; Fails while parsing test instructions.
6862 (native-inputs 6856 (native-inputs
6863 `(("ruby-hoe" ,ruby-hoe) 6857 `(("ruby-hoe" ,ruby-hoe)
6864 ("ruby-rake-compiler" ,ruby-rake-compiler))) 6858 ("ruby-rake-compiler" ,ruby-rake-compiler)))
@@ -7225,35 +7219,38 @@ following: @code{[1, 2, 3, 4, 6, 8, 9, 10]} into @code{[1..4, 6..6, 8..10]}.")
7225 (license license:expat))) 7219 (license license:expat)))
7226 7220
7227(define-public ruby-regexp-property-values 7221(define-public ruby-regexp-property-values
7228 (package 7222 (let ((commit "03007a66c912949a7130b973cc0eca109c20811f")
7229 (name "ruby-regexp-property-values") 7223 (revision "1"))
7230 (version "1.0.0") 7224 (package
7231 (source 7225 (name "ruby-regexp-property-values")
7232 (origin 7226 (version (git-version "1.0.0" revision commit))
7233 (method git-fetch) 7227 (source
7234 (uri (git-reference ;no test suite in distributed gem 7228 (origin
7235 (url "https://github.com/jaynetics/regexp_property_values") 7229 (method git-fetch)
7236 (commit (string-append "v" version)))) 7230 (uri (git-reference ;no test suite in distributed gem
7237 (file-name (git-file-name name version)) 7231 (url "https://github.com/jaynetics/regexp_property_values")
7238 (sha256 7232 (commit commit)))
7239 (base32 7233 (file-name (git-file-name name version))
7240 "0l3fjmscg1wxn7kc6bl022cc6k5d91pwb7daq1b5w36kvsx52w1j")))) 7234 (sha256
7241 (build-system ruby-build-system) 7235 (base32
7242 (arguments 7236 "1zsax784p16zdkf60lyq9z924zvsafhx9ckxx9srsgkyiqrifi1s"))))
7243 '(#:test-target "default")) 7237 (build-system ruby-build-system)
7244 (native-inputs 7238 (arguments
7245 `(("ruby-character-set" ,ruby-character-set) 7239 '(#:test-target "default"))
7246 ("ruby-rake-compiler" ,ruby-rake-compiler) 7240 (native-inputs
7247 ("ruby-range-compressor" ,ruby-range-compressor) 7241 `(("ruby-character-set" ,ruby-character-set)
7248 ("ruby-rspec" ,ruby-rspec))) 7242 ("ruby-rake" ,ruby-rake)
7249 (synopsis "Inspect Ruby's regex engine property values") 7243 ("ruby-rake-compiler" ,ruby-rake-compiler)
7250 (description "This small library lets you see which property values are 7244 ("ruby-range-compressor" ,ruby-range-compressor)
7245 ("ruby-rspec" ,ruby-rspec)))
7246 (synopsis "Inspect Ruby's regex engine property values")
7247 (description "This small library lets you see which property values are
7251supported by the regular expression engine of the Ruby version you are running 7248supported by the regular expression engine of the Ruby version you are running
7252and can directly read out their code point ranges. In other words, it 7249and can directly read out their code point ranges. In other words, it
7253determines all supported values for @code{\\p{value}} expressions and what 7250determines all supported values for @code{\\p{value}} expressions and what
7254they match.") 7251they match.")
7255 (home-page "https://github.com/jaynetics/regexp_property_values") 7252 (home-page "https://github.com/jaynetics/regexp_property_values")
7256 (license license:expat))) 7253 (license license:expat))))
7257 7254
7258(define-public ruby-regexp-parser 7255(define-public ruby-regexp-parser
7259 (package 7256 (package
@@ -7384,7 +7381,6 @@ run.")
7384 ("ruby-parser" ,ruby-parser) 7381 ("ruby-parser" ,ruby-parser)
7385 ("ruby-rainbow" ,ruby-rainbow) 7382 ("ruby-rainbow" ,ruby-rainbow)
7386 ("ruby-regexp-parser" ,ruby-regexp-parser) 7383 ("ruby-regexp-parser" ,ruby-regexp-parser)
7387 ("ruby-rexml" ,ruby-rexml)
7388 ("ruby-rubocop-ast" ,ruby-rubocop-ast) 7384 ("ruby-rubocop-ast" ,ruby-rubocop-ast)
7389 ("ruby-progressbar" ,ruby-progressbar) 7385 ("ruby-progressbar" ,ruby-progressbar)
7390 ("ruby-unicode-display-width" ,ruby-unicode-display-width))) 7386 ("ruby-unicode-display-width" ,ruby-unicode-display-width)))
@@ -7665,7 +7661,7 @@ notes.")
7665 ("ruby-rubocop" ,ruby-rubocop) 7661 ("ruby-rubocop" ,ruby-rubocop)
7666 ("ruby-simplecov" ,ruby-simplecov))) 7662 ("ruby-simplecov" ,ruby-simplecov)))
7667 (propagated-inputs 7663 (propagated-inputs
7668 `(("ruby-byebug" ,ruby-byebug-11) 7664 `(("ruby-byebug" ,ruby-byebug)
7669 ("ruby-pry" ,ruby-pry))) 7665 ("ruby-pry" ,ruby-pry)))
7670 (synopsis "Step-by-step debugging and stack navigation in Pry") 7666 (synopsis "Step-by-step debugging and stack navigation in Pry")
7671 (description "This package adds step-by-step debugging and stack 7667 (description "This package adds step-by-step debugging and stack
@@ -7676,15 +7672,26 @@ navigation capabilities to @code{pry}, using @code{byebug}.")
7676(define-public ruby-stackprof 7672(define-public ruby-stackprof
7677 (package 7673 (package
7678 (name "ruby-stackprof") 7674 (name "ruby-stackprof")
7679 (version "0.2.16") 7675 (version "0.2.17")
7680 (source 7676 (source
7681 (origin 7677 (origin
7682 (method url-fetch) 7678 (method url-fetch)
7683 (uri (rubygems-uri "stackprof" version)) 7679 (uri (rubygems-uri "stackprof" version))
7684 (sha256 7680 (sha256
7685 (base32 7681 (base32 "06lz70k8c0r7fyxk1nc3idh14x7nvsr21ydm1bsmbj00jyhmfzsn"))))
7686 "147rb66p3n062vc433afqhkd99iazvkrqnghxgh871r62yhha93f"))))
7687 (build-system ruby-build-system) 7682 (build-system ruby-build-system)
7683 (arguments
7684 `(#:phases
7685 (modify-phases %standard-phases
7686 (add-before 'check 'skip-dubious-test
7687 ;; This unreliable test can fail with "Expected 0 to be >= 1."
7688 (lambda _
7689 (substitute* "test/test_stackprof.rb"
7690 (("def test_(cputime)" _ name)
7691 (string-append "def skip_" name)))))
7692 (add-before 'check 'build-tests
7693 (lambda _
7694 (invoke "rake" "compile"))))))
7688 (native-inputs 7695 (native-inputs
7689 `(("ruby-mocha" ,ruby-mocha) 7696 `(("ruby-mocha" ,ruby-mocha)
7690 ("ruby-rake-compiler" ,ruby-rake-compiler))) 7697 ("ruby-rake-compiler" ,ruby-rake-compiler)))
@@ -7763,14 +7770,14 @@ variable length integers (varint) in Ruby Protocol Buffers.")
7763(define-public ruby-ruby-prof 7770(define-public ruby-ruby-prof
7764 (package 7771 (package
7765 (name "ruby-ruby-prof") 7772 (name "ruby-ruby-prof")
7766 (version "1.4.1") 7773 (version "1.4.3")
7767 (source 7774 (source
7768 (origin 7775 (origin
7769 (method url-fetch) 7776 (method url-fetch)
7770 (uri (rubygems-uri "ruby-prof" version)) 7777 (uri (rubygems-uri "ruby-prof" version))
7771 (sha256 7778 (sha256
7772 (base32 7779 (base32
7773 "12cd91m08ih0imfpy4k87618hd4mhyz291a6bx2hcskza4nf6d27")))) 7780 "1r3xalp91l07m0cwllcxjzg6nkviiqnxkcbgg5qnzsdji6rgy65m"))))
7774 (build-system ruby-build-system) 7781 (build-system ruby-build-system)
7775 (arguments 7782 (arguments
7776 `(#:phases 7783 `(#:phases
@@ -9942,14 +9949,14 @@ generation.")
9942(define-public ruby-sequel 9949(define-public ruby-sequel
9943 (package 9950 (package
9944 (name "ruby-sequel") 9951 (name "ruby-sequel")
9945 (version "4.49.0") 9952 (version "5.47.0")
9946 (source 9953 (source
9947 (origin 9954 (origin
9948 (method url-fetch) 9955 (method url-fetch)
9949 (uri (rubygems-uri "sequel" version)) 9956 (uri (rubygems-uri "sequel" version))
9950 (sha256 9957 (sha256
9951 (base32 9958 (base32
9952 "010p4a60npppvgbyw7pq5xia8aydpgxdlhh3qjm2615kwjsw3fl8")))) 9959 "03pmhj4kc3ga75wy397l57bvd18jxxmrk3qsznjw93b993qgvj3z"))))
9953 (build-system ruby-build-system) 9960 (build-system ruby-build-system)
9954 (arguments 9961 (arguments
9955 '(#:tests? #f)) ; Avoid dependency loop with ruby-minitest-hooks. 9962 '(#:tests? #f)) ; Avoid dependency loop with ruby-minitest-hooks.
@@ -10657,7 +10664,8 @@ the @file{spec} directory.")
10657 `(("ruby-sass-listen" ,ruby-sass-listen))) 10664 `(("ruby-sass-listen" ,ruby-sass-listen)))
10658 (native-inputs 10665 (native-inputs
10659 `(("ruby-sass-spec" ,ruby-sass-spec) 10666 `(("ruby-sass-spec" ,ruby-sass-spec)
10660 ("ruby-mathn" ,ruby-mathn))) 10667 ("ruby-mathn" ,ruby-mathn)
10668 ("ruby-cmath" ,ruby-cmath)))
10661 (home-page "https://sass-lang.com/") 10669 (home-page "https://sass-lang.com/")
10662 (synopsis "CSS extension language") 10670 (synopsis "CSS extension language")
10663 (description "Sass is a CSS extension language. It extends CSS with 10671 (description "Sass is a CSS extension language. It extends CSS with
@@ -12443,3 +12451,28 @@ resource assignment, cost and revenue planning, risk and communication
12443management, status tracking and reporting.") 12451management, status tracking and reporting.")
12444 (home-page "https://taskjuggler.org") 12452 (home-page "https://taskjuggler.org")
12445 (license license:gpl2))) 12453 (license license:gpl2)))
12454
12455(define-public ruby-cmath
12456 (package
12457 (name "ruby-cmath")
12458 (version "1.0.0")
12459 (source
12460 (origin
12461 (method url-fetch)
12462 (uri (rubygems-uri "cmath" version))
12463 (sha256
12464 (base32
12465 "1xkz6xyhpkjbdvpdib8450w62rls1mjryz0gzbbnadxkxn82nb8m"))))
12466 (build-system ruby-build-system)
12467 (arguments
12468 `(#:tests? #false))
12469 (native-inputs
12470 `(("bundler" ,bundler)
12471 ("ruby-rake-compiler" ,ruby-rake-compiler)))
12472 (synopsis "Trigonometric functions for complex numbers")
12473 (description
12474 "This gem is a library that provides trigonometric and transcendental
12475functions for complex numbers. The functions in this module accept integers,
12476floating-point numbers or complex numbers as arguments.")
12477 (home-page "https://github.com/ruby/cmath")
12478 (license license:bsd-2)))