X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/a7ca218cd51ecaeeeb82f3c27e55359364fc11f3..58087bdddcbe6abe4240dce8e6fc660e83abb4c7:/gnu/packages/ruby.scm diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index a893ca7f03..34387e5754 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -49,8 +49,8 @@ (define-public ruby (package (name "ruby") - (replacement ruby-2.4.1) - (version "2.4.0") + (replacement ruby-2.4.3) + (version "2.4.2") (source (origin (method url-fetch) @@ -59,7 +59,7 @@ "/ruby-" version ".tar.xz")) (sha256 (base32 - "141nnsdk2q83c23p5kl404id8gy1ap261gin48rbjj5sbksgx1rs")) + "0dgp4ypk3smrsbh2c249n5pl6nqhpd2igq9484dbsh81sf08k2kl")) (modules '((guix build utils))) (snippet `(begin ;; Remove bundled libffi @@ -103,11 +103,11 @@ a focus on simplicity and productivity.") (home-page "https://ruby-lang.org") (license license:ruby))) -(define-public ruby-2.4.1 +(define-public ruby-2.4.3 (package (inherit ruby) (name "ruby") - (version "2.4.1") + (version "2.4.3") (source (origin (method url-fetch) @@ -116,7 +116,7 @@ a focus on simplicity and productivity.") "/ruby-" version ".tar.xz")) (sha256 (base32 - "0m763zf2v0jhrha3cx21g4dif6vc9gm714invs8h3sg35ncskj2g")) + "0l9bv67dgsphk42lmiskhrnh47hbyj6rfg2rcjx22xivpx07srr3")) (modules '((guix build utils))) (snippet `(begin ;; Remove bundled libffi @@ -126,7 +126,7 @@ a focus on simplicity and productivity.") (define-public ruby-2.3 (package (inherit ruby) - (version "2.3.4") + (version "2.3.6") (source (origin (method url-fetch) @@ -135,7 +135,7 @@ a focus on simplicity and productivity.") "/ruby-" version ".tar.xz")) (sha256 (base32 - "132p5kc1sx97svbx04g40pz5pr7p8f6jlmnq5r2prlcz5q1xj71l")) + "0mlz0mk7yyxia37k8fdv8m8a72h61nfbns28430h796l4an6kng0")) (modules '((guix build utils))) (snippet `(begin ;; Remove bundled libffi @@ -144,7 +144,7 @@ a focus on simplicity and productivity.") (define-public ruby-2.2 (package (inherit ruby) - (version "2.2.7") + (version "2.2.9") (source (origin (method url-fetch) @@ -153,7 +153,7 @@ a focus on simplicity and productivity.") "/ruby-" version ".tar.xz")) (sha256 (base32 - "0lyb7gnbbhs3a3v9grsjgbaixm20wxz6x3h0czyrxnj3cpp8lk13")))))) + "0p18xykx8dm5mmlx5n5243z67lj4vbvwr70bnc5x12am22ql8fri")))))) (define-public ruby-2.1 (package (inherit ruby) @@ -171,16 +171,16 @@ a focus on simplicity and productivity.") `(#:test-target "test" #:parallel-tests? #f #:phases - (alist-cons-before - 'configure 'replace-bin-sh - (lambda _ - (substitute* '("Makefile.in" - "ext/pty/pty.c" - "io.c" - "lib/mkmf.rb" - "process.c") - (("/bin/sh") (which "sh")))) - %standard-phases))) + (modify-phases %standard-phases + (add-before 'configure 'replace-bin-sh + (lambda _ + (substitute* '("Makefile.in" + "ext/pty/pty.c" + "io.c" + "lib/mkmf.rb" + "process.c") + (("/bin/sh") (which "sh"))) + #t))))) (native-search-paths (list (search-path-specification (variable "GEM_PATH") @@ -205,16 +205,47 @@ a focus on simplicity and productivity.") `(#:test-target "test" #:parallel-tests? #f #:phases - (alist-cons-before - 'configure 'replace-bin-sh - (lambda _ - (substitute* '("Makefile.in" - "ext/pty/pty.c" - "io.c" - "lib/mkmf.rb" - "process.c") - (("/bin/sh") (which "sh")))) - %standard-phases))))) + (modify-phases %standard-phases + (add-before 'configure 'replace-bin-sh + (lambda _ + (substitute* '("Makefile.in" + "ext/pty/pty.c" + "io.c" + "lib/mkmf.rb" + "process.c") + (("/bin/sh") (which "sh"))) + #t))))))) + +(define (gem-directory ruby-version) + "Return the relative gem install directory for RUBY-VERSION." + (string-append "/lib/ruby/gems/" (version-major+minor ruby-version) + ".0/gems")) + +(define-public ruby-highline + (package + (name "ruby-highline") + (version "1.7.8") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "highline" version)) + (sha256 + (base32 + "1nf5lgdn6ni2lpfdn4gk3gi47fmnca2bdirabbjbz1fk9w4p8lkr")))) + (build-system ruby-build-system) + (arguments + `(#:tests? #f)) ;; TODO: NameError: uninitialized constant SPEC + (native-inputs + `(("bundler" ,bundler) + ("ruby-code-statistics" ,ruby-code-statistics))) + (synopsis + "HighLine helps you build command-line interfaces") + (description + "HighLine provides a high-level IO library that provides validation, +type conversion, and more for command-line interfaces. HighLine also includes +a menu system for providing multiple options to the user.") + (home-page "https://github.com/JEG2/highline") + (license (list license:gpl2 license:ruby)))) (define-public ruby-hoe (package @@ -240,13 +271,13 @@ announcement.") (define-public ruby-rake-compiler (package (name "ruby-rake-compiler") - (version "1.0.1") + (version "1.0.4") (source (origin (method url-fetch) (uri (rubygems-uri "rake-compiler" version)) (sha256 (base32 - "1lf91nf1fcnmsh54mxz06wyfmjkwh58vljr35zns5cwbg8fwmi20")))) + "1xpdi4w8zaklk1i9ps8g3k0icw3v5fcks092l84w28rgrpx82qip")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; needs cucumber @@ -335,13 +366,13 @@ groups.") (define-public ruby-diff-lcs (package (name "ruby-diff-lcs") - (version "1.2.5") + (version "1.3") (source (origin (method url-fetch) (uri (rubygems-uri "diff-lcs" version)) (sha256 (base32 - "1vf9civd41bnqi6brr5d9jifdw73j9khc6fkhfl1f8r9cpkdvlx1")))) + "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; avoid dependency cycles @@ -464,13 +495,13 @@ expectations and mocks frameworks.") (define-public bundler (package (name "bundler") - (version "1.15.3") + (version "1.15.4") (source (origin (method url-fetch) (uri (rubygems-uri "bundler" version)) (sha256 (base32 - "125amldnpzzrfw76mmr7mlx002k1k6xdyrqf5bdnzl5hajvn0s5f")))) + "0wl4r7wbwdq68xidfv4hhzfb1spb6lmhbspwlzrg4pf1l6ipxlgs")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; avoid dependency cycles @@ -509,13 +540,13 @@ supported: XML Markup and XML Events.") (define-public ruby-rjb (package (name "ruby-rjb") - (version "1.5.3") + (version "1.5.5") (source (origin (method url-fetch) (uri (rubygems-uri "rjb" version)) (sha256 (base32 - "0gzs92dagk981s4vrymnqg0vll783b9k564j0cdgp167nc5a2zg4")))) + "1ppj8rbicj3w0nhh7f73mflq19yd7pzdzkh2a91hcvphriy5b0ca")))) (build-system ruby-build-system) (arguments `(#:tests? #f ; no rakefile @@ -660,6 +691,34 @@ complexity.") (home-page "https://github.com/ThoughtWorksStudios/saikuro_treemap") (license license:expat))) +(define-public ruby-options + (package + (name "ruby-options") + (version "2.3.2") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "options" version)) + (sha256 + (base32 + "1s650nwnabx66w584m1cyw82icyym6hv5kzfsbp38cinkr5klh9j")))) + (build-system ruby-build-system) + (arguments + '(#:tests? #f ;; TODO: NameError: uninitialized constant Config + #:phases + (modify-phases %standard-phases + (add-before 'check 'set-LIB + (lambda _ + ;; This is used in the Rakefile, and setting it avoids an issue + ;; with running the tests. + (setenv "LIB" "options")))))) + (synopsis "Ruby library to parse options from *args cleanly") + (description + "The @code{options} library helps with parsing keyword options in Ruby +functions.") + (home-page "https://github.com/ahoward/options") + (license license:ruby))) + (define-public ruby-orderedhash (package (name "ruby-orderedhash") @@ -683,14 +742,14 @@ extensions.") (define-public ruby-libxml (package (name "ruby-libxml") - (version "2.8.0") + (version "3.0.0") (source (origin (method url-fetch) (uri (rubygems-uri "libxml-ruby" version)) (sha256 (base32 - "1dhjqp4r9vkdp00l6h1cj8qfndzxlhlxk6b9g0w4v55gz857ilhb")))) + "0xy8wmjwjcnv36zi042678ncjzpxvy351ccbv7mzkns2n3kxfp54")))) (build-system ruby-build-system) (inputs `(("zlib" ,zlib) @@ -730,13 +789,13 @@ Ruby.") (define-public ruby-thor (package (name "ruby-thor") - (version "0.19.1") + (version "0.19.4") (source (origin (method url-fetch) (uri (rubygems-uri "thor" version)) (sha256 (base32 - "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z")))) + "01n5dv9kql60m6a00zc0r66jvaxx98qhdny3klyj0p3w34pad2ns")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; no test suite @@ -751,13 +810,13 @@ interfaces.") (define-public ruby-lumberjack (package (name "ruby-lumberjack") - (version "1.0.10") + (version "1.0.12") (source (origin (method url-fetch) (uri (rubygems-uri "lumberjack" version)) (sha256 (base32 - "0ily8j83q959w19zb7qm6m7y53sdj9afxj4x6mn2adl4i7vpdsv4")))) + "0yz26k9mi0djx1qvlmvdw1xw2yf7a2rkfmnb2j0d28kms33xpibp")))) (build-system ruby-build-system) (native-inputs `(("ruby-rspec" ,ruby-rspec) @@ -773,13 +832,13 @@ same log file.") (define-public ruby-nenv (package (name "ruby-nenv") - (version "0.2.0") + (version "0.3.0") (source (origin (method url-fetch) (uri (rubygems-uri "nenv" version)) (sha256 (base32 - "152wxwri0afwgnxdf93gi6wjl9rr5z7vwp8ln0gpa3rddbfc27s6")))) + "0r97jzknll9bhd8yyg2bngnnkj8rjhal667n7d32h8h7ny7nvpnr")))) (build-system ruby-build-system) (arguments `(#:tests? #f)) ; no tests included @@ -947,44 +1006,51 @@ Ruby Gems.") (home-page "https://github.com/postmodern/rubygems-tasks") (license license:expat))) -(define-public ruby-ffi +(define-public ruby-rubyzip (package - (name "ruby-ffi") - (version "1.9.18") - (source (origin - (method url-fetch) - (uri (rubygems-uri "ffi" version)) - (sha256 - (base32 - "034f52xf7zcqgbvwbl20jwdyjwznvqnwpbaps9nk18v9lgb1dpx0")))) - (build-system ruby-build-system) - ;; FIXME: Before running tests the build system attempts to build libffi - ;; from sources. - (arguments `(#:tests? #f)) - (native-inputs - `(("ruby-rake-compiler" ,ruby-rake-compiler) - ("ruby-rspec" ,ruby-rspec) - ("ruby-rubygems-tasks" ,ruby-rubygems-tasks))) - (inputs - `(("libffi" ,libffi))) - (synopsis "Ruby foreign function interface library") - (description "Ruby-FFI is a Ruby extension for programmatically loading -dynamic libraries, binding functions within them, and calling those functions -from Ruby code. Moreover, a Ruby-FFI extension works without changes on Ruby -and JRuby.") - (home-page "http://wiki.github.com/ffi/ffi") - (license license:bsd-3))) + (name "ruby-rubyzip") + (version "1.2.1") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "rubyzip" version)) + (sha256 + (base32 + "06js4gznzgh8ac2ldvmjcmg9v1vg9llm357yckkpylaj6z456zqz")))) + (build-system ruby-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-before 'check 'patch-tests + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "test/gentestfiles.rb" + (("/usr/bin/zip") + (string-append + (assoc-ref inputs "zip") "/bin/zip"))) + (substitute* "test/input_stream_test.rb" + (("/usr/bin/env ruby") (which "ruby"))) + #t))))) + (native-inputs + `(("bundler" ,bundler) + ("ruby-simplecov" ,ruby-simplecov) + ("zip" ,zip) + ("unzip" ,unzip))) + (synopsis "Ruby module is for reading and writing zip files") + (description + "The rubyzip module provides ways to read from and create zip files.") + (home-page "http://github.com/rubyzip/rubyzip") + (license license:bsd-2))) (define-public ruby-simplecov-html (package (name "ruby-simplecov-html") - (version "0.10.0") + (version "0.10.1") (source (origin (method url-fetch) (uri (rubygems-uri "simplecov-html" version)) (sha256 (base32 - "1qni8g0xxglkx25w54qcfbi4wjkpvmb28cb7rj5zk3iqynjcdrqf")))) + "0f3psphismgp6jp1fxxz09zbswh7m2xxxr6gqlzdh7sgv415clvm")))) (build-system ruby-build-system) (arguments `(#:tests? #f)) ; there are no tests (native-inputs @@ -1025,13 +1091,13 @@ suites.") (define-public ruby-useragent (package (name "ruby-useragent") - (version "0.13.3") + (version "0.16.8") (source (origin (method url-fetch) (uri (rubygems-uri "useragent" version)) (sha256 (base32 - "0kz7yyz7528bv4a2kfymvkcm8whqcddhmgaw1ksw1d90n30hhkpc")))) + "1139cjqyv1hk1qcw89k81ajjkqyakqgbcyvmfrsmjqi8yn9kgqhq")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; no test suite @@ -1061,13 +1127,13 @@ features.") (define-public ruby-connection-pool (package (name "ruby-connection-pool") - (version "2.2.0") + (version "2.2.1") (source (origin (method url-fetch) (uri (rubygems-uri "connection_pool" version)) (sha256 (base32 - "1b2bb3k39ni5mzcnqlv9y4yjkbin20s7dkwzp0jw2jf1rmzcgrmy")))) + "17vpaj6kyf2i8bimaxz7rg1kyadf4d10642ja67qiqlhwgczl2w7")))) (build-system ruby-build-system) (native-inputs `(("bundler" ,bundler))) @@ -1080,13 +1146,13 @@ interface for Ruby programs.") (define-public ruby-net-http-persistent (package (name "ruby-net-http-persistent") - (version "2.9.4") + (version "3.0.0") (source (origin (method url-fetch) (uri (rubygems-uri "net-http-persistent" version)) (sha256 (base32 - "1y9fhaax0d9kkslyiqi1zys6cvpaqx9a0y0cywp24rpygwh4s9r4")))) + "156rv95bgxfz6qw5y1r7c7bswr77918hygl8dyl14qzbqc5vyp18")))) (build-system ruby-build-system) (native-inputs `(("ruby-connection-pool" ,ruby-connection-pool) @@ -1191,13 +1257,13 @@ use GNU gettext tools for maintenance.") (define-public ruby-packnga (package (name "ruby-packnga") - (version "1.0.1") + (version "1.0.4") (source (origin (method url-fetch) (uri (rubygems-uri "packnga" version)) (sha256 (base32 - "1i71yhvlkvi5fp3m8jl9317cnddkbnrcy0syrmiw4y1lrq0cbncj")))) + "1vv2j0i43s4xid2km5hgrrxqlqpwgq8nlm8kaxfg2531c1vwfsd4")))) (build-system ruby-build-system) ;; ruby-test-unit is required to run tests, but that needs ruby-packnga. ;; To break the dependency cycle we disable tests. @@ -1216,13 +1282,13 @@ use GNU gettext tools for maintenance.") (define-public ruby-test-unit (package (name "ruby-test-unit") - (version "3.2.4") + (version "3.2.5") (source (origin (method url-fetch) (uri (rubygems-uri "test-unit" version)) (sha256 (base32 - "09mb34lnffracsqxl4dav4c21p5nr4pj9hm5qy2s83k5hbjya3s7")))) + "05bx36fw01iqz0xqhvjfrwjgnj1zx3b2vn6w1fzp19rchd7zqc52")))) (build-system ruby-build-system) (propagated-inputs `(("ruby-power-assert" ,ruby-power-assert))) @@ -1345,13 +1411,13 @@ knowing anything about the constructor.") (define-public ruby-introspection (package (name "ruby-introspection") - (version "0.0.3") + (version "0.0.4") (source (origin (method url-fetch) (uri (rubygems-uri "introspection" version)) (sha256 (base32 - "0g1j71sqfxbqk32wj7d0bkd3dlayfqzprfq3dbr0rq107xbxjcrr")))) + "1y2nbijkc0zlfmn9ss6588ilarq2kbn2i7w7pwwsli66dj84zgca")))) (build-system ruby-build-system) (arguments `(#:phases @@ -1563,13 +1629,13 @@ easier to re-run individual failing tests.") (define-public ruby-minitest-bacon (package (name "ruby-minitest-bacon") - (version "1.0.2") + (version "1.0.3") (source (origin (method url-fetch) (uri (rubygems-uri "minitest-bacon" version)) (sha256 (base32 - "0cm7r68422743i3b6fm4rrm0r6cnnjmglq5gcmmgl1f0rk5hnf6r")))) + "0zhdwcl6bgha61qiyfvr7zs7ywaxc33wmj9xhxl8jdmpdvifvfaj")))) (build-system ruby-build-system) (native-inputs `(("ruby-hoe" ,ruby-hoe))) @@ -1679,14 +1745,14 @@ MiniTest @code{Object#stub} with a global @code{stub} method.") (define-public ruby-minitest-bonus-assertions (package (name "ruby-minitest-bonus-assertions") - (version "2.0") + (version "3.0") (source (origin (method url-fetch) (uri (rubygems-uri "minitest-bonus-assertions" version)) (sha256 (base32 - "11nrd32kwy61ndg9csk7l1ifya79ghrrv3vsrxj57k50m7na6jkm")))) + "1hbq9jk904xkz868yha1bqcm6azm7kmjsll2k4pn2nrcib508h2a")))) (build-system ruby-build-system) (arguments `(#:phases @@ -1739,14 +1805,14 @@ instance, it provides @code{assert_true}, @code{assert_false} and (define-public ruby-minitest-hooks (package (name "ruby-minitest-hooks") - (version "1.4.0") + (version "1.4.1") (source (origin (method url-fetch) (uri (rubygems-uri "minitest-hooks" version)) (sha256 (base32 - "092fymh0c09v3a585qw3hc15b0zf159s74rxx1ga87drk5jr958z")))) + "05bngfyxwq1cflk568nhddgfrmws5ff6kiqax4skklsjnh71ykbi")))) (build-system ruby-build-system) (arguments '(#:test-target "spec")) @@ -1766,13 +1832,13 @@ for specs that share expensive database setup code.") (define-public ruby-daemons (package (name "ruby-daemons") - (version "1.2.2") + (version "1.2.4") (source (origin (method url-fetch) (uri (rubygems-uri "daemons" version)) (sha256 (base32 - "121c7vkimg3baxga69xvdkwxiq8wkmxqvdbyqi5i82vhih5d3cn3")))) + "1bmb4qrd95b5gl3ym5j3q6mf090209f4vkczggn49n56w6s6zldz")))) (build-system ruby-build-system) (arguments `(#:tests? #f)) ; no test suite @@ -1785,13 +1851,13 @@ run as a daemon and to be controlled by simple start/stop/restart commands.") (define-public ruby-git (package (name "ruby-git") - (version "1.2.9.1") + (version "1.3.0") (source (origin (method url-fetch) (uri (rubygems-uri "git" version)) (sha256 (base32 - "1sqfj8lmhl7c5zamcckkpik4izfph2zkv6krw0i8mzj5pdws5acs")))) + "1waikaggw7a1d24nw0sh8fd419gbf7awh000qhsf411valycj6q3")))) (build-system ruby-build-system) (arguments `(#:tests? #f ; no tests @@ -1865,6 +1931,28 @@ net/http library.") (home-page "https://github.com/nicksieger/multipart-post") (license license:expat))) +(define-public ruby-multi-json + (package + (name "ruby-multi-json") + (version "1.12.2") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "multi_json" version)) + (sha256 + (base32 + "1raim9ddjh672m32psaa9niw67ywzjbxbdb8iijx3wv9k5b0pk2x")))) + (build-system ruby-build-system) + (arguments + '(#:tests? #f)) ;; No testsuite included in the gem. + (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") + (license license:expat))) + (define-public ruby-arel (package (name "ruby-arel") @@ -1996,17 +2084,19 @@ both CSS3 selector and XPath 1.0 support.") (define-public ruby-method-source (package (name "ruby-method-source") - (version "0.8.2") + (version "0.9.0") (source (origin (method url-fetch) (uri (rubygems-uri "method_source" version)) (sha256 (base32 - "1g5i4w0dmlhzd18dijlqw5gk27bv6dj2kziqzrzb7mpgxgsd1sf2")))) + "0xqj21j3vfq4ldia6i2akhn2qd84m0iqcnsl49kfpq3xk6x0dzgn")))) (build-system ruby-build-system) + (arguments + `(#:test-target "spec")) (native-inputs - `(("ruby-bacon" ,ruby-bacon) + `(("ruby-rspec" ,ruby-rspec) ("git" ,git))) (synopsis "Retrieve the source code for Ruby methods") (description "Method_source retrieves the source code for Ruby methods. @@ -2018,14 +2108,14 @@ extract comments.") (define-public ruby-coderay (package (name "ruby-coderay") - (version "1.1.1") + (version "1.1.2") (source (origin (method url-fetch) (uri (rubygems-uri "coderay" version)) (sha256 (base32 - "1x6z923iwr1hi04k6kz5a6llrixflz8h5sskl9mhaaxy9jx2x93r")))) + "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; missing test files @@ -2035,24 +2125,54 @@ for select languages.") (home-page "http://coderay.rubychan.de") (license license:expat))) +(define-public ruby-progress_bar + (package + (name "ruby-progress_bar") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "progress_bar" version)) + (sha256 + (base32 + "1qc40mr6p1z9a3vlpnsg1zfgk1qswviql2a31y63wpv3vr6b5f48")))) + (build-system ruby-build-system) + (arguments + '(#:test-target "spec")) + (propagated-inputs + `(("ruby-highline" ,ruby-highline) + ("ruby-options" ,ruby-options))) + (native-inputs + `(("bundler" ,bundler) + ("ruby-rspec" ,ruby-rspec) + ("ruby-timecop" ,ruby-timecop))) + (synopsis + "Ruby library for displaying progress bars") + (description + "ProgressBar is a simple library for displaying progress bars. The +maximum value is configurable, and additional information can be displayed +like the percentage completion, estimated time remaining, elapsed time and +rate.") + (home-page "https://github.com/paul/progress_bar") + (license license:wtfpl2))) + (define-public ruby-pry (package (name "ruby-pry") - (version "0.10.4") + (version "0.11.1") (source (origin (method url-fetch) (uri (rubygems-uri "pry" version)) (sha256 (base32 - "05xbzyin63aj2prrv8fbq2d5df2mid93m81hz5bvf2v4hnzs42ar")))) + "0ci461a55sn50rlrmcl97ycf79681glp443a2gzp23rnm7y70fkj")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; no tests (propagated-inputs `(("ruby-coderay" ,ruby-coderay) - ("ruby-method-source" ,ruby-method-source) - ("ruby-slop" ,ruby-slop-3))) + ("ruby-method-source" ,ruby-method-source))) (synopsis "Ruby REPL") (description "Pry is an IRB alternative and runtime developer console for Ruby. It features syntax highlighting, a plugin architecture, runtime @@ -2111,14 +2231,14 @@ file or directories are modified.") (define-public ruby-thread-safe (package (name "ruby-thread-safe") - (version "0.3.5") + (version "0.3.6") (source (origin (method url-fetch) (uri (rubygems-uri "thread_safe" version)) (sha256 (base32 - "1hq46wqsyylx5afkp6jmcihdpv4ynzzq9ygb6z2pb1cbz5js0gcr")))) + "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; needs simplecov, among others @@ -2274,13 +2394,13 @@ documentation for Ruby code.") (define-public ruby-tins (package (name "ruby-tins") - (version "1.7.0") + (version "1.15.0") (source (origin (method url-fetch) (uri (rubygems-uri "tins" version)) (sha256 (base32 - "1060h8dgnjl9az0sv1b74yrni8d4mh3x858wq6yfbfdf5dxrfl0a")))) + "09whix5a7ics6787zrkwjmp16kqyh6560p9f317syks785805f7s")))) (build-system ruby-build-system) ;; This gem needs gem-hadar at development time, but gem-hadar needs tins ;; at runtime. To avoid the dependency on gem-hadar we disable rebuilding @@ -2384,13 +2504,13 @@ Ruby's large and slower test/unit.") (define-public ruby-term-ansicolor (package (name "ruby-term-ansicolor") - (version "1.3.2") + (version "1.6.0") (source (origin (method url-fetch) (uri (rubygems-uri "term-ansicolor" version)) (sha256 (base32 - "0ydbbyjmk5p7fsi55ffnkq79jnfqx65c3nj8d9rpgl6sw85ahyys")))) + "1b1wq9ljh7v3qyxkk8vik2fqx2qzwh5lval5f92llmldkw7r7k7b")))) (build-system ruby-build-system) ;; Rebuilding the gemspec seems to require git, even though this is not a ;; git repository, so we just build the gem from the existing gemspec. @@ -2543,14 +2663,14 @@ a native C extension.") (define-public ruby-listen (package (name "ruby-listen") - (version "3.0.3") + (version "3.1.5") (source (origin (method url-fetch) (uri (rubygems-uri "listen" version)) (sha256 (base32 - "10lhshjklxlrkw7999j0xl6sdxd4x32kiy8rp88jwr68kis5vq2b")))) + "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; no tests (propagated-inputs @@ -2565,14 +2685,14 @@ you about the changes.") (define-public ruby-activesupport (package (name "ruby-activesupport") - (version "5.1.3") + (version "5.1.4") (source (origin (method url-fetch) (uri (rubygems-uri "activesupport" version)) (sha256 (base32 - "16r18n6b1nlky0xx2lw8c1f15gr2vm34xz5g4byjcxf88m1s07xh")))) + "0sgf4rsfr7jcaqsx0wwzx4l4k9xsjlwv0mzl08pxiyp1qzyx8scr")))) (build-system ruby-build-system) (arguments `(#:phases @@ -2713,14 +2833,14 @@ unacceptable HTML and/or CSS from a string.") (define-public ruby-ox (package (name "ruby-ox") - (version "2.5.0") + (version "2.6.0") (source (origin (method url-fetch) (uri (rubygems-uri "ox" version)) (sha256 (base32 - "0rar0xr5qn3zac1r2z18kmpapx121c2l3z8jsgh60vsddwzpdh7h")))) + "0fmk62b1h2i79dfzjj8wmf8qid1rv5nhwfc17l489ywnga91xl83")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; no tests @@ -2736,13 +2856,13 @@ alternative to Marshal for Object serialization. ") (define-public ruby-redcloth (package (name "ruby-redcloth") - (version "4.2.9") + (version "4.3.2") (source (origin (method url-fetch) (uri (rubygems-uri "RedCloth" version)) (sha256 (base32 - "06pahxyrckhgb7alsxwhhlx1ib2xsx33793finj01jk8i054bkxl")))) + "0m9dv7ya9q93r8x1pg2gi15rxlbck8m178j1fz7r5v6wr1avrrqy")))) (build-system ruby-build-system) (arguments `(#:tests? #f ; no tests @@ -3201,14 +3321,14 @@ application.") (define-public ruby-eventmachine (package (name "ruby-eventmachine") - (version "1.0.8") + (version "1.2.5") (source (origin (method url-fetch) (uri (rubygems-uri "eventmachine" version)) (sha256 (base32 - "1frvpk3p73xc64qkn0ymll3flvn4xcycq5yx8a43zd3gyzc1ifjp")))) + "075hdw0fgzldgss3xaqm2dk545736khcvv1fmzbf1sgdlkyh1v8z")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; test suite tries to connect to google.com @@ -3313,14 +3433,14 @@ definitions.") (define-public ruby-fivemat (package (name "ruby-fivemat") - (version "1.3.2") + (version "1.3.5") (source (origin (method url-fetch) (uri (rubygems-uri "fivemat" version)) (sha256 (base32 - "1gvw6g4yc96l2pcyvigahyfsjxpdjx21iiwzvf965zippchdh6gk")))) + "0ij7n250gk5c1g34rsbwjnpcv64gk4vsas8lkz8fac4wbygvk6z1")))) (build-system ruby-build-system) (arguments `(#:tests? #f)) ; no tests @@ -3503,14 +3623,14 @@ support to both Ruby and JRuby. It uses @code{unf_ext} on CRuby and (define-public ruby-domain-name (package (name "ruby-domain-name") - (version "0.5.20161021") + (version "0.5.20170404") (source (origin (method url-fetch) (uri (rubygems-uri "domain_name" version)) (sha256 (base32 - "1y5c96gzyh6z4nrnkisljqngfvljdba36dww657ka0x7khzvx7jl")))) + "12hs8yijhak7p2hf1xkh98g0mnp5phq3mrrhywzaxpwz1gw5r3kf")))) (build-system ruby-build-system) (arguments `(#:phases @@ -3579,6 +3699,57 @@ It has built-in support for the legacy @code{cookies.txt} and (home-page "https://github.com/sparklemotion/http-cookie") (license license:expat))) +(define-public ruby-httpclient + (package + (name "ruby-httpclient") + (version "2.8.3") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "httpclient" version)) + (sha256 + (base32 + "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99")))) + (build-system ruby-build-system) + (arguments + '(;; TODO: Some tests currently fail + ;; ------ + ;; 211 tests, 729 assertions, 13 failures, 4 errors, 0 pendings, + ;; 2 omissions, 0 notifications + ;; 91.866% passed + ;; ------ + ;; 6.49 tests/s, 22.41 assertions/s + #:tests? #f + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (zero? + (system* "ruby" + "-Ilib" + "test/runner.rb")) + #t))) + (add-after 'install 'wrap-bin-httpclient + (lambda* (#:key outputs #:allow-other-keys) + (wrap-program (string-append (assoc-ref outputs "out") + "/bin/httpclient") + `("GEM_HOME" ":" prefix (,(getenv "GEM_HOME")))) + #t))))) + (native-inputs + `(("ruby-rack" ,ruby-rack))) + (synopsis + "Make HTTP requests with support for HTTPS, Cookies, authentication and more") + (description + "The @code{httpclient} ruby library provides functionality related to +HTTP. Compared to the @code{net/http} library, @{httpclient} also provides +Cookie, multithreading and authentication (digest, NTLM) support. + +Also provided is a @command{httpclient} command, which can perform HTTP +requests either using arguments or with an interactive prompt.") + (home-page "https://github.com/nahi/httpclient") + (license license:ruby))) + (define-public ruby-ansi (package (name "ruby-ansi") @@ -3606,10 +3777,9 @@ It has built-in support for the legacy @code{cookies.txt} and (add-before 'validate-runpath 'replace-broken-symlink (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (file (string-append out "/lib/ruby/gems/" - ,(package-version ruby) - "/gems/ansi-" ,version - "/lib/ansi.yml"))) + (file (string-append out + ,(gem-directory (package-version ruby)) + "/ansi-" ,version "/lib/ansi.yml"))) ;; XXX: This symlink is broken since ruby 2.4. ;; https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00034.html (delete-file file) @@ -3807,10 +3977,9 @@ requirement specifications systems like Cucumber.") (add-before 'validate-runpath 'replace-broken-symlink (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (file (string-append out "/lib/ruby/gems/" - ,(package-version ruby) - "/gems/ae-" ,version - "/lib/ae.yml"))) + (file (string-append out + ,(gem-directory (package-version ruby)) + "/ae-" ,version "/lib/ae.yml"))) ;; XXX: This symlink is broken since ruby 2.4. ;; https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00034.html (delete-file file) @@ -4203,14 +4372,14 @@ patterns.") (define-public ruby-pkg-config (package (name "ruby-pkg-config") - (version "1.1.7") + (version "1.2.5") (source (origin (method url-fetch) (uri (rubygems-uri "pkg-config" version)) (sha256 (base32 - "0lljiqnm0b4z6iy87lzapwrdfa6ps63x2z5zbs038iig8dqx2g0z")))) + "056mzqdh4yjznsg36fi0xiq76f24vxlhzh2n4az919l3x5k318ar")))) (build-system ruby-build-system) (arguments ;; Tests require extra files not included in the gem. @@ -4225,14 +4394,14 @@ libraries for compiling Ruby native extensions.") (define-public ruby-net-http-digest-auth (package (name "ruby-net-http-digest-auth") - (version "1.4") + (version "1.4.1") (source (origin (method url-fetch) (uri (rubygems-uri "net-http-digest_auth" version)) (sha256 (base32 - "14801gr34g0rmqz9pv4rkfa3crfdbyfk6r48vpg5a5407v0sixqi")))) + "1nq859b0gh2vjhvl1qh1zrk09pc7p54r9i6nnn6sb06iv07db2jb")))) (build-system ruby-build-system) (native-inputs `(("ruby-hoe" ,ruby-hoe))) @@ -4247,14 +4416,14 @@ of the more insecure basic authentication scheme.") (define-public ruby-mail (package (name "ruby-mail") - (version "2.6.4") + (version "2.6.6") (source (origin (method url-fetch) (uri (rubygems-uri "mail" version)) (sha256 (base32 - "0c9vqfy0na9b5096i5i4qvrvhwamjnmajhgqi3kdsdfl8l6agmkp")))) + "0d7lhj2dw52ycls6xigkfz6zvfhc6qggply9iycjmcyj9760yvz9")))) (build-system ruby-build-system) (propagated-inputs `(("ruby-mime-types" ,ruby-mime-types))) @@ -4275,3 +4444,24 @@ really opens up the email messages you are parsing, if you know what you 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-code-statistics + (package + (name "ruby-code-statistics") + (version "0.2.13") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "code_statistics" version)) + (sha256 + (base32 + "07rdpsbwbmh4vp8nxyh308cj7am2pbrfhv9v5xr2d5gq8hnnsm93")))) + (build-system ruby-build-system) + (arguments + `(#:tests? #f)) ; Not all test code is included in gem. + (synopsis "Port of the rails 'rake stats' method") + (description + "This gem is a port of the rails 'rake stats' method so it can be made +more robust and work for non rails projects.") + (home-page "http://github.com/danmayer/code_statistics") + (license license:expat)))