gnu: ruby: Update to 2.3.2.

* gnu/packages/ruby.scm (ruby): Update to 2.3.2.
[replacement]: Remove field.
[origin]: Remove patch.
* gnu/packages/patches/ruby-symlinkfix.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove it.
This commit is contained in:
Ben J Woodcroft 2016-11-19 07:35:21 +10:00 committed by Ben Woodcroft
parent caa9b834e7
commit 66b1bac355
No known key found for this signature in database
GPG Key ID: E44DCCD146E0CCF4
3 changed files with 2 additions and 57 deletions

View File

@ -834,7 +834,6 @@ dist_patch_DATA = \
%D%/packages/patches/ruby-concurrent-ignore-broken-test.patch \ %D%/packages/patches/ruby-concurrent-ignore-broken-test.patch \
%D%/packages/patches/ruby-puma-ignore-broken-test.patch \ %D%/packages/patches/ruby-puma-ignore-broken-test.patch \
%D%/packages/patches/ruby-rack-ignore-failing-test.patch \ %D%/packages/patches/ruby-rack-ignore-failing-test.patch \
%D%/packages/patches/ruby-symlinkfix.patch \
%D%/packages/patches/ruby-tzinfo-data-ignore-broken-test.patch\ %D%/packages/patches/ruby-tzinfo-data-ignore-broken-test.patch\
%D%/packages/patches/ruby-yard-fix-skip-of-markdown-tests.patch \ %D%/packages/patches/ruby-yard-fix-skip-of-markdown-tests.patch \
%D%/packages/patches/sed-hurd-path-max.patch \ %D%/packages/patches/sed-hurd-path-max.patch \

View File

@ -1,53 +0,0 @@
Fix symlinks to '..' to fix rubygems improperly expanding symlinked
paths. Without this fix, some gems fail to install. This patch is applied in
rubygems 2.5.2, but ruby version 2.3.1 bundles an older version of rubygems
(2.5.1).
--- a/lib/rubygems/package.rb
+++ b/lib/rubygems/package.rb
@@ -383,7 +383,7 @@ def extract_tar_gz io, destination_dir, pattern = "*" # :nodoc:
FileUtils.chmod entry.header.mode, destination
end if entry.file?
- File.symlink(install_location(entry.header.linkname, destination_dir), destination) if entry.symlink?
+ File.symlink(entry.header.linkname, destination) if entry.symlink?
verbose destination
end
diff --git a/test/rubygems/test_gem_package.rb b/test/rubygems/test_gem_package.rb
index 7848bc2..f287bd3 100644
--- a/test/rubygems/test_gem_package.rb
+++ b/test/rubygems/test_gem_package.rb
@@ -428,19 +428,25 @@ def test_extract_tar_gz_absolute
"#{@destination} is not allowed", e.message)
end
- def test_extract_tar_gz_symlink_absolute
+ def test_extract_tar_gz_symlink_relative_path
+ skip 'symlink not supported' if Gem.win_platform?
+
package = Gem::Package.new @gem
tgz_io = util_tar_gz do |tar|
- tar.add_symlink 'code.rb', '/absolute.rb', 0644
+ tar.add_file 'relative.rb', 0644 do |io| io.write 'hi' end
+ tar.mkdir 'lib', 0755
+ tar.add_symlink 'lib/foo.rb', '../relative.rb', 0644
end
- e = assert_raises Gem::Package::PathError do
- package.extract_tar_gz tgz_io, @destination
- end
+ package.extract_tar_gz tgz_io, @destination
- assert_equal("installing into parent path /absolute.rb of " +
- "#{@destination} is not allowed", e.message)
+ extracted = File.join @destination, 'lib/foo.rb'
+ assert_path_exists extracted
+ assert_equal '../relative.rb',
+ File.readlink(extracted)
+ assert_equal 'hi',
+ File.read(extracted)
end
def test_extract_tar_gz_directory

View File

@ -47,7 +47,7 @@
(define-public ruby (define-public ruby
(package (package
(name "ruby") (name "ruby")
(version "2.3.1") (version "2.3.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -56,9 +56,8 @@
"/ruby-" version ".tar.xz")) "/ruby-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0f3395q7pd2hrl2gv26bib80038sjawxgmhl9zn22fjs9m9va9b7")) "031g76zxb2wp6988dmrpbqd98i17xi6l8q1115h83r2w0h8z6y2w"))
(modules '((guix build utils))) (modules '((guix build utils)))
(patches (search-patches "ruby-symlinkfix.patch"))
(snippet `(begin (snippet `(begin
;; Remove bundled libffi ;; Remove bundled libffi
(delete-file-recursively "ext/fiddle/libffi-3.2.1") (delete-file-recursively "ext/fiddle/libffi-3.2.1")