summaryrefslogtreecommitdiff
path: root/dev-ruby/rubygems
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-ruby/rubygems
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-ruby/rubygems')
-rw-r--r--dev-ruby/rubygems/Manifest10
-rw-r--r--dev-ruby/rubygems/files/auto_gem.rb7
-rw-r--r--dev-ruby/rubygems/files/auto_gem.rb.ruby1910
-rw-r--r--dev-ruby/rubygems/files/conf.d-gem_server5
-rw-r--r--dev-ruby/rubygems/files/gentoo-defaults.rb42
-rw-r--r--dev-ruby/rubygems/files/init.d-gem_server222
-rw-r--r--dev-ruby/rubygems/metadata.xml11
-rw-r--r--dev-ruby/rubygems/rubygems-2.7.6.ebuild116
-rw-r--r--dev-ruby/rubygems/rubygems-2.7.7.ebuild116
9 files changed, 339 insertions, 0 deletions
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ruby@gentoo.org</email>
+ <name>Gentoo Ruby Project</name>
+ </maintainer>
+ <use>
+ <flag name="server">Install support for the rubygems server</flag>
+ </use>
+</pkgmetadata>
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
+}