summaryrefslogtreecommitdiff
path: root/dev-ruby/rubygems
diff options
context:
space:
mode:
Diffstat (limited to 'dev-ruby/rubygems')
-rw-r--r--dev-ruby/rubygems/Manifest3
-rw-r--r--dev-ruby/rubygems/files/gentoo-defaults-4.rb63
-rw-r--r--dev-ruby/rubygems/rubygems-3.1.2.ebuild101
3 files changed, 167 insertions, 0 deletions
diff --git a/dev-ruby/rubygems/Manifest b/dev-ruby/rubygems/Manifest
index ee10b0c77c00..e2b75115f905 100644
--- a/dev-ruby/rubygems/Manifest
+++ b/dev-ruby/rubygems/Manifest
@@ -2,14 +2,17 @@ AUX auto_gem.rb 159 BLAKE2B f5091d3df1318606e623a3bde402bb51b693875ba9504e0a48a9
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 1899 BLAKE2B 5a0d83e40bae62ce76e1caf609cc931aaa6cd40ff41ccdc68f0bdfd9559b8691dbc7293d72715b0555122c8c87e695660e8ebff326a2b2805fbfde8711318e48 SHA512 5da2b92f6ca56ed3fa9e51258f9e5c13883c8da34236b609c0d43ef8b788b97a6d5fb2ede235340d8ed99c0c09b32ff76bb6a3f190d55b5b2e1832f66af0d3cd
+AUX gentoo-defaults-4.rb 1907 BLAKE2B 6e41d5534d47ef7bad5ae798fff81dd8ab928ef97f771150d7d6198e7d10fd5ec8625c044a77a8549d7ebf0947a4578e8cd860b5362f3a8c7352495a14928857 SHA512 86b25f61689044496dbf41424664e0109714abc212a536a75e20146617c55176b9a77edcc2c633de30ecacaf0f48c8f7820007bed1dd2d4c31e004f545fdfb2b
AUX gentoo-defaults.rb 972 BLAKE2B 4353b782296ad04f400fbdbd67dcc2f26b23a9bc4a716d107a8f98c5058676c675eb42e1d5e0a7214cd74df9148d54220c0202189938c45f4000301e52a3a73f SHA512 fd5a33c433041efeefba4bb8d550b8db66f31d4c0966188f07943f4f575ee9e13da6ef6fd66f89a4b3b979c5b310d96e2876407b79aee6ed404ca3027859160c
AUX init.d-gem_server2 505 BLAKE2B ea5807a1c8ffdaa61bf37315c71d910bbf2bf4b0b4c62e3cef3b76176e9cc1fc39272f59bd46e55e17427f730315e2c691fa3f471c1cbf697073c45c0c7589a2 SHA512 fc2c57f4deebf479a36e69c3507f109abeda9f73b22bb2e617f56e6be0069af075fa6d66708d7324922f3d8bfaa96bd8c71292d9e388e27217cc7687ab4004e1
DIST rubygems-2.7.10.tgz 863618 BLAKE2B 26a453d2808cbf03caa6f2ef4a829418de58f4ed0c7584935a0ad5fc722d7fbdf9f442261f96fdca4b6975b62608965d2f0053d3046da59771be373bed21154a SHA512 48a18c0f202f463c38cf5dafecfbc7cc39245e63c7a059ef2cefadda478483794a929ea6b7e0ef062dd4423230746f1f09d7bec06a97fe3ceccc3325397a3e71
DIST rubygems-3.0.3.tgz 904175 BLAKE2B d99de4bdd51779ab214bc4a81f55483341a2c193d4304b8eeb6105cb95877e0a33fe03d93c47433ad3c6bdc8d3e453e33ffb799fd36164feac31616f95eeced4 SHA512 1dd585243341901c7b4cc60a4902000c10ce57fe2cc9c28e27e274a2e6029f936cde1c99d7097c93c2c5b2c8bcee5d692c8fe5cc00c996a040e4954b674e330e
DIST rubygems-3.0.4.tgz 883664 BLAKE2B d5ec493657c055561aa9c0c09719529857706db197bf266ef4c51e48e6f97c08d85a8923b0c6fd72b3fd6ecb584533ff8ca56515c555e9c5b786b0d99ad2a16e SHA512 887c64226ec0b32d33f2ea331936683406d54dc74d19e658a23521e25ab50aa23534fe9eecaf696154247ad1df1d24c233d8900b9aabc79096eebd6afef3f775
DIST rubygems-3.0.6.tgz 887156 BLAKE2B 685cfb108cc684ecbbcee6fe341baa429ac28f331b3db444c5ed3557bc169147dddc8d226780a85842bf1de2e24f6a60b0464820afa2a6838221c22543a36daa SHA512 1ef1822a2b19790a36a6d242b7d4584222617baa27787ec58961a9cfeb2733f19f9085490ffc72ee375d3153c7114e050c42e68fc8039e727fe5961b09365ee5
+DIST rubygems-3.1.2.tgz 995386 BLAKE2B bddf5dfc3568402257a2218642e6a15fe904b837114b9ce3a1aad155b235e42d96b1b0d4c6be1ee2e71712b8f1876902c343afdcb6d191ae0a6560f582cb282c SHA512 707525a98d14d46e69922e1deecd3b6c4caa090ee8113ba43b3912dc615cd2b1e0a083ecd0876a08b69c209bc05bba67d179f70d65aca45a92ac543170f13d39
EBUILD rubygems-2.7.10.ebuild 4531 BLAKE2B c3417b9d7419ac2aa79a94891af32db6c4381e07099e8560b69ad7e08784c129ba6531e3450cc962b0a4378a7b308dfb738b5c3ecb22a3abb3f36174fc095bf7 SHA512 7be0c80531ab067ff6aaa5306c9b35a43feba0ef1d4785ba770ccccbc4d68d18c0cf91e635dc666575fd7a46c1e04882cd724c8efba6348f28dcf301c4754089
EBUILD rubygems-3.0.3.ebuild 4674 BLAKE2B 836befdf9cf603635699fd75566d2158776b4921001706a7697df8889dc5e666ee24a29c5f5cae7db9d51d7a0b6980fb5ef30c3b6347b343ea7bdca6ead2fc78 SHA512 0918075a568834cc55bc616b147eb08926de6e28aed916f06eee857788eebf5912bee6fc76f510ca8d4d0d1b99f51af365f22853c81a22a5acc55c7e640c55a2
EBUILD rubygems-3.0.4-r1.ebuild 2529 BLAKE2B 9097b5cc04d2fa5b22a30e7dfd7135eca6731aa98a76081165f8d0d39ab6d8a03013615cdb362ad4031c90680729bbaecac9d6b65d429796023e1b2b402a2a7c SHA512 b206a48a22c249e9b1f8212866c9ca989999c7a5460ab6ed0e8d5974e724270ed5defa7fcf284e6794ddba347ec28e1ec985561b04f73e638a02b368fe35bd59
EBUILD rubygems-3.0.6.ebuild 2530 BLAKE2B f1ae60373637d6bf8033da863f78a144228b37362355916fda7efff53011adff3c230f2431daeab2f712bb5568f3b9f7ecca87a5c6852150e0233fc34c5f42c1 SHA512 8be7c73d249ff534b601b301108007e1ee172ade982bd4c66bae551684b97d07f424b2ad646f5f663deba44b8cbc22e82ef9864604a7925e5d0bdaea356c7b49
+EBUILD rubygems-3.1.2.ebuild 2839 BLAKE2B 56a37bbb42f24c64a0e231d48240c012e559475e67cef6db334a98227cec97c0b5a2ab453c7fe376547e2bce8410d38affe634f49b9fc3ed56e7d5edd2c14b53 SHA512 b5f404e0716ab7f241228818ffc287468a45905cf6e91face721e85e16230fca485199e60856b060adc6fa1735acea06f77e573a4f2b2e41e16fde9974dc82a8
MISC metadata.xml 335 BLAKE2B c86eaf3d37fad025b8f6ca0b03e65b1b472716b4fda4ca4d08b415b29a63405d8e7b2684d309091c90411c5fe809e5129c6e0c0c4e7a982b4aa062ffdd0ca7fb SHA512 fd7bf880ad68fe5f1fe8eb79f9662af87831ed499517d5a97e22f18a4ddafc69d53118f020e15c3b8b171fe144bf6cb0ce799beaa6e4e4bdc01c984ab582388e
diff --git a/dev-ruby/rubygems/files/gentoo-defaults-4.rb b/dev-ruby/rubygems/files/gentoo-defaults-4.rb
new file mode 100644
index 000000000000..1da07f64ddef
--- /dev/null
+++ b/dev-ruby/rubygems/files/gentoo-defaults-4.rb
@@ -0,0 +1,63 @@
+# 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
+ RbConfig::CONFIG['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
+ begin
+ undef :operating_system_defaults
+ rescue NameError
+ # Avoid either runtime errors or redefinition warnings since
+ # this method is not present in all rubygem versions distributed
+ # with dev-lang/ruby.
+ end
+ 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.1.2.ebuild b/dev-ruby/rubygems/rubygems-3.1.2.ebuild
new file mode 100644
index 000000000000..090abfea7b7c
--- /dev/null
+++ b/dev-ruby/rubygems/rubygems-3.1.2.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+USE_RUBY="ruby24 ruby25 ruby26 ruby27"
+
+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-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+SLOT="0"
+IUSE="server test"
+RESTRICT="!test? ( test )"
+
+PDEPEND="server? ( =dev-ruby/builder-3* )"
+
+ruby_add_bdepend "
+ test? (
+ dev-ruby/json
+ dev-ruby/minitest:5
+ dev-ruby/rake
+ dev-ruby/rdoc
+ )"
+
+all_ruby_prepare() {
+
+ mkdir -p lib/rubygems/defaults || die
+ cp "${FILESDIR}/gentoo-defaults-4.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
+ # Avoid test that won't work as json is also installed as plain ruby code
+ sed -i -e '/test_realworld_default_gem/askip "gentoo"' test/rubygems/test_require.rb || die
+
+ # Update manifest after changing files to avoid a test failure
+ if use test; then
+ rake update_manifest || die
+ fi
+}
+
+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
+
+ newbin bin/gem $(basename ${RUBY} | sed -e 's:ruby:gem:')
+}
+
+all_ruby_install() {
+ dodoc History.txt README.md
+
+ if use server; then
+ newinitd "${FILESDIR}/init.d-gem_server2" gem_server
+ newconfd "${FILESDIR}/conf.d-gem_server" gem_server
+ 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(25|26|...)"
+ ewarn
+}