From 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 14 Jul 2018 21:03:06 +0100 Subject: gentoo resync : 14.07.2018 --- dev-ruby/rubygems/Manifest | 10 +++ dev-ruby/rubygems/files/auto_gem.rb | 7 ++ dev-ruby/rubygems/files/auto_gem.rb.ruby19 | 10 +++ dev-ruby/rubygems/files/conf.d-gem_server | 5 ++ dev-ruby/rubygems/files/gentoo-defaults.rb | 42 +++++++++++ dev-ruby/rubygems/files/init.d-gem_server2 | 22 ++++++ dev-ruby/rubygems/metadata.xml | 11 +++ dev-ruby/rubygems/rubygems-2.7.6.ebuild | 116 +++++++++++++++++++++++++++++ dev-ruby/rubygems/rubygems-2.7.7.ebuild | 116 +++++++++++++++++++++++++++++ 9 files changed, 339 insertions(+) create mode 100644 dev-ruby/rubygems/Manifest create mode 100644 dev-ruby/rubygems/files/auto_gem.rb create mode 100644 dev-ruby/rubygems/files/auto_gem.rb.ruby19 create mode 100644 dev-ruby/rubygems/files/conf.d-gem_server create mode 100644 dev-ruby/rubygems/files/gentoo-defaults.rb create mode 100644 dev-ruby/rubygems/files/init.d-gem_server2 create mode 100644 dev-ruby/rubygems/metadata.xml create mode 100644 dev-ruby/rubygems/rubygems-2.7.6.ebuild create mode 100644 dev-ruby/rubygems/rubygems-2.7.7.ebuild (limited to 'dev-ruby/rubygems') diff --git a/dev-ruby/rubygems/Manifest b/dev-ruby/rubygems/Manifest new file mode 100644 index 000000000000..79b7ac1c202a --- /dev/null +++ b/dev-ruby/rubygems/Manifest @@ -0,0 +1,10 @@ +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.rb 972 BLAKE2B 4353b782296ad04f400fbdbd67dcc2f26b23a9bc4a716d107a8f98c5058676c675eb42e1d5e0a7214cd74df9148d54220c0202189938c45f4000301e52a3a73f SHA512 fd5a33c433041efeefba4bb8d550b8db66f31d4c0966188f07943f4f575ee9e13da6ef6fd66f89a4b3b979c5b310d96e2876407b79aee6ed404ca3027859160c +AUX init.d-gem_server2 503 BLAKE2B 7c602202ba101a5ed7e74a67bc4183085a98fdefb5528afbf975a9f834ce71eb1342bf2ff6206ec6fb8fbb893c908f1aa1cb7a067ec9f161a6205de220ee5259 SHA512 8b9386b93a8ef43fffba5a8c4c5232265a9b0d146d24839e75874721d3377ae0c3d0f52f14592e54c9ee94d26d7a81bb125b25f8c270253cc27e4a76dd64757d +DIST rubygems-2.7.6.tgz 852486 BLAKE2B b2c7cf7f2ce5a27beff846d85a3ca2867a4bbadd5bc76af0df76e774c239979bc4b3fac406a65c45444c9f401f92cd1058b45c8b3750c1ee5477cd2b4b513709 SHA512 bc168afc40c974dbc7c37eb5678432ba2ed7469c3f007a159699467ff2cff5205c508237193ee8becaa6eb555b043969cc5f92b2aaa6bf7c958dd7c187e258a7 +DIST rubygems-2.7.7.tgz 915847 BLAKE2B a7a2ae2b88d7e6bfc68c298802dd29d6dd0c76573e39a3088ba06b112761059f6bbbe4565e7e7e22fb1121fc597c2139dc8a80ae1555ab15713cb2ebc50f5710 SHA512 f93b7eacf5ef8725c40d618daf9deabc7e9eed74b3b7f13ecd16f89205fe24958e782314c52f8a8fe3205b93e20b830b4fbf7ff8944ff1cf56feb7de2d773252 +EBUILD rubygems-2.7.6.ebuild 4402 BLAKE2B 676944287a3dcc19d81fb767b230a81722458e3326ae45bf92dee940e665c737e14493ffb985eb946bd44d7cc74cb9a349c200976887722f96cd8646448adb52 SHA512 e0748516cb6effd9153a72490ca0e0660c0a27db18d10858cc0dcfa0380dba8be9c8824684f9b2077f52cc43a506c360935068380f6ab6392c9970015093341b +EBUILD rubygems-2.7.7.ebuild 4411 BLAKE2B f7c29b2b5d4feec9e59f9f9e0632d7b0064c7f73b7c80f4c91d69afda0ebe05c03ccdff64146afa78e41e80fe547ec9e8d2ad697add9cd50411c1c10a8e1b5c6 SHA512 f6736fca01c08db1e4d17a0be07dedb2f1c2a71ab82347292089fbd71c092f46aa2faffc9cf730c97938520e9777dd71321681967b6bf36fba567a9aa0472b98 +MISC metadata.xml 335 BLAKE2B c86eaf3d37fad025b8f6ca0b03e65b1b472716b4fda4ca4d08b415b29a63405d8e7b2684d309091c90411c5fe809e5129c6e0c0c4e7a982b4aa062ffdd0ca7fb SHA512 fd7bf880ad68fe5f1fe8eb79f9662af87831ed499517d5a97e22f18a4ddafc69d53118f020e15c3b8b171fe144bf6cb0ce799beaa6e4e4bdc01c984ab582388e diff --git a/dev-ruby/rubygems/files/auto_gem.rb b/dev-ruby/rubygems/files/auto_gem.rb new file mode 100644 index 000000000000..5c4f540a92df --- /dev/null +++ b/dev-ruby/rubygems/files/auto_gem.rb @@ -0,0 +1,7 @@ +# This file is installed by Gentoo's rubygems package. +# It's intended to help automate the loading of rubygems + +begin +require 'rubygems' +rescue LoadError +end diff --git a/dev-ruby/rubygems/files/auto_gem.rb.ruby19 b/dev-ruby/rubygems/files/auto_gem.rb.ruby19 new file mode 100644 index 000000000000..e7d564264d68 --- /dev/null +++ b/dev-ruby/rubygems/files/auto_gem.rb.ruby19 @@ -0,0 +1,10 @@ +# DO NOT USE THIS FILE! +# --------------------- +# This file is a placebo for Ruby 1.9 to work with a legacy feature, Gentoo +# added to Ruby 1.8 and earlier, loading rubygems automatically (auto_gem). +# It is no longer needed, but ruby19 needs this file to operate properly on +# a system containing older versions of Ruby and thus the legacy feature. +# +# REMOVAL NOTE: +# You may remove this file if you are running a Ruby >=1.9.1 *only* system +# or have disabled the Gentoo auto_gem.rb/RUBYOPT=auto_gem magic. diff --git a/dev-ruby/rubygems/files/conf.d-gem_server b/dev-ruby/rubygems/files/conf.d-gem_server new file mode 100644 index 000000000000..b9cfa3f557ee --- /dev/null +++ b/dev-ruby/rubygems/files/conf.d-gem_server @@ -0,0 +1,5 @@ +# /etc/conf.d/gem_server + +# See `gem_server --help` for more + +GEM_SERVER_OPTS="" diff --git a/dev-ruby/rubygems/files/gentoo-defaults.rb b/dev-ruby/rubygems/files/gentoo-defaults.rb new file mode 100644 index 000000000000..a645f4868281 --- /dev/null +++ b/dev-ruby/rubygems/files/gentoo-defaults.rb @@ -0,0 +1,42 @@ +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 + + undef :default_dir + def default_dir + Process.euid == 0 ? local_dir : user_dir + end + + undef :default_path + def default_path + [user_dir, local_dir, portage_gems_dir] + end + + undef :default_bindir + def default_bindir + Process.euid == 0 ? "@GENTOO_PORTAGE_EPREFIX@/usr/local/bin" : File.join(user_dir, 'bin') + end + + undef :ruby_engine + def ruby_engine + if defined? RUBY_DESCRIPTION and RUBY_DESCRIPTION =~ /Ruby Enterprise Edition/ + "rubyee" + else + # Ruby 1.8 and Ruby 1.9.2_rc2 and later install here, and JRuby + # rewrites that anyway. + "ruby" + end + end + + def system_config_path + "@GENTOO_PORTAGE_EPREFIX@/etc" + end + end +end diff --git a/dev-ruby/rubygems/files/init.d-gem_server2 b/dev-ruby/rubygems/files/init.d-gem_server2 new file mode 100644 index 000000000000..c7a6b6f1dc0b --- /dev/null +++ b/dev-ruby/rubygems/files/init.d-gem_server2 @@ -0,0 +1,22 @@ +#!/sbin/openrc-run +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +PID=/var/run/gem_server.pid + +depend() { + need localmount net +} + +start() { + ebegin "Starting gem_server" + start-stop-daemon --start --chuid nobody --quiet --background --make-pidfile \ + --pidfile ${PID} --exec /usr/bin/ruby -- /usr/bin/gem server ${GEM_SERVER_OPTS} + eend ${?} +} + +stop() { + ebegin "Stopping gem_server" + start-stop-daemon --stop --pidfile ${PID} + eend ${?} +} diff --git a/dev-ruby/rubygems/metadata.xml b/dev-ruby/rubygems/metadata.xml new file mode 100644 index 000000000000..2a41a1260a3c --- /dev/null +++ b/dev-ruby/rubygems/metadata.xml @@ -0,0 +1,11 @@ + + + + + ruby@gentoo.org + Gentoo Ruby Project + + + Install support for the rubygems server + + diff --git a/dev-ruby/rubygems/rubygems-2.7.6.ebuild b/dev-ruby/rubygems/rubygems-2.7.6.ebuild new file mode 100644 index 000000000000..58c82993295f --- /dev/null +++ b/dev-ruby/rubygems/rubygems-2.7.6.ebuild @@ -0,0 +1,116 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +USE_RUBY="ruby22 ruby23 ruby24 ruby25" + +inherit ruby-ng prefix + +DESCRIPTION="Centralized Ruby extension management system" +HOMEPAGE="https://rubygems.org/" +LICENSE="|| ( 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-2.1 )" + +ruby_add_bdepend " + test? ( + dev-ruby/json + >=dev-ruby/minitest-4:0 + dev-ruby/rdoc + )" + +all_ruby_prepare() { + + mkdir -p lib/rubygems/defaults || die + cp "${FILESDIR}/gentoo-defaults.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 + + # 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\)/,/^ 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 +} + +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", "~>4.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 +} diff --git a/dev-ruby/rubygems/rubygems-2.7.7.ebuild b/dev-ruby/rubygems/rubygems-2.7.7.ebuild new file mode 100644 index 000000000000..bc4d93c8c1ec --- /dev/null +++ b/dev-ruby/rubygems/rubygems-2.7.7.ebuild @@ -0,0 +1,116 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +USE_RUBY="ruby22 ruby23 ruby24 ruby25" + +inherit ruby-ng prefix + +DESCRIPTION="Centralized Ruby extension management system" +HOMEPAGE="https://rubygems.org/" +LICENSE="|| ( 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-2.1 )" + +ruby_add_bdepend " + test? ( + dev-ruby/json + >=dev-ruby/minitest-4:0 + dev-ruby/rdoc + )" + +all_ruby_prepare() { + + mkdir -p lib/rubygems/defaults || die + cp "${FILESDIR}/gentoo-defaults.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 + + # 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\)/,/^ 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 +} + +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", "~>4.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