summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans de Graaff <graaff@gentoo.org>2018-12-27 19:21:12 +0100
committerHans de Graaff <graaff@gentoo.org>2018-12-27 20:06:33 +0100
commit6e2686448ec8ff2355fecee39426a20bac4cb61f (patch)
treecfa21a4b85942dd7ccdfaefd483565599831eb6c /dev-lang/ruby/files
parentprofiles/prefix/package.use.mask: apply some USE-masks (diff)
downloadgentoo-6e2686448ec8ff2355fecee39426a20bac4cb61f.tar.gz
gentoo-6e2686448ec8ff2355fecee39426a20bac4cb61f.tar.bz2
gentoo-6e2686448ec8ff2355fecee39426a20bac4cb61f.zip
dev-lang/ruby: fix various install issues
Properly unbundle rdoc and bundler which we install via the gems. Fix install path for default bundled gemspec, fixing file collisions without FEATURES=userpriv. Add USE flag for jit, but note that this does not fully disable jit, and jit does not work due to issues with the .pch file generated for it. Add missing PDEPEND on bundler since we now unbundle it properly. Fixes: https://bugs.gentoo.org/673760 Signed-off-by: Hans de Graaff <graaff@gentoo.org> Package-Manager: Portage-2.3.51, Repoman-2.3.11
Diffstat (limited to 'dev-lang/ruby/files')
-rw-r--r--dev-lang/ruby/files/2.6/009_no-gems.patch88
-rw-r--r--dev-lang/ruby/files/2.6/010-libressl_2.7.patch15
2 files changed, 16 insertions, 87 deletions
diff --git a/dev-lang/ruby/files/2.6/009_no-gems.patch b/dev-lang/ruby/files/2.6/009_no-gems.patch
index e12429a43242..f98801d50312 100644
--- a/dev-lang/ruby/files/2.6/009_no-gems.patch
+++ b/dev-lang/ruby/files/2.6/009_no-gems.patch
@@ -1,12 +1,8 @@
---- a/tool/rbinstall.rb.~1~ 2017-10-30 06:45:20.000000000 +0100
-+++ b/tool/rbinstall.rb 2017-12-25 11:06:53.340432435 +0100
-@@ -700,20 +700,10 @@
+--- a/tool/rbinstall.rb.~1~ 2018-12-27 07:43:59.938638174 +0100
++++ b/tool/rbinstall.rb 2018-12-27 07:51:09.096382161 +0100
+@@ -723,17 +723,7 @@
# :startdoc:
- install?(:ext, :comm, :gem, :'default-gems', :'default-gems-comm') do
-- install_default_gem('lib', srcdir)
-+ # Gems are unbundled in Gentoo
- end
install?(:ext, :arch, :gem, :'default-gems', :'default-gems-arch') do
- install_default_gem('ext', srcdir) do |path|
- # assume that gemspec and extconf.rb are placed in the same directory
@@ -23,73 +19,21 @@
end
def load_gemspec(file)
-@@ -765,68 +755,7 @@
+@@ -743,7 +743,7 @@
end
- install?(:ext, :comm, :gem, :'bundled-gems') do
+ def install_default_gem(dir, srcdir)
- gem_dir = Gem.default_dir
-- directories = Gem.ensure_gem_subdirectories(gem_dir, :mode => $dir_mode)
-- prepare "bundled gems", gem_dir, directories
-- install_dir = with_destdir(gem_dir)
-- installed_gems = {}
-- options = {
-- :install_dir => install_dir,
-- :bin_dir => with_destdir(bindir),
-- :domain => :local,
-- :ignore_dependencies => true,
-- :dir_mode => $dir_mode,
-- :data_mode => $data_mode,
-- :prog_mode => $prog_mode,
-- :wrappers => true,
-- :format_executable => true,
-- }
-- gem_ext_dir = "#$extout/gems/#{CONFIG['arch']}"
-- extensions_dir = Gem::StubSpecification.gemspec_stub("", gem_dir, gem_dir).extensions_dir
-- Gem::Specification.each_gemspec([srcdir+'/gems/*']) do |path|
-- spec = load_gemspec(path)
-- next unless spec.platform == Gem::Platform::RUBY
-- next unless spec.full_name == path[srcdir.size..-1][/\A\/gems\/([^\/]+)/, 1]
-- spec.extension_dir = "#{extensions_dir}/#{spec.full_name}"
-- if File.directory?(ext = "#{gem_ext_dir}/#{spec.full_name}")
-- spec.extensions[0] ||= "-"
-- end
-- ins = RbInstall::UnpackedInstaller.new(spec, options)
-- puts "#{INDENT}#{spec.name} #{spec.version}"
-- ins.install
-- File.chmod($data_mode, File.join(install_dir, "specifications", "#{spec.full_name}.gemspec"))
-- unless spec.extensions.empty?
-- install_recursive(ext, spec.extension_dir)
-- end
-- installed_gems[spec.full_name] = true
-- end
-- installed_gems, gems = Dir.glob(srcdir+'/gems/*.gem').partition {|gem| installed_gems.key?(File.basename(gem, '.gem'))}
-- unless installed_gems.empty?
-- install installed_gems, gem_dir+"/cache"
-- end
-- next if gems.empty?
-- if defined?(Zlib)
-- Gem.instance_variable_set(:@ruby, with_destdir(File.join(bindir, ruby_install_name)))
-- silent = Gem::SilentUI.new
-- gems.each do |gem|
-- inst = Gem::Installer.new(gem, options)
-- inst.spec.extension_dir = with_destdir(inst.spec.extension_dir)
-- begin
-- Gem::DefaultUserInteraction.use_ui(silent) {inst.install}
-- rescue Gem::InstallError => e
-- next
-- end
-- gemname = File.basename(gem)
-- puts "#{INDENT}#{gemname}"
-- end
-- # fix directory permissions
-- # TODO: Gem.install should accept :dir_mode option or something
-- File.chmod($dir_mode, *Dir.glob(install_dir+"/**/"))
-- # fix .gemspec permissions
-- File.chmod($data_mode, *Dir.glob(install_dir+"/specifications/*.gemspec"))
-- else
-- puts "skip installing bundled gems because of lacking zlib"
-- end
-+ # Gems are unbundled in Gentoo
++ gem_dir = ENV['GEM_DESTDIR'] ; puts "gem_dir for default gems = #{gem_dir}"
+ directories = Gem.ensure_gem_subdirectories(gem_dir, :mode => $dir_mode)
+ prepare "default gems from #{dir}", gem_dir, directories
+
+@@ -777,7 +777,7 @@
end
- parse_args()
+ install?(:ext, :comm, :gem, :'bundled-gems') do
+- gem_dir = Gem.default_dir
++ gem_dir = ENV['GEM_DESTDIR']
+ directories = Gem.ensure_gem_subdirectories(gem_dir, :mode => $dir_mode)
+ prepare "bundled gems", gem_dir, directories
+ install_dir = with_destdir(gem_dir)
diff --git a/dev-lang/ruby/files/2.6/010-libressl_2.7.patch b/dev-lang/ruby/files/2.6/010-libressl_2.7.patch
deleted file mode 100644
index 150f43c9e55d..000000000000
--- a/dev-lang/ruby/files/2.6/010-libressl_2.7.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/ext/openssl/extconf.rb.orig 2018-04-02 09:57:14 UTC
-+++ b/ext/openssl/extconf.rb
-@@ -122,8 +122,11 @@ OpenSSL.check_func_or_macro("SSL_get_ser
- have_func("SSL_is_server")
-
- # added in 1.1.0
-+if !have_struct_member("SSL", "ctx", "openssl/ssl.h") ||
-+ try_static_assert("LIBRESSL_VERSION_NUMBER >= 0x2070000fL", "openssl/opensslv.h")
-+ $defs.push("-DHAVE_OPAQUE_OPENSSL")
-+end
- have_func("CRYPTO_lock") || $defs.push("-DHAVE_OPENSSL_110_THREADING_API")
--have_struct_member("SSL", "ctx", "openssl/ssl.h") || $defs.push("-DHAVE_OPAQUE_OPENSSL")
- have_func("BN_GENCB_new")
- have_func("BN_GENCB_free")
- have_func("BN_GENCB_get_arg")