diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-ruby/rubygems |
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-ruby/rubygems')
-rw-r--r-- | dev-ruby/rubygems/Manifest | 10 | ||||
-rw-r--r-- | dev-ruby/rubygems/files/auto_gem.rb | 7 | ||||
-rw-r--r-- | dev-ruby/rubygems/files/auto_gem.rb.ruby19 | 10 | ||||
-rw-r--r-- | dev-ruby/rubygems/files/conf.d-gem_server | 5 | ||||
-rw-r--r-- | dev-ruby/rubygems/files/gentoo-defaults.rb | 42 | ||||
-rw-r--r-- | dev-ruby/rubygems/files/init.d-gem_server2 | 22 | ||||
-rw-r--r-- | dev-ruby/rubygems/metadata.xml | 11 | ||||
-rw-r--r-- | dev-ruby/rubygems/rubygems-2.6.13.ebuild | 111 |
8 files changed, 218 insertions, 0 deletions
diff --git a/dev-ruby/rubygems/Manifest b/dev-ruby/rubygems/Manifest new file mode 100644 index 000000000000..193ba10a357a --- /dev/null +++ b/dev-ruby/rubygems/Manifest @@ -0,0 +1,10 @@ +AUX auto_gem.rb 159 SHA256 fe1efe24cd0ba36c55449e9623cd0be394980f37d12468624dad7ffdef72f4dc SHA512 e42e790013d20335ca5319803518102593408d077f22c95dcb08969c69d3a81e49e47cd002715bf760bfcd9a29304002354d8add42fd2415fb10a0a2a323d64c WHIRLPOOL 55931d6c7fa64cd95bb477a9239d058ec6c772e27712d4379372b4d2517dcaa5c15dcde63255065d80ddbd68476abe85ed0507cbfc4fda564c5cee5bd748e82b +AUX auto_gem.rb.ruby19 509 SHA256 f0f7f61b110955325be52d278fcc1d3f3ea395cd9523dba33af37a44fd59666d SHA512 2b8f4ae00fae383357dd1eb1159ecf1689cb5b79e996688ae091a157b9f27e980761ed8a771d9d3b954d325f817972c4d02f4b5d3c8f4307d2cebce7651af666 WHIRLPOOL 18a5d3452a907bf6b6da41c882fb787191c95c2a18c86dedcdcf2077a34b607b6aa91fa8cdcc5cbc12ca32c58269626a786415118b264edaf152fe8d60a29012 +AUX conf.d-gem_server 81 SHA256 aa850780bebe0e31da9732d8707a748567ca72716fd91e294dc712e71f82db2f SHA512 71630a0530ec62f4024d9bfc4e6afe1f409f3bcb5d71ee5876d1e190c9e69016571ca8f500fcc7ffea6cbc36a8dab5eef2d0c61f72de99f2776c9137010b9ccd WHIRLPOOL a99d35afa6955ad585d5e2433648130ea50065dd1f2cd1bc3763390bd20740ecd6e144a056da5067190048a9a47de20b6156e6b70c64348663f13391974978ae +AUX gentoo-defaults.rb 972 SHA256 c0f821041391c262754a5caf7314562137218119eb3510b7edfc070462c3ca57 SHA512 fd5a33c433041efeefba4bb8d550b8db66f31d4c0966188f07943f4f575ee9e13da6ef6fd66f89a4b3b979c5b310d96e2876407b79aee6ed404ca3027859160c WHIRLPOOL f31f380016108649bcf64feff752a02f1c464990cee97f89f1bb4017225968d04d684c24142c4123d2ee987783189d318c444b80953f80504c5857b939e88ae4 +AUX init.d-gem_server2 503 SHA256 f2b2aaa83e69482e1dd6b71c0c0c4b82375029d4e23f6347e8c5560b62840579 SHA512 8b9386b93a8ef43fffba5a8c4c5232265a9b0d146d24839e75874721d3377ae0c3d0f52f14592e54c9ee94d26d7a81bb125b25f8c270253cc27e4a76dd64757d WHIRLPOOL f900230bc3a753d764347e209b937c91bfca456d36416468dbdc91b7e6056444f8de4cceb2c89a1b501db0dda1e3941ccc04953c2b9dcb16e9e4608032e568f2 +DIST rubygems-2.6.13.tgz 768906 SHA256 d041502ae77e8d49e0a436483fb91f9ad6cc1489e49e0735e7c4a7cf10e728c9 SHA512 c952b6061a9a0778db304c3aa5bea693e71ae2564abfb19f8b123eef66eb1e3877fc7c36f4f1527da97bb320870cbfd4574ac57ad88e850a44fadd67ebdac152 WHIRLPOOL b03b7fcc9b4e84f1692afcc5d7111e75ade5fe777ec73f6006580e65be1f23101f0c29b9d2e9f9af5d66bb5f46ab3919cd11e37126758e9edd66609a47085739 +EBUILD rubygems-2.6.13.ebuild 4064 SHA256 8a7338cb8c4b8997eaa754e8adc841ccea1fc015346f9759268cc5f1b20100e4 SHA512 c8671ca33ba19c8629914e0743bef1b5ba3e0d09dd094463586e99659d99419bbb13202a12d2a9c69998102a2a6e314cb7aeabeae4840a89ed315cba4af50fbd WHIRLPOOL b2c77bee1d1dd051cb74e444b46bf6bb021269c7e7d0add53eb101728f8e1695ecb5cc76faa09ae51ef40128000f4dbd2c80b8e290552ee78375dae53a2fdbc4 +MISC ChangeLog 7072 SHA256 bd2bc7bccd485cebf61f987e368bd367082f05f4d0de7eef72268a17a37f9ff0 SHA512 a5b6e17113533e24f48757d1c02cd7a9c95c209a01d49c5ccc00b4e51ca90bc33a7c645aef0d43ca92b3db182b91fc823bd2e3068b112fa9744b78937cf72fc0 WHIRLPOOL 2d1853337f923ad73b3e30304013b9a169299cbb4df69863d18adb30fb506b386973d327688b87340f64566f3a468ddd7dbacc25662733c9c758038376c07b9f +MISC ChangeLog-2015 41896 SHA256 305d77cfe24e0470947e40901d582b1a2973e1f7f37777730f655f4576cec23f SHA512 bc2cdc365c3dc0efac2e30a02e9d9d6333fc2fd023c27ee038e1614c076c10abe2890265a62c93763794971ff9821fdf2cdd1d62bf8514c2bb29118b671cd61b WHIRLPOOL c91c086363e286572b483c5a9612b75a69351cdcaa651612b26341c0c795602e7c8dfbf1df66661f6f410d0b67f0b6eece369742fdc5a80ca837fd9c7c9410ee +MISC metadata.xml 335 SHA256 bab66dededb00ca646623a09584d00c8639c00aa41c8827b5990358cd023e6e9 SHA512 fd7bf880ad68fe5f1fe8eb79f9662af87831ed499517d5a97e22f18a4ddafc69d53118f020e15c3b8b171fe144bf6cb0ce799beaa6e4e4bdc01c984ab582388e WHIRLPOOL 660543fa0d7e9aea36220a8f98a9e7f39ecd180533cf712c101766adc45bea546431287af302737383337c32d597efe7983db6500453b109ffa51dc13093042b 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.6.13.ebuild b/dev-ruby/rubygems/rubygems-2.6.13.ebuild new file mode 100644 index 000000000000..1740977337c5 --- /dev/null +++ b/dev-ruby/rubygems/rubygems-2.6.13.ebuild @@ -0,0 +1,111 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +USE_RUBY="ruby22 ruby23 ruby24" + +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/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 + + # 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 +} + +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} -I.:lib:test \ + -e '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.rdoc + + 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(21|22|...)" + ewarn +} |