From 3918146b6179f211fb7ef955f74561f9b1460a8b Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Wed, 6 Jan 2016 21:23:15 +1000 Subject: gnu: ruby-power-assert: Update to 0.2.7. * gnu/packages/ruby.scm (ruby-power-assert): Update to 0.2.7. --- gnu/packages/ruby.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu/packages/ruby.scm') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 47ac392aa6..d3e6dbcfa2 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2014, 2015 David Thompson ;;; Copyright © 2015 Ricardo Wurmus -;;; Copyright © 2015 Ben Woodcroft +;;; Copyright © 2015, 2016 Ben Woodcroft ;;; ;;; This file is part of GNU Guix. ;;; @@ -1059,13 +1059,13 @@ using Net::HTTP, supporting reconnection and retry according to RFC 2616.") (define-public ruby-power-assert (package (name "ruby-power-assert") - (version "0.2.6") + (version "0.2.7") (source (origin (method url-fetch) (uri (rubygems-uri "power_assert" version)) (sha256 (base32 - "0gbj379jhnff8rbb6m3kzdm282szjz1a021xzxa38d1bnswj2jx3")))) + "0ka6w71lcan4wgf111xi3pcn9ma9lhakv31jg8w007nwzi0xfjbi")))) (build-system ruby-build-system) (native-inputs `(("bundler" ,bundler))) -- cgit v1.2.3 From 048036aee522d6a03436bf530d139ec26d8a438e Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Wed, 6 Jan 2016 21:57:44 +1000 Subject: gnu: ruby-yard: Disable failing test. * gnu/packages/ruby.scm (ruby-yard)[arguments]: Disable test which fails on Ruby 2.3.0. --- gnu/packages/ruby.scm | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'gnu/packages/ruby.scm') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index d3e6dbcfa2..61c6c3cdc7 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -2776,9 +2776,17 @@ features such as filtering and fine grained logging.") `(#:test-target "specs" #:phases (modify-phases %standard-phases - (add-before 'check 'set-HOME - ;; $HOME needs to be set to somewhere writeable for tests to run - (lambda _ (setenv "HOME" "/tmp") #t))))) + (add-before 'check 'set-HOME-and-disable-failing-test + (lambda _ + ;; $HOME needs to be set to somewhere writeable for tests to run + (setenv "HOME" "/tmp") + ;; Disable tests which fails on Ruby 2.3. See + ;; https://github.com/lsegal/yard/issues/927 + (substitute* "spec/parser/ruby/ruby_parser_spec.rb" + (("comment.type.should == :comment") "") + (("comment.docstring_hash_flag.should be_true") "") + (("comment.docstring.strip.should == .*") "")) + #t))))) (native-inputs `(("ruby-rspec" ,ruby-rspec-2) ("ruby-rack" ,ruby-rack))) -- cgit v1.2.3 From 761e7042f633b05bee988aeb941d7c7bf20b9b3c Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Fri, 8 Jan 2016 17:29:39 +1000 Subject: ruby: Abstract out path to GEM_HOME. Previously paths to the GEM_HOME of certain Ruby packages were hard-coded, so packages failed to build when Ruby was updated to 2.3.0. * guix/build/ruby-build-system.scm (gem-home): New procedure. * gnu/packages/ruby.scm (ruby-metaclass, ruby-instantiator, ruby-introspection, ruby-mocha, ruby-minitest-tu-shim): Use it. --- gnu/packages/ruby.scm | 94 +++++++++++++++++++++++----------------- guix/build/ruby-build-system.scm | 13 +++++- 2 files changed, 67 insertions(+), 40 deletions(-) (limited to 'gnu/packages/ruby.scm') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 61c6c3cdc7..1d00835cd7 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -1212,15 +1212,18 @@ It allows writing tests, checking results and automated testing in Ruby.") `(#:phases (modify-phases %standard-phases (add-after 'unpack 'add-test-unit-to-search-path - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "Rakefile" - (("t\\.libs << \"test\"" line) - (string-append line "; t.libs << \"" - (assoc-ref inputs "ruby-test-unit") - "/lib/ruby/gems/2.2.0/gems/test-unit-" - ,(package-version ruby-test-unit) - "/lib\""))) - #t))))) + (lambda* (#:key inputs #:allow-other-keys) + (let* ((test-unit (assoc-ref inputs "ruby-test-unit")) + (test-unit-home (gem-home test-unit + ,(package-version ruby)))) + (substitute* "Rakefile" + (("t\\.libs << \"test\"" line) + (string-append line "; t.libs << \"" + test-unit-home + "/gems/test-unit-" + ,(package-version ruby-test-unit) + "/lib\"")))) + #t))))) (native-inputs `(("bundler" ,bundler) ("ruby-test-unit" ,ruby-test-unit))) @@ -1274,15 +1277,18 @@ as a base class when writing classes that depend upon `(#:phases (modify-phases %standard-phases (add-after 'unpack 'add-test-unit-to-search-path - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "Rakefile" - (("t\\.libs << \"test\"" line) - (string-append line "; t.libs << \"" - (assoc-ref inputs "ruby-test-unit") - "/lib/ruby/gems/2.2.0/gems/test-unit-" - ,(package-version ruby-test-unit) - "/lib\""))) - #t))))) + (lambda* (#:key inputs #:allow-other-keys) + (let* ((test-unit (assoc-ref inputs "ruby-test-unit")) + (test-unit-home (gem-home test-unit ,(package-version + ruby)))) + (substitute* "Rakefile" + (("t\\.libs << \"test\"" line) + (string-append line "; t.libs << \"" + test-unit-home + "/gems/test-unit-" + ,(package-version ruby-test-unit) + "/lib\"")))) + #t))))) (propagated-inputs `(("ruby-blankslate" ,ruby-blankslate))) (native-inputs @@ -1311,13 +1317,16 @@ knowing anything about the constructor.") (modify-phases %standard-phases (add-after 'unpack 'add-test-unit-to-search-path (lambda* (#:key inputs #:allow-other-keys) - (substitute* "Rakefile" - (("t\\.libs << \"test\"" line) - (string-append line "; t.libs << \"" - (assoc-ref inputs "ruby-test-unit") - "/lib/ruby/gems/2.2.0/gems/test-unit-" - ,(package-version ruby-test-unit) - "/lib\""))) + (let* ((test-unit (assoc-ref inputs "ruby-test-unit")) + (test-unit-home (gem-home test-unit ,(package-version + ruby)))) + (substitute* "Rakefile" + (("t\\.libs << \"test\"" line) + (string-append line "; t.libs << \"" + test-unit-home + "/gems/test-unit-" + ,(package-version ruby-test-unit) + "/lib\"")))) #t))))) (propagated-inputs `(("ruby-instantiator" ,ruby-instantiator) @@ -1381,13 +1390,16 @@ conversion to (X)HTML.") (modify-phases %standard-phases (add-after 'unpack 'add-test-unit-to-search-path (lambda* (#:key inputs #:allow-other-keys) - (substitute* "Rakefile" - (("t\\.libs << 'test'" line) - (string-append line "; t.libs << \"" - (assoc-ref inputs "ruby-test-unit") - "/lib/ruby/gems/2.2.0/gems/test-unit-" - ,(package-version ruby-test-unit) - "/lib\""))) + (let* ((test-unit (assoc-ref inputs "ruby-test-unit")) + (test-unit-home (gem-home test-unit + ,(package-version ruby)))) + (substitute* "Rakefile" + (("t\\.libs << 'test'" line) + (string-append line "; t.libs << \"" + test-unit-home + "/gems/test-unit-" + ,(package-version ruby-test-unit) + "/lib\"")))) #t)) (add-before 'check 'use-latest-redcarpet (lambda _ @@ -2047,13 +2059,17 @@ development of Ruby gems.") (modify-phases %standard-phases (add-after 'unpack 'fix-test-include-path (lambda* (#:key inputs #:allow-other-keys) - (substitute* "Rakefile" - (("Hoe\\.add_include_dirs .*") - (string-append "Hoe.add_include_dirs \"" - (assoc-ref inputs "ruby-minitest-4") - "/lib/ruby/gems/2.2.0/gems/minitest-" - ,(package-version ruby-minitest-4) - "/lib" "\""))))) + (let* ((minitest (assoc-ref inputs "ruby-minitest-4")) + (minitest-home (gem-home minitest + ,(package-version ruby)))) + (substitute* "Rakefile" + (("Hoe\\.add_include_dirs .*") + (string-append "Hoe.add_include_dirs \"" + minitest-home + "/gems/minitest-" + ,(package-version ruby-minitest-4) + "/lib" "\"")))) + #t)) (add-before 'check 'fix-test-assumptions (lambda _ ;; The test output includes the file name, so a couple of tests diff --git a/guix/build/ruby-build-system.scm b/guix/build/ruby-build-system.scm index 2685da1a72..18da43866d 100644 --- a/guix/build/ruby-build-system.scm +++ b/guix/build/ruby-build-system.scm @@ -26,7 +26,8 @@ #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:export (%standard-phases - ruby-build)) + ruby-build + gem-home)) ;; Commentary: ;; @@ -136,3 +137,13 @@ GEM-FLAGS are passed to the 'gem' invokation, if present." (define* (ruby-build #:key inputs (phases %standard-phases) #:allow-other-keys #:rest args) (apply gnu:gnu-build #:inputs inputs #:phases phases args)) + +(define (gem-home store-path ruby-version) + "Return a string to the gem home directory in the store given a STORE-PATH +and the RUBY-VERSION used to build that ruby package" + (string-append + store-path + "/lib/ruby/gems/" + (regexp-substitute #f + (string-match "^[0-9]+\\.[0-9]+" ruby-version) + 0 ".0"))) -- cgit v1.2.3 From 9656b8bec5730b5da2b4633564b26ff3a1e92d8b Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Sun, 10 Jan 2016 22:25:45 +1000 Subject: gnu: ruby: Use modify-phases. * gnu/packages/ruby.scm (ruby)[arguments]: Use modify-phases. --- gnu/packages/ruby.scm | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'gnu/packages/ruby.scm') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 1d00835cd7..2fac187fd9 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -61,22 +61,22 @@ `(#: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" - "test/rubygems/test_gem_ext_configure_builder.rb" - "test/rdoc/test_rdoc_parser.rb" - "test/ruby/test_rubyoptions.rb" - "test/ruby/test_process.rb" - "test/ruby/test_system.rb" - "tool/rbinstall.rb") - (("/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" + "test/rubygems/test_gem_ext_configure_builder.rb" + "test/rdoc/test_rdoc_parser.rb" + "test/ruby/test_rubyoptions.rb" + "test/ruby/test_process.rb" + "test/ruby/test_system.rb" + "tool/rbinstall.rb") + (("/bin/sh") (which "sh"))) + #t))))) (inputs `(("readline" ,readline) ("openssl" ,openssl) -- cgit v1.2.3 From 65e84e317633ce3126d87d4dc731a119aaaebf70 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Mon, 4 Jan 2016 09:38:42 +1000 Subject: gnu: ruby: Update to 2.3.0. * gnu/packages/ruby.scm (ruby): Update to 2.3.0. [source]: Remove bundled libffi. [arguments]: Use parallel tests. (ruby-2.2): New variable. --- gnu/packages/ruby.scm | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) (limited to 'gnu/packages/ruby.scm') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 2fac187fd9..2977f94660 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -46,7 +46,7 @@ (define-public ruby (package (name "ruby") - (version "2.2.4") + (version "2.3.0") (source (origin (method url-fetch) @@ -55,14 +55,19 @@ "/ruby-" version ".tar.xz")) (sha256 (base32 - "0g3ps4q3iz7wj9m45n8xyxzw8nh29ljdqb87b0f6i0p3853gz2yj")))) + "15s0dsb5ynf3d2w5gzawnszq5594fqvapv2y7a0qw16przq5l4kh")) + (modules '((guix build utils))) + (snippet `(begin + ;; Remove bundled libffi + (delete-file-recursively + (string-append "ext/fiddle/libffi-3.2.1")) + #t)))) (build-system gnu-build-system) (arguments `(#:test-target "test" - #:parallel-tests? #f #:phases (modify-phases %standard-phases - (add-before 'configure 'replace-bin-sh + (add-before 'configure 'replace-bin-sh-and-remove-libffi (lambda _ (substitute* '("Makefile.in" "ext/pty/pty.c" @@ -95,6 +100,25 @@ a focus on simplicity and productivity.") (home-page "https://ruby-lang.org") (license license:ruby))) +(define-public ruby-2.2 + (package (inherit ruby) + (version "2.2.4") + (source + (origin + (method url-fetch) + (uri (string-append "http://cache.ruby-lang.org/pub/ruby/" + (version-major+minor version) + "/ruby-" version ".tar.xz")) + (sha256 + (base32 + "0g3ps4q3iz7wj9m45n8xyxzw8nh29ljdqb87b0f6i0p3853gz2yj")) + (modules '((guix build utils))) + (snippet `(begin + ;; Remove bundled libffi + (delete-file-recursively + (string-append "ext/fiddle/libffi-3.2.1")) + #t)))))) + (define-public ruby-2.1 (package (inherit ruby) (version "2.1.6") -- cgit v1.2.3