From 2018227e9344edb9da15fc6a4a8298086cc2aa77 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 2 Jun 2019 21:45:28 +0100 Subject: gentoo resync : 02.06.2019 --- dev-ruby/rubygems/Manifest | 2 + dev-ruby/rubygems/files/gentoo-defaults-3.rb | 57 +++++++++++++ dev-ruby/rubygems/rubygems-3.0.3-r1.ebuild | 120 +++++++++++++++++++++++++++ 3 files changed, 179 insertions(+) create mode 100644 dev-ruby/rubygems/files/gentoo-defaults-3.rb create mode 100644 dev-ruby/rubygems/rubygems-3.0.3-r1.ebuild (limited to 'dev-ruby/rubygems') diff --git a/dev-ruby/rubygems/Manifest b/dev-ruby/rubygems/Manifest index b16a68a44347..54618b6e6114 100644 --- a/dev-ruby/rubygems/Manifest +++ b/dev-ruby/rubygems/Manifest @@ -1,10 +1,12 @@ AUX auto_gem.rb 159 BLAKE2B f5091d3df1318606e623a3bde402bb51b693875ba9504e0a48a911de14d904116d62a99eaed64d0cd5cee28c58f3d003e56c78df5c40025594fd7ad22a1eeb1d SHA512 e42e790013d20335ca5319803518102593408d077f22c95dcb08969c69d3a81e49e47cd002715bf760bfcd9a29304002354d8add42fd2415fb10a0a2a323d64c AUX auto_gem.rb.ruby19 509 BLAKE2B 3aeb669d0dc6c6016091375adf8df8f8a2b810d40e11b3142669098d119369c4294c5d4758d1369fb2479ae3766d8e1421daa0076e2da4f66d00f9e0ed6584c1 SHA512 2b8f4ae00fae383357dd1eb1159ecf1689cb5b79e996688ae091a157b9f27e980761ed8a771d9d3b954d325f817972c4d02f4b5d3c8f4307d2cebce7651af666 AUX conf.d-gem_server 81 BLAKE2B 2019f1b5085a824e1a9e0551a8b224391b1db777f15aea7fa613faa1c7a51f6c0015f92c16a95c0c368ad701c125307c0535ca1029891345476636fe45289fb8 SHA512 71630a0530ec62f4024d9bfc4e6afe1f409f3bcb5d71ee5876d1e190c9e69016571ca8f500fcc7ffea6cbc36a8dab5eef2d0c61f72de99f2776c9137010b9ccd +AUX gentoo-defaults-3.rb 1692 BLAKE2B a7f20c82b76eb22749cc2e0ec2c9674a0da35d8adc8f12c6b1bd441dd157e04c88168e43471374754b0f0af6b58d854fbd714d3ef5583e973954898cbd4fe57e SHA512 c56f171de57aba6ee268a519f3dda79fbc5a6c16872c76f66b02cbd245680cfc1c21f7a6d97863c96f60fae46ca308eca1453a3d9465dcbfe7ebf0fe0d65feb7 AUX gentoo-defaults.rb 972 BLAKE2B 4353b782296ad04f400fbdbd67dcc2f26b23a9bc4a716d107a8f98c5058676c675eb42e1d5e0a7214cd74df9148d54220c0202189938c45f4000301e52a3a73f SHA512 fd5a33c433041efeefba4bb8d550b8db66f31d4c0966188f07943f4f575ee9e13da6ef6fd66f89a4b3b979c5b310d96e2876407b79aee6ed404ca3027859160c AUX init.d-gem_server2 505 BLAKE2B ea5807a1c8ffdaa61bf37315c71d910bbf2bf4b0b4c62e3cef3b76176e9cc1fc39272f59bd46e55e17427f730315e2c691fa3f471c1cbf697073c45c0c7589a2 SHA512 fc2c57f4deebf479a36e69c3507f109abeda9f73b22bb2e617f56e6be0069af075fa6d66708d7324922f3d8bfaa96bd8c71292d9e388e27217cc7687ab4004e1 DIST rubygems-2.7.9.tgz 862854 BLAKE2B 7bccb1fe1ce11b33501f881d01b8b0159e6b3c0a434fa100b98490cd1813b5309610e8ef5d1a2c5ab23c22bf0cd55ace7b055ee57f9057398662276128b3e949 SHA512 5f699f47bc24d8ffd4f8f44a509a9df71fcd945ca2574dc9d5050bfe06a44830a368f45d204112d7a4f1877e1600a6fe4d1b6b68f9a55288664667b4220a7d72 DIST rubygems-3.0.3.tgz 904175 BLAKE2B d99de4bdd51779ab214bc4a81f55483341a2c193d4304b8eeb6105cb95877e0a33fe03d93c47433ad3c6bdc8d3e453e33ffb799fd36164feac31616f95eeced4 SHA512 1dd585243341901c7b4cc60a4902000c10ce57fe2cc9c28e27e274a2e6029f936cde1c99d7097c93c2c5b2c8bcee5d692c8fe5cc00c996a040e4954b674e330e EBUILD rubygems-2.7.9.ebuild 4397 BLAKE2B dfda01f88b60b4c1a3d13ab2a2e136fd95fdf39a588f61e264ff6d125deda5ec45a28a0f653af1ec6cba2c1190cab9a94f90aa726ec04baddfb8e5daa27cfacf SHA512 18b691805bf137759852bbabc75f7d4ffb9cf4aa3d6a91ee79a97abc3aa340761e31b266ac4cba8e72c602221e9406058b7203dc397293922e9e1823ddb3a9bf +EBUILD rubygems-3.0.3-r1.ebuild 4741 BLAKE2B 0dc9cc369992c68478568ab3056443f96f57d17bae1eaf0c07b641b1c445e4dd08e0f18fc573133a8184d8a1c3929669606e3b48259d43cda1b2d40b93e0b841 SHA512 c971ddcbf8119ddabeb50b08ecf2c7a695285b6bd6bb02bd698fd238cf9409ab24844b491ad520a8a9240c1452dd2cf4690356a5bd3d30e219318d37f6d2be95 EBUILD rubygems-3.0.3.ebuild 4733 BLAKE2B fa821c214ebda0e0b260b58cf8c4dc7756686277120add9f4b3a361eb0aad996abf24a1b5b3b903b13e17fba6f96af41adf8831f77610df1622cd94681643395 SHA512 b71228239dafdf6fb013fa2ed1ec5c99d538d6171c7c1863df6c6613ed74c0b3e8474c29d7a63f5385a460b952db59534e2abe9f20831afe561264f97777a414 MISC metadata.xml 335 BLAKE2B c86eaf3d37fad025b8f6ca0b03e65b1b472716b4fda4ca4d08b415b29a63405d8e7b2684d309091c90411c5fe809e5129c6e0c0c4e7a982b4aa062ffdd0ca7fb SHA512 fd7bf880ad68fe5f1fe8eb79f9662af87831ed499517d5a97e22f18a4ddafc69d53118f020e15c3b8b171fe144bf6cb0ce799beaa6e4e4bdc01c984ab582388e diff --git a/dev-ruby/rubygems/files/gentoo-defaults-3.rb b/dev-ruby/rubygems/files/gentoo-defaults-3.rb new file mode 100644 index 000000000000..b8ad8f1227ce --- /dev/null +++ b/dev-ruby/rubygems/files/gentoo-defaults-3.rb @@ -0,0 +1,57 @@ +# frozen_string_literal: true + +# Gentoo defaults for rubygems 3.x +# +# Gentoo policy is to install all manually installed code into +# /usr/local and to keep /usr managed by Gentoo. This policy file +# ensures that all manually installed gems using "gem install" are +# installed in /usr/local. Gentoo gems are installed in /usr. + +# TODO: We used to manipulate the default_dir, but this no longer +# works since this is now the base for the new "default" gems that +# ruby 2.6 uses with irb. So default_dir should refer to the system +# default now. rubygems also provides various hooks so we may be able +# to use those to install gems in /usr/local by default in a less +# intrusive way. +module Gem + + class << self + def portage_gems_dir + ConfigMap[:sitelibdir].gsub('site_ruby', 'gems') + end + + def local_dir + portage_gems_dir.gsub('@GENTOO_PORTAGE_EPREFIX@/usr', + '@GENTOO_PORTAGE_EPREFIX@/usr/local') + end + + def install_dir + Process.euid.zero? ? local_dir : user_dir + end + + undef :default_path + def default_path + path = [] + path << user_dir if user_home && File.exist?(user_home) + path << default_dir + path << vendor_dir if vendor_dir && File.directory?(vendor_dir) + path << local_dir + path << portage_gems_dir + end + + def system_config_path + '@GENTOO_PORTAGE_EPREFIX@/etc' + end + + # Set Gentoo defaults for gem commands + undef :operating_system_defaults + def operating_system_defaults + { + 'install' => "--install-dir #{install_dir}", + 'uninstall' => "--install-dir #{install_dir}", + 'update' => "--install-dir #{install_dir}" + } + end + + end +end diff --git a/dev-ruby/rubygems/rubygems-3.0.3-r1.ebuild b/dev-ruby/rubygems/rubygems-3.0.3-r1.ebuild new file mode 100644 index 000000000000..8c6d1f49acfb --- /dev/null +++ b/dev-ruby/rubygems/rubygems-3.0.3-r1.ebuild @@ -0,0 +1,120 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +USE_RUBY="ruby24 ruby25 ruby26" + +inherit ruby-ng prefix + +DESCRIPTION="Centralized Ruby extension management system" +HOMEPAGE="https://rubygems.org/" +LICENSE="GPL-2 || ( Ruby MIT )" + +SRC_URI="https://rubygems.org/rubygems/${P}.tgz" + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +SLOT="0" +IUSE="server test" + +PDEPEND="server? ( =dev-ruby/builder-3* )" + +ruby_add_bdepend " + test? ( + dev-ruby/json + dev-ruby/minitest:5 + dev-ruby/rdoc + )" + +all_ruby_prepare() { + + mkdir -p lib/rubygems/defaults || die + cp "${FILESDIR}/gentoo-defaults-3.rb" lib/rubygems/defaults/operating_system.rb || die + + eprefixify lib/rubygems/defaults/operating_system.rb + + # Disable broken tests when changing default values: + sed -i -e '/test_default_path/,/^ end/ s:^:#:' test/rubygems/test_gem.rb || die + sed -i -e '/assert_self_install_permissions/,/^ end/ s/^.*RUBY_INSTALL_NAME.*//' test/rubygems/test_gem.rb || die + + # Skip tests for default gems that all fail +# sed -i -e '/test_default_gems_use_full_paths/,/^ end/ s:^:#:' test/rubygems/test_gem.rb || die +# sed -i -e '/test_execute_ignore_default_gem_verbose/,/^ end/ s:^:#:' test/rubygems/test_gem_commands_cleanup_command.rb || die +# sed -i -e '/test_execute_default_gem/,/^ end/ s:^:#:' test/rubygems/test_gem_commands_contents_command.rb test/rubygems/test_gem_commands_pristine_command.rb || die +# sed -i -e '/test_execute_\(default_details\|show_default_gems\)/,/^ end/ s:^:#:' test/rubygems/test_gem_commands_query_command.rb || die +# sed -i -e '/test_execute_all/,/^ end/ s:^:#:' test/rubygems/test_gem_commands_uninstall_command.rb || die +# sed -i -e '/\(test_default_gem\|test_check_executable_overwrite\|test_require_works_after_cleanup\)/,/^ end/ s:^:#:' \ +# test/rubygems/test_{gem_installer,require}.rb || die +# sed -i -e '/test_\(load_default_gem\|default_spec_stub\|self_stubs\)/,/^ end/ s:^:#:' test/rubygems/test_gem_specification.rb || die +# sed -i -e '/test_uninstall_default_gem/,/^ end/ s:^:#:' test/rubygems/test_gem_uninstaller.rb || die +# rm -f test/rubygems/test_gem_indexer.rb || die +# sed -i -e '/test_\(require_when_gem_defined\|realworld_default_gem\)/,/^ end/ s:^:#:' test/rubygems/test_require.rb || die +# rm -f test/rubygems/test_gem_commands_setup_command.rb || die + + # Avoid tests playing tricks with ruby engine that don't seem to + # work for us. + rm test/rubygems/test_gem_request_set_gem_dependency_api.rb || die + + # Avoid test requiring network access + sed -i -e '/test_download_to_cache/askip "requires network access"' test/rubygems/test_gem_remote_fetcher.rb || die + + # Avoid test requiring file system permission changes + sed -i -e '/test_traverse_parents_does_not_crash_on_permissions_error/,/^ end/ s:^:#:' test/rubygems/test_gem_util.rb || die + + # Avoid uninvestigated test failure in favor of security release + sed -i -e '/test_self_install_permissions_with_format_executable/askip "uninvestigated failure"' test/rubygems/test_gem.rb || die +} + +each_ruby_compile() { + # Not really a build but... + sed -i -e 's:#!.*:#!'"${RUBY}"':' bin/gem +} + +each_ruby_test() { + # Unset RUBYOPT to avoid interferences, bug #158455 et. al. + #unset RUBYOPT + + if [[ "${EUID}" -ne "0" ]]; then + RUBYLIB="$(pwd)/lib${RUBYLIB+:${RUBYLIB}}" ${RUBY} --disable-gems -I.:lib:test:bundler/lib \ + -e 'require "rubygems"; gem "minitest", "~>5.0"; Dir["test/**/test_*.rb"].each { |tu| require tu }' || die "tests failed" + else + ewarn "The userpriv feature must be enabled to run tests, bug 408951." + eerror "Testsuite will not be run." + fi +} + +each_ruby_install() { + # Unset RUBYOPT to avoid interferences, bug #158455 et. al. + unset RUBYOPT + export RUBYLIB="$(pwd)/lib${RUBYLIB+:${RUBYLIB}}" + + pushd lib &>/dev/null + doruby -r * + popd &>/dev/null + + local sld=$(ruby_rbconfig_value 'sitelibdir') + insinto "${sld#${EPREFIX}}" # bug #320813 + newins "${FILESDIR}/auto_gem.rb.ruby19" auto_gem.rb || die + + newbin bin/gem $(basename ${RUBY} | sed -e 's:ruby:gem:') || die +} + +all_ruby_install() { + dodoc History.txt README.md + + if use server; then + newinitd "${FILESDIR}/init.d-gem_server2" gem_server || die "newinitd failed" + newconfd "${FILESDIR}/conf.d-gem_server" gem_server || die "newconfd failed" + fi +} + +pkg_postinst() { + if [[ ! -n $(readlink "${ROOT}"usr/bin/gem) ]] ; then + eselect ruby set $(eselect --brief --colour=no ruby show | head -n1) + fi + + ewarn + ewarn "To switch between available Ruby profiles, execute as root:" + ewarn "\teselect ruby set ruby(23|24|...)" + ewarn +} -- cgit v1.2.3