add all my local ebuilds

git-svn-id: https://svn.disconnected-by-peer.at/svn/linamh/trunk/linamh@602 6952d904-891a-0410-993b-d76249ca496b
This commit is contained in:
geos_one
2008-12-08 19:43:30 +00:00
parent f4ff06f869
commit 6f340e9462
236 changed files with 5536 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
AUX 0.8.11-install.rb.extract_files.patch 1416 RMD160 1af89ae0536a8139a849e66a71e27c205b1a5a0a SHA1 f7feb72e775ddaf48b455f66a719575306e4e09b SHA256 801106efb151be063fca60dd3eed4a981424e4a7ce65f60eb97606453ebffde2
AUX 10rubygems 21 RMD160 02441be7de6307bbb859fbc2bf5891809fe9ecf8 SHA1 3f98150bfb39a3f3f1dfabcf2d9bf80051960d81 SHA256 8c30de9ba7f327237af47f85d8f7f6701d34c9a8780ff7303244667568ca5833
AUX auto_gem.rb 159 RMD160 fbf261e5cf0a8450c51c33a7ad4dafbab21bd518 SHA1 8dde3d73f65998f4c5552924ad49e1441e1b211d SHA256 fe1efe24cd0ba36c55449e9623cd0be394980f37d12468624dad7ffdef72f4dc
AUX conf.d-gem_server 81 RMD160 8c5c57e989e009b87fcb345185f3f1e3acaf517d SHA1 4d43d760253a478adbce597148ff1c4e414e8eea SHA256 aa850780bebe0e31da9732d8707a748567ca72716fd91e294dc712e71f82db2f
AUX init.d-gem_server 502 RMD160 9fe089f462edff052e6b7fa6ea3803e0178f41ef SHA1 e00ead252760613865f5e655ff2e559e7578d28f SHA256 b6166c27021880ee1509eb68092f0d3d0550adb9d6b0dcb9396c91c725c5218e
AUX init.d-gem_server2 502 RMD160 baf764bc5ad41adce73576b2376093744ddd3917 SHA1 ad332343eab53b4be8d796999063ec2018245a4b SHA256 b7f7d215bb3dba02150dbdc431a84308010515ad4c5d9776d0dd5b99bf9a2cee
AUX no-manage_gems.patch 472 RMD160 e70f8c939f4e35a5fb7e0ccc3935cda8089fd569 SHA1 eca009a56418bf076c1153d2a71ab4fe3a576f8a SHA256 36a4a5cca5c32185f5057934f10c28704f64ba1cb586120f20473875413b9f93
AUX no-system-rubygems.patch 376 RMD160 05d535ae617b5d712f53883f4eaf614e3cd941c4 SHA1 74fa2092861b2e4a27d2e5c4de5c2887a99b4fe1 SHA256 94814341463b76ef1a56455ad89a880e69c276f32c07931758a5e7c7d693dac9
AUX no_post_install.patch 204 RMD160 e903ea665032f9695b7a05ec4b7b46f1351afcc2 SHA1 ba6f291af9552df9d134d5e4ef76c70ca0a0419a SHA256 85fb8720c63c3b3ff5257acd7b3be9a370f13364c800189006f7b9d4954ad536
AUX rubygems-0.9.1-no_post_install.patch 317 RMD160 5fc0efc85cacfca6a6f4f59e0d6c7c1159c0ce1a SHA1 06141b0b5b9a2b7ec51befe0b118f53b230eb5f0 SHA256 c0cad34d968f6082f637c9144fc6075a6da383d7c2828a96574e5622d6619ee6
AUX rubygems-0.9.1-no_rdoc_install.patch 327 RMD160 088ebdd6ff4a5df74f1e741eab56cea61f90bad8 SHA1 c000e3575accede2220acec7e312821841f66d3b SHA256 2bd1d7637843b66148f50a8bb9b2c6ea55c6f19a7d25413bc978f3aac18ebcba
AUX rubygems-0.9.4-shebang-env-fix.patch 1064 RMD160 c9532f60054199cd4c2a2e305e114a28eb929bfa SHA1 d2e4a561a53f667de6ec1f9e66b56dc18b729c63 SHA256 50402d910bf01e59f68d4aba4aedd5218ecd927d13fe2aa84fbd36b893c1c22e
AUX rubygems-0.9.5-setup.patch 1794 RMD160 3b417ae647a187dbfa27aeca41c045a5e593400c SHA1 e3216b98fa73790c5294e429814a4afa6479d202 SHA256 1c516056489c760de1aa2bdd826c763cfb72193f9b038023499f7b08bec7579a
AUX rubygems-1.1.0-dependency-installer-install-dir-fix.patch 664 RMD160 e065cdfb53d9ee441f2f99bec0277eceb8b1ef4c SHA1 5042cfa95c50cf882f1d6e54371763e49ef557c6 SHA256 0a3a4800cc61e6afa47f1abe9e580f90f4b8e3134e51f24cb8cf526951336744
AUX rubygems-1.1.0-setup.patch 1522 RMD160 f29438e5caa31660f7c0059b0c91713cda492c14 SHA1 687014af8a563462e497ab386fb8f81894f3458d SHA256 ed36f08538ef915d97015d51294cdb7327ee8f0eec8b581bcd09da11ba147849
AUX rubygems-1.1.1-setup.patch 1555 RMD160 f36324fb0b4092d7af330a55db19c2de70b8a66b SHA1 07f6c0d5f32640fdd3762c56caf184004c687d47 SHA256 9f8006fdf6d43a97773029ce695ed384ae0bd6ea3e5ad18c64c8e8ea8babc86d
AUX rubygems-1.2.0-setup-notmpdir.patch 1921 RMD160 514031631120221cd40d22cfce67b55661fba672 SHA1 460401b0c0c87059dc1beae812418745b325fa8b SHA256 de57ba7fd0db3c55cce75333c606c200aef8c0c768f63287878d27f8fd0c6f8b
AUX rubygems-1.2.0-setup.patch 1534 RMD160 e253b5bf4b21a79e67bd4809cb0decad87240a77 SHA1 15dcec952759233a257dfb825df4ad05fac24e26 SHA256 a95b44921346f82384a5799cc92e2a4a8abde8e6073693349eb3c28d928c09c5
DIST rubygems-1.2.0.tgz 246920 RMD160 c66444cc3f372f7170ba1d8ef3c456052acb2bde SHA1 89f8e35f03e1e8057cc8e237f2df025642653dde SHA256 28af450a85fd74ae8bd315023cbeeff98a132720978fa009199f6c95f4bb372d
EBUILD rubygems-1.2.0-r1.ebuild 2853 RMD160 83a9baece490c9e94f31a61a3fafb22e11387bb9 SHA1 5c4cad9de60ebcd5ac2537471755578dc365c64f SHA256 95727c740d28436010018c79c54e419fb94eef29411376671661564bb0c776e2

View File

@@ -0,0 +1,42 @@
Index: lib/rubygems/installer.rb
===================================================================
--- lib/rubygems/installer.rb (revision 1195)
+++ lib/rubygems/installer.rb (working copy)
@@ -7,6 +7,8 @@ require 'rubygems/dependency_list'
module Gem
+ class InstallError < Gem::Exception; end
+
class DependencyRemovalException < Gem::Exception; end
##
@@ -321,14 +323,20 @@ TEXT
#
def extract_files(directory, format)
require 'fileutils'
- wd = Dir.getwd
- Dir.chdir directory do
- format.file_entries.each do |entry, file_data|
- path = entry['path']
- FileUtils.mkdir_p File.dirname(path)
- File.open(path, "wb") do |out|
- out.write file_data
- end
+ format.file_entries.each do |entry, file_data|
+ path = entry['path']
+ if path =~ /\A\// then # for extra sanity
+ raise Gem::InstallError,
+ "attempt to install file into #{entry['path'].inspect}"
+ end
+ path = File.expand_path File.join(directory, path)
+ if path !~ /\A#{Regexp.escape(File.expand_path(directory))}/ then
+ raise Gem::InstallError,
+ "attempt to install file into #{entry['path'].inspect}"
+ end
+ FileUtils.mkdir_p File.dirname(path)
+ File.open(path, "wb") do |out|
+ out.write file_data
end
end
end

View File

@@ -0,0 +1 @@
RUBYOPT="-rauto_gem"

View File

@@ -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

View File

@@ -0,0 +1,5 @@
# /etc/conf.d/gem_server
# See `gem_server --help` for more
GEM_SERVER_OPTS=""

View File

@@ -0,0 +1,22 @@
#!/sbin/runscript
# Copyright 1999-2007 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 ${?}
}

View File

@@ -0,0 +1,22 @@
#!/sbin/runscript
# 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 ${?}
}

View File

@@ -0,0 +1,13 @@
diff -ur rubygems-0.8.11/post-install.rb rubygems-0.8.11.new/post-install.rb
--- rubygems-0.8.11/post-install.rb 2005-07-10 06:18:40.000000000 +0700
+++ rubygems-0.8.11.new/post-install.rb 2007-01-26 22:05:18.000000000 +0700
@@ -61,7 +61,8 @@
def install_sources
$: << "lib"
require 'rubygems'
- Gem::manage_gems
+ require 'rubygems/builder'
+ require 'rubygems/installer'
Dir.chdir("pkgs/sources") do
load "sources.gemspec"
spec = Gem.sources_spec

View File

@@ -0,0 +1,12 @@
diff -ur rubygems-0.9.0/post-install.rb rubygems-0.9.0.new/post-install.rb
--- rubygems-0.9.0/post-install.rb 2006-06-07 10:39:53.000000000 +0700
+++ rubygems-0.9.0.new/post-install.rb 2007-01-28 16:53:13.000000000 +0700
@@ -65,7 +65,7 @@
end
def install_sources
- $: << "lib"
+ $:.unshift "lib"
require 'rubygems'
Gem::manage_gems
Dir.chdir("pkgs/sources") do

View File

@@ -0,0 +1,9 @@
--- post-install.rb.orig 2005-10-20 10:46:25.000000000 -0500
+++ post-install.rb 2005-10-20 10:46:29.000000000 -0500
@@ -71,6 +71,5 @@
end
install_windows_batch_files
-remove_stubs
install_sources

View File

@@ -0,0 +1,9 @@
diff -ur rubygems-0.9.1/post-install.rb rubygems-0.9.1.new/post-install.rb
--- rubygems-0.9.1/post-install.rb 2007-01-16 07:31:27.000000000 +0700
+++ rubygems-0.9.1.new/post-install.rb 2007-01-17 20:05:04.000000000 +0700
@@ -117,5 +117,4 @@
remove_old_rdoc
install_rdoc
install_windows_batch_files
-remove_stubs

View File

@@ -0,0 +1,11 @@
diff -ur rubygems-0.9.1/post-install.rb rubygems-0.9.1.new/post-install.rb
--- rubygems-0.9.1/post-install.rb 2007-01-17 20:18:48.000000000 +0700
+++ rubygems-0.9.1.new/post-install.rb 2007-01-17 20:18:24.000000000 +0700
@@ -114,7 +114,5 @@
end
install_sources
-remove_old_rdoc
-install_rdoc
install_windows_batch_files

View File

@@ -0,0 +1,20 @@
This patch is taken from r1441 of rubygems's SVN repository to fix
rewriting of /usr/bin/env shebang patch with additional arguments to
the ruby interpreter. Without the patch the regexp would not match,
leaving the /usr/bin/env in place. This causes problems on platforms
that pass the remainder of the shebang line as a single argument, such
as Linux. See bug #199378 for all the details.
This patch should no longer be needed with rubygems 0.9.5.
--- lib/rubygems/installer.rb.~1~ 2007-05-10 21:01:45.000000000 +0200
+++ lib/rubygems/installer.rb 2007-11-18 14:18:31.000000000 +0100
@@ -254,7 +254,7 @@
path_to_ruby = File.join(Config::CONFIG['bindir'], Config::CONFIG['ruby_install_name'])
if first_line =~ /^#!/
# Preserve extra words on shebang line, like "-w". Thanks RPA.
- shebang = first_line.sub(/\A\#!\s*\S*ruby\S*/, "#!" + path_to_ruby)
+ shebang = first_line.sub(/\A\#!.*?ruby\S*/, "#!" + path_to_ruby)
else
# Create a plain shebang line.
shebang = "#!" + path_to_ruby

View File

@@ -0,0 +1,70 @@
Index: setup.rb
===================================================================
--- setup.rb (revision 1542)
+++ setup.rb (working copy)
@@ -72,8 +72,8 @@
raise "invalid --prefix #{prefix.inspect}" if prefix.nil?
- lib_dir = File.join prefix, 'lib'
- bin_dir = File.join prefix, 'bin'
+ lib_dir = File.join prefix, Config::CONFIG['sitelibdir']
+ bin_dir = File.join prefix, Config::CONFIG['bindir']
mkdir_p lib_dir
mkdir_p bin_dir
@@ -173,26 +173,12 @@
end
end
-# Remove source caches
-
-require 'rubygems/source_info_cache'
-
-user_cache_file = Gem::SourceInfoCache.user_cache_file
-system_cache_file = Gem::SourceInfoCache.system_cache_file
-
-rm user_cache_file if File.writable? user_cache_file
-rm system_cache_file if File.writable? system_cache_file
-
# install RDoc
-gem_doc_dir = File.join Gem.dir, 'doc'
+gem_doc_dir = File.join prefix, Gem.dir, 'doc'
+unless ARGV.include? '--no-rdoc'
if File.writable? gem_doc_dir then
- puts "Removing old RubyGems RDoc and ri..."
- Dir[File.join(Gem.dir, 'doc', 'rubygems-[0-9]*')].each do |dir|
- rm_rf dir
- end
-
def run_rdoc(*args)
args << '--quiet'
args << '--main' << 'README'
@@ -204,7 +190,7 @@
rubygems_name = "rubygems-#{Gem::RubyGemsVersion}"
- doc_dir = File.join Gem.dir, 'doc', rubygems_name
+ doc_dir = File.join prefix, Gem.dir, 'doc', rubygems_name
unless ARGV.include? '--no-ri' then
ri_dir = File.join doc_dir, 'ri'
@@ -221,8 +207,10 @@
puts "Skipping RDoc generation, #{gem_doc_dir} not writable"
puts "Set the GEM_HOME environment variable if you want RDoc generated"
end
+end
# Remove stubs
+if false # Don't want this
def stub?(path)
return unless File.readable? path
@@ -268,3 +256,4 @@
puts "No library stubs found."
end
+end

View File

@@ -0,0 +1,13 @@
Index: lib/rubygems/dependency_installer.rb
===================================================================
--- lib/rubygems/dependency_installer.rb (revision 1678)
+++ lib/rubygems/dependency_installer.rb (working copy)
@@ -189,7 +189,7 @@
say "Installing gem #{spec.full_name}" if Gem.configuration.really_verbose
_, source_uri = @specs_and_sources.assoc spec
- local_gem_path = Gem::RemoteFetcher.fetcher.download spec, source_uri
+ local_gem_path = Gem::RemoteFetcher.fetcher.download spec, source_uri, @install_dir
inst = Gem::Installer.new local_gem_path,
:env_shebang => @env_shebang,

View File

@@ -0,0 +1,61 @@
Source: Richard Brown
Upstream: no
Reason: respect --prefix properly, stop stamping on live filesystem.
--- setup.rb.orig 2008-03-27 23:09:24.000000000 +0000
+++ setup.rb 2008-03-29 09:12:32.000000000 +0000
@@ -81,8 +81,8 @@
raise "invalid --prefix #{prefix.inspect}" if prefix.nil?
- lib_dir = File.join prefix, 'lib'
- bin_dir = File.join prefix, 'bin'
+ lib_dir = File.join prefix, Config::CONFIG['sitelibdir']
+ bin_dir = File.join prefix, Config::CONFIG['bindir']
mkdir_p lib_dir
mkdir_p bin_dir
@@ -187,30 +187,15 @@
end
end
-# Remove source caches
-
-require 'rubygems/source_info_cache'
-
-user_cache_file = Gem::SourceInfoCache.user_cache_file
-system_cache_file = Gem::SourceInfoCache.system_cache_file
-
-rm_f user_cache_file if File.writable? File.dirname(user_cache_file)
-rm_f system_cache_file if File.writable? File.dirname(system_cache_file)
-
# install RDoc
gem_doc_dir = File.join Gem.dir, 'doc'
if File.writable? gem_doc_dir then
- puts "Removing old RubyGems RDoc and ri"
- Dir[File.join(Gem.dir, 'doc', 'rubygems-[0-9]*')].each do |dir|
- rm_rf dir
- end
-
def run_rdoc(*args)
args << '--quiet'
args << '--main' << 'README'
- args << '.' << 'README' << 'LICENSE.txt' << 'GPL.txt'
+ args << '.' << 'README'
r = RDoc::RDoc.new
r.document args
@@ -237,6 +222,7 @@
end
# Remove stubs
+if false # Don't want this
def stub?(path)
return unless File.readable? path
@@ -305,3 +291,4 @@
puts "to remove it by hand."
puts
+end

View File

@@ -0,0 +1,60 @@
--- setup.rb.orig 2008-04-11 07:18:01.000000000 +0100
+++ setup.rb 2008-04-11 07:14:53.000000000 +0100
@@ -94,8 +94,8 @@
lib_dir = Gem::ConfigMap[:sitelibdir]
bin_dir = Gem::ConfigMap[:bindir]
else
- lib_dir = File.join prefix, 'lib'
- bin_dir = File.join prefix, 'bin'
+ lib_dir = File.join prefix, Gem::ConfigMap[:sitelibdir]
+ bin_dir = File.join prefix, Gem::ConfigMap[:bindir]
mkdir_p lib_dir
mkdir_p bin_dir
@@ -201,16 +201,6 @@
end
end
-# Remove source caches
-
-require 'rubygems/source_info_cache'
-
-user_cache_file = Gem::SourceInfoCache.user_cache_file
-system_cache_file = Gem::SourceInfoCache.system_cache_file
-
-rm_f user_cache_file if File.writable? File.dirname(user_cache_file)
-rm_f system_cache_file if File.writable? File.dirname(system_cache_file)
-
# install RDoc
gem_doc_dir = File.join Gem.dir, 'doc'
@@ -220,15 +210,11 @@
if File.writable? gem_doc_dir and
(not File.exist? rubygems_doc_dir or
File.writable? rubygems_doc_dir) then
- puts "Removing old RubyGems RDoc and ri"
- Dir[File.join(Gem.dir, 'doc', 'rubygems-[0-9]*')].each do |dir|
- rm_rf dir
- end
def run_rdoc(*args)
args << '--quiet'
args << '--main' << 'README'
- args << '.' << 'README' << 'LICENSE.txt' << 'GPL.txt'
+ args << '.' << 'README'
r = RDoc::RDoc.new
r.document args
@@ -251,6 +237,7 @@
end
# Remove stubs
+if false # Don't want this
def stub?(path)
return unless File.readable? path
@@ -319,3 +306,4 @@
puts "to remove it by hand."
puts
+end

View File

@@ -0,0 +1,71 @@
--- setup.vanilla.rb 2008-08-07 23:05:41.000000000 +0200
+++ setup.rb 2008-08-07 23:07:19.000000000 +0200
@@ -97,7 +97,7 @@
require 'fileutils'
require 'rbconfig'
-require 'tmpdir'
+#require 'tmpdir'
include FileUtils::Verbose
@@ -128,8 +128,8 @@
lib_dir = Gem::ConfigMap[site_or_vendor]
bin_dir = Gem::ConfigMap[:bindir]
else
- lib_dir = File.join prefix, 'lib'
- bin_dir = File.join prefix, 'bin'
+ lib_dir = File.join prefix, Gem::ConfigMap[site_or_vendor]
+ bin_dir = File.join prefix, Gem::ConfigMap[:bindir]
end
end
@@ -168,7 +168,7 @@
end
dest_file = File.join bin_dir, bin_file_formatted
- bin_tmp_file = File.join Dir.tmpdir, bin_file
+ bin_tmp_file = File.join ENV['T'], bin_file
begin
cp bin_file, bin_tmp_file
@@ -240,19 +240,6 @@
end
end
-# Remove source caches
-if install_destdir.empty?
- require 'rubygems/source_info_cache'
-
- user_cache_file = File.join(install_destdir,
- Gem::SourceInfoCache.user_cache_file)
- system_cache_file = File.join(install_destdir,
- Gem::SourceInfoCache.system_cache_file)
-
- rm_f user_cache_file if File.writable? File.dirname(user_cache_file)
- rm_f system_cache_file if File.writable? File.dirname(system_cache_file)
-end
-
# install RDoc
gem_doc_dir = File.join Gem.dir, 'doc'
@@ -262,10 +249,6 @@
if File.writable? gem_doc_dir and
(not File.exist? rubygems_doc_dir or
File.writable? rubygems_doc_dir) then
- puts "Removing old RubyGems RDoc and ri"
- Dir[File.join(Gem.dir, 'doc', 'rubygems-[0-9]*')].each do |dir|
- rm_rf dir
- end
def run_rdoc(*args)
begin
@@ -277,7 +260,7 @@
args << '--quiet'
args << '--main' << 'README'
- args << '.' << 'README' << 'LICENSE.txt' << 'GPL.txt'
+ args << '.' << 'README'
r = RDoc::RDoc.new
r.document args

View File

@@ -0,0 +1,53 @@
--- setup.rb.~1~ 2008-06-22 01:51:11.000000000 +0200
+++ setup.rb 2008-06-28 09:05:54.923666929 +0200
@@ -128,8 +128,8 @@
lib_dir = Gem::ConfigMap[site_or_vendor]
bin_dir = Gem::ConfigMap[:bindir]
else
- lib_dir = File.join prefix, 'lib'
- bin_dir = File.join prefix, 'bin'
+ lib_dir = File.join prefix, Gem::ConfigMap[site_or_vendor]
+ bin_dir = File.join prefix, Gem::ConfigMap[:bindir]
end
end
@@ -240,19 +240,6 @@
end
end
-# Remove source caches
-if install_destdir.empty?
- require 'rubygems/source_info_cache'
-
- user_cache_file = File.join(install_destdir,
- Gem::SourceInfoCache.user_cache_file)
- system_cache_file = File.join(install_destdir,
- Gem::SourceInfoCache.system_cache_file)
-
- rm_f user_cache_file if File.writable? File.dirname(user_cache_file)
- rm_f system_cache_file if File.writable? File.dirname(system_cache_file)
-end
-
# install RDoc
gem_doc_dir = File.join Gem.dir, 'doc'
@@ -262,10 +249,6 @@
if File.writable? gem_doc_dir and
(not File.exist? rubygems_doc_dir or
File.writable? rubygems_doc_dir) then
- puts "Removing old RubyGems RDoc and ri"
- Dir[File.join(Gem.dir, 'doc', 'rubygems-[0-9]*')].each do |dir|
- rm_rf dir
- end
def run_rdoc(*args)
begin
@@ -277,7 +260,7 @@
args << '--quiet'
args << '--main' << 'README'
- args << '.' << 'README' << 'LICENSE.txt' << 'GPL.txt'
+ args << '.' << 'README'
r = RDoc::RDoc.new
r.document args

View File

@@ -0,0 +1,92 @@
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-ruby/rubygems/rubygems-1.2.0.ebuild,v 1.4 2008/08/06 16:40:12 graaff Exp $
inherit ruby
DESCRIPTION="Centralized Ruby extension management system"
HOMEPAGE="http://rubyforge.org/projects/rubygems/"
LICENSE="|| ( Ruby GPL-2 )"
# Needs to be installed first
RESTRICT="test"
# The URL depends implicitly on the version, unfortunately. Even if you
# change the filename on the end, it still downloads the same file.
SRC_URI="mirror://rubyforge/${PN}/${P}.tgz"
KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
SLOT="0"
IUSE="doc server"
DEPEND=">=dev-lang/ruby-1.8"
PDEPEND="server? ( dev-ruby/builder )" # index_gem_repository.rb
USE_RUBY="ruby18"
src_unpack() {
unpack ${A}
cd "${S}"
epatch "${FILESDIR}/${P}-setup-notmpdir.patch"
}
src_compile() {
# Allowing ruby_src_compile would be bad with the new setup.rb
:
}
src_install() {
# RUBYOPT=-rauto_gem without rubygems installed will cause ruby to fail, bug #158455
export RUBYOPT="${GENTOO_RUBYOPT}"
ewarn "RUBYOPT=${RUBYOPT}"
ver=$(${RUBY} -r rbconfig -e 'print Config::CONFIG["ruby_version"]')
# rubygems tries to create GEM_HOME if it doesn't exist, upsetting sandbox,
# bug #202109
export GEM_HOME="${D}/usr/$(get_libdir)/ruby/gems/${ver}"
keepdir /usr/$(get_libdir)/ruby/gems/$ver/{doc,gems,cache,specifications}
myconf=""
if ! use doc; then
myconf="${myconf} --no-ri"
myconf="${myconf} --no-rdoc"
fi
${RUBY} setup.rb $myconf --prefix="${D}" || die "setup.rb install failed"
dosym gem18 /usr/bin/gem || die "dosym gem failed"
dodoc README || die "dodoc README failed"
cp "${FILESDIR}/auto_gem.rb" "${D}"/$(${RUBY} -r rbconfig -e 'print Config::CONFIG["sitedir"]') || die "cp auto_gem.rb failed"
doenvd "${FILESDIR}/10rubygems" || die "doenvd 10rubygems failed"
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()
{
SOURCE_CACHE="/usr/$(get_libdir)/ruby/gems/$ver/source_cache"
if [[ -e "${SOURCE_CACHE}" ]]; then
rm "${SOURCE_CACHE}"
fi
ewarn "If you have previously switched to using ruby18_with_gems using ruby-config, this"
ewarn "package has removed that file and makes it unnecessary anymore."
ewarn "Please use ruby-config to revert back to ruby18."
}
pkg_postrm()
{
ewarn "If you have uninstalled dev-ruby/rubygems. Ruby applications are unlikely"
ewarn "to run in current shells because of missing auto_gem."
ewarn "Please run \"unset RUBYOPT\" in your shells before using ruby"
ewarn "or start new shells"
ewarn
ewarn "If you have not uninstalled dev-ruby/rubygems, please do not unset "
ewarn "RUBYOPT"
}