/[gentoo-x86]/eclass/gems.eclass
Gentoo

Diff of /eclass/gems.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.26 Revision 1.32
1# Copyright 1999-2009 Gentoo Foundation 1# Copyright 1999-2009 Gentoo Foundation
2# Distributed under the terms of the GNU General Public License v2 2# Distributed under the terms of the GNU General Public License v2
3# $Header: /var/cvsroot/gentoo-x86/eclass/Attic/gems.eclass,v 1.26 2009/05/23 12:22:06 flameeyes Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/Attic/gems.eclass,v 1.32 2009/11/29 19:10:01 flameeyes Exp $
4 4
5# @ECLASS: gems.eclass 5# @ECLASS: gems.eclass
6# @MAINTAINER: 6# @MAINTAINER:
7# ruby@gentoo.org 7# ruby@gentoo.org
8# 8#
18# versions that are compatible and installed on the system. Format: rubyDD where 18# versions that are compatible and installed on the system. Format: rubyDD where
19# DD is the two-digit version suffix (e.g.: USE_RUBY="ruby19" for Ruby 1.9.1) 19# DD is the two-digit version suffix (e.g.: USE_RUBY="ruby19" for Ruby 1.9.1)
20 20
21inherit eutils ruby 21inherit eutils ruby
22 22
23SRC_URI="mirror://rubyforge/gems/${P}.gem" 23SRC_URI="mirror://rubygems/${P}.gem"
24 24
25IUSE="doc" 25IUSE="doc"
26 26
27DEPEND=" 27DEPEND="
28 || ( >=dev-ruby/rubygems-0.9.4 =dev-lang/ruby-1.9* ) 28 || ( >=dev-ruby/rubygems-1.3.1 =dev-lang/ruby-1.9* )
29 !<dev-ruby/rdoc-2 29 !<dev-ruby/rdoc-2
30" 30"
31RDEPEND="${DEPEND}" 31RDEPEND="${DEPEND}"
32 32
33# @FUNCTION: gems_location 33# @FUNCTION: gems_location
68 myconf="--rdoc --ri" 68 myconf="--rdoc --ri"
69 else 69 else
70 myconf="--no-rdoc --no-ri" 70 myconf="--no-rdoc --no-ri"
71 fi 71 fi
72 72
73 if [[ -n "${GEMS_FORCE_INSTALL}" ]]; then
74 myconf="${myconf} --force"
75 fi
76
73 # I'm not sure how many ebuilds have correctly set USE_RUBY - let's assume 77 # I'm not sure how many ebuilds have correctly set USE_RUBY - let's assume
74 # ruby18 if they haven't, since even pure Ruby gems that have been written 78 # ruby18 if they haven't, since even pure Ruby gems that have been written
75 # against 1.8 can explode under 1.9. 79 # against 1.8 can explode under 1.9.
76 if [[ -z "${USE_RUBY}" ]]; then 80 if [[ -z "${USE_RUBY}" ]]; then
77 einfo "QA notice" 81 einfo "QA notice"
78 einfo "The ebuild doesn't set USE_RUBY explicitly. Defaulting to ruby18." 82 einfo "The ebuild doesn't set USE_RUBY explicitly. Defaulting to ruby18."
79 einfo "Please check compatibility and set USE_RUBY respectively." 83 einfo "Please check compatibility and set USE_RUBY respectively."
80 84
81 USE_RUBY="ruby18" 85 USE_RUBY="ruby18"
82 elif [[ "${USE_RUBY}" == "any" ]]; then 86 elif [[ "${USE_RUBY}" == "any" ]]; then
83 ewarn
84 ewarn "DEPRECATION NOTICE"
85 ewarn "USE_RUBY=\"any\" is deprecated. Please use explicit versions instead." 87 eerror "USE_RUBY=\"any\" is no longer supported. Please use explicit versions instead."
86 ewarn "Support will be removed in April 2009." 88 die "USE_RUBY=\"any\" is no longer supported."
87 ewarn "For questions, please contact ruby@gentoo.org."
88 ewarn
89
90 # Get the installed versions.
91 USE_RUBY=`ls /usr/bin/ruby* | grep -E 'ruby1(8|9)' | sed -e 's@/usr/bin/@@g'`
92 fi 89 fi
93 90
94 local num_ruby_slots=$(echo "${USE_RUBY}" | wc -w) 91 local num_ruby_slots=$(echo "${USE_RUBY}" | wc -w)
95 92
96 for ruby_version in ${USE_RUBY} ; do 93 for ruby_version in ${USE_RUBY} ; do
110 fi 107 fi
111 108
112 # >=1.3.0 needs a path fix 109 # >=1.3.0 needs a path fix
113 local gte13=$(/usr/bin/${ruby_version} -rubygems -e 'puts Gem::RubyGemsVersion >= "1.3.0"') 110 local gte13=$(/usr/bin/${ruby_version} -rubygems -e 'puts Gem::RubyGemsVersion >= "1.3.0"')
114 111
115 if [[ "${gte13}" == "true" ]] ; then
116 /usr/bin/${ruby_version} /usr/bin/gem install ${GEM_SRC} \ 112 /usr/bin/${ruby_version} /usr/bin/gem install ${GEM_SRC} \
117 --version ${PV} ${myconf} --local --install-dir "${D}/${GEMSDIR}" \ 113 --version ${PV} ${myconf} --local --install-dir "${D}/${GEMSDIR}" \
118 --sandbox-fix --no-user-install || die "gem (>=1.3.0) install failed" 114 --sandbox-fix --no-user-install || die "gem (>=1.3.0) install failed"
119 else
120 /usr/bin/${ruby_version} /usr/bin/gem install ${GEM_SRC} \
121 --version ${PV} ${myconf} --local --install-dir "${D}/${GEMSDIR}" \
122 || die "gem (<1.3.0) install failed"
123 fi
124 115
125 if [[ -d "${D}/${GEMSDIR}/bin" ]] ; then 116 if [[ -d "${D}/${GEMSDIR}/bin" ]] ; then
126 exeinto /usr/bin 117 exeinto /usr/bin
127 for exe in "${D}"/${GEMSDIR}/bin/* ; do 118 for exe in "${D}"/${GEMSDIR}/bin/* ; do
128 if [ "$num_ruby_slots" -ge 2 ] ; then 119 if [ "$num_ruby_slots" -ge 2 ] ; then

Legend:
Removed from v.1.26  
changed lines
  Added in v.1.32

  ViewVC Help
Powered by ViewVC 1.1.20