diff options
Diffstat (limited to 'gnu/packages/ruby.scm')
-rw-r--r-- | gnu/packages/ruby.scm | 94 |
1 files changed, 28 insertions, 66 deletions
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 8db5bd9158..cbd16e26e5 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015 Pjotr Prins <[email protected]> -;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <[email protected]> +;;; Copyright © 2014, 2015, 2016, 2017, 2021 Ludovic Courtès <[email protected]> ;;; Copyright © 2014, 2015 Mark H Weaver <[email protected]> ;;; Copyright © 2014, 2015 David Thompson <[email protected]> ;;; Copyright © 2015, 2019 Ricardo Wurmus <[email protected]> @@ -95,7 +95,7 @@ license:gpl2+ license:gpl3+)) -(define-public ruby +(define-public ruby-2.6 (package (name "ruby") (version "2.6.5") @@ -153,11 +153,11 @@ a focus on simplicity and productivity.") (define-public ruby-2.7 (package - (inherit ruby) + (inherit ruby-2.6) (version "2.7.4") (source (origin - (inherit (package-source ruby)) + (inherit (package-source ruby-2.6)) (uri (string-append "https://cache.ruby-lang.org/pub/ruby/" (version-major+minor version) "/ruby-" version ".tar.gz")) @@ -205,7 +205,7 @@ a focus on simplicity and productivity.") (define-public ruby-2.5 (package - (inherit ruby) + (inherit ruby-2.6) (version "2.5.9") (source (origin @@ -219,7 +219,7 @@ a focus on simplicity and productivity.") (define-public ruby-2.4 (package - (inherit ruby) + (inherit ruby-2.6) (version "2.4.10") (source (origin @@ -236,6 +236,8 @@ a focus on simplicity and productivity.") (delete-file-recursively "ext/fiddle/libffi-3.2.1") #t)))))) +(define-public ruby ruby-2.7) + (define-public mruby (package (name "mruby") @@ -1163,8 +1165,7 @@ structure. Supports custom object formatting via plugins.") #t)) (add-after 'unpack 'patch-pandoc-path (lambda* (#:key inputs #:allow-other-keys) - (let ((pandoc (string-append (assoc-ref inputs "pandoc") - "/bin/pandoc"))) + (let ((pandoc (search-input-file inputs "/bin/pandoc"))) (substitute* "lib/pandoc-ruby.rb" (("@@pandoc_path = 'pandoc'") (format #f "@@pandoc_path = '~a'" pandoc))) @@ -1286,14 +1287,6 @@ syntax to the minimum while remaining clear.") `(#:test-target "test:all" #:phases (modify-phases %standard-phases - (replace 'replace-git-ls-files - (lambda _ - ;; TODO: Remove after the fix of using 'cut' to better mimic the - ;; git ls-files output is merged in ruby-build-system. - (substitute* "asciidoctor.gemspec" - (("`git ls-files -z`") - "`find . -type f -print0 |sort -z|cut -zc3-`")) - #t)) (add-after 'extract-gemspec 'strip-version-requirements (lambda _ (delete-file "Gemfile") @@ -1492,17 +1485,7 @@ loader for the file type associated with a filename extension, and it augments "1dmk94z6ivhrz5hsq68vl5vgydhkz89n394rha1ymddw3rymbfcv")))) (build-system ruby-build-system) (arguments - `(#:test-target "spec" - #:phases - (modify-phases %standard-phases - (replace 'replace-git-ls-files - (lambda _ - ;; TODO: Remove after the fix of using 'cut' to better mimic the - ;; git ls-files output is merged in ruby-build-system. - (substitute* "treetop.gemspec" - (("`git ls-files -z`") - "`find . -type f -print0 |sort -z|cut -zc3-`")) - #t))))) + `(#:test-target "spec")) (native-inputs `(("ruby-activesupport" ,ruby-activesupport) ("ruby-rr" ,ruby-rr) @@ -1725,15 +1708,6 @@ only what they care about.") (lambda _ (delete-file "Gemfile") (delete-file "Gemfile.lock") - #t)) - (replace 'replace-git-ls-files - (lambda _ - ;; TODO: Remove after the fix of using 'cut' to better mimic the - ;; git ls-files output is merged in ruby-build-system. - (substitute* "standard.gemspec" - (("`git ls-files -z`") - "`find . -type f -not -regex '.*\\.gem$' -print0 \ -|sort -z|cut -zc3-`")) #t))))) (native-inputs `(("ruby-gimme" ,ruby-gimme) @@ -1775,14 +1749,6 @@ to save time in the following ways: (lambda _ (substitute* (find-files "." "\\.rb$") (("require.*bundler/setup.*") "")) - #t)) - (replace 'replace-git-ls-files - (lambda _ - ;; TODO: Remove after the fix of using 'cut' to better mimic the - ;; git ls-files output is merged in ruby-build-system. - (substitute* "chunky_png.gemspec" - (("`git ls-files`") - "`find . -type f -not -regex '.*\\.gem$' |sort |cut -c3-`")) #t))))) (native-inputs `(("bundler" ,bundler) @@ -1904,15 +1870,6 @@ web pages.") (("(.*add_.*dependency '[_A-Za-z0-9-]+').*" _ stripped) (string-append stripped "\n"))) #t)) - (replace 'replace-git-ls-files - ;; TODO: Remove after the fix of using 'cut' to better mimic the - ;; git ls-files output is merged in ruby-build-system. - (lambda _ - (substitute* "asciidoctor-pdf.gemspec" - (("`git ls-files -z`") - "`find . -type f -not -regex '.*\\.gem$' -print0 \ -|sort -z|cut -zc3-`")) - #t)) ;; The tests rely on the Gem being installed, so move the check phase ;; after the install phase. (delete 'check) @@ -3788,13 +3745,13 @@ temporary files and directories during tests.") (define-public ruby-test-unit (package (name "ruby-test-unit") - (version "3.2.5") + (version "3.4.4") (source (origin (method url-fetch) (uri (rubygems-uri "test-unit" version)) (sha256 (base32 - "05bx36fw01iqz0xqhvjfrwjgnj1zx3b2vn6w1fzp19rchd7zqc52")))) + "15isy7vhppbfd0032klirj9gxp65ygkzjdwrmm28xpirlcsk6qpd")))) (build-system ruby-build-system) (propagated-inputs `(("ruby-power-assert" ,ruby-power-assert))) @@ -4437,13 +4394,13 @@ client protocol.") (define-public ruby-minitest (package (name "ruby-minitest") - (version "5.12.2") + (version "5.14.4") (source (origin (method url-fetch) (uri (rubygems-uri "minitest" version)) (sha256 (base32 - "0zjm24aiz42i9n37mcw8lydd7n0y7wfk27by06jx77ypcld3qvkw")))) + "19z7wkhg59y8abginfrm2wzplz7py3va8fyngiigngqvsws6cwgl")))) (build-system ruby-build-system) (native-inputs `(("ruby-hoe" ,ruby-hoe))) @@ -4779,17 +4736,20 @@ minitest 5.12, and is planned to be removed from minitest 6.") (define-public ruby-minitest-hooks (package (name "ruby-minitest-hooks") - (version "1.4.2") + (version "1.5.0") (source (origin (method url-fetch) (uri (rubygems-uri "minitest-hooks" version)) (sha256 (base32 - "0lnpvzijbjrvxjc43d155jnbk2mkfshrz22an711wh004scavlzc")))) + "05z8r6sw3fz4s44fs1150ndlcmcy82vlxmhps5nncg8vk59k3gmf")))) (build-system ruby-build-system) (arguments - '(#:test-target "spec")) + '(#:test-target "spec" + ;; Test suite is incompatible with ruby-2.7. + ;; https://github.com/jeremyevans/minitest-hooks/issues/19 + #:tests? #f)) (native-inputs `(("ruby-sequel" ,ruby-sequel) ("ruby-sqlite3" ,ruby-sqlite3))) @@ -4882,8 +4842,7 @@ you to merge elements inside a hash together recursively.") (lambda* (#:key inputs outputs #:allow-other-keys) ;; Make the default git binary an absolute path to the ;; store. - (let ((git (string-append (assoc-ref inputs "git") - "/bin/git")) + (let ((git (search-input-file inputs "/bin/git")) (config (string-append (assoc-ref outputs "out") "/lib/ruby/vendor_ruby/gems/git-" @@ -6780,8 +6739,11 @@ other things and it comes with a command line interface.") (lambda _ (for-each (lambda (file) (invoke "ruby" "-Itest" file)) - (find-files "./test" "test_.*\\.rb")) - #t))))) + (find-files "./test" "test_.*\\.rb")))) + (add-before 'check 'patch-tests-for-newer-ruby + (lambda _ + (substitute* "test/test_netrc.rb" + (("Dir.pwd, '.netrc'") "Netrc.home_path, '.netrc'"))))))) (native-inputs `(("ruby-minitest" ,ruby-minitest))) (synopsis "Library to read and update netrc files") @@ -9987,14 +9949,14 @@ generation.") (define-public ruby-sequel (package (name "ruby-sequel") - (version "4.49.0") + (version "5.47.0") (source (origin (method url-fetch) (uri (rubygems-uri "sequel" version)) (sha256 (base32 - "010p4a60npppvgbyw7pq5xia8aydpgxdlhh3qjm2615kwjsw3fl8")))) + "03pmhj4kc3ga75wy397l57bvd18jxxmrk3qsznjw93b993qgvj3z")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; Avoid dependency loop with ruby-minitest-hooks. |