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

Contents of /eclass/gems.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.23 - (show annotations) (download)
Fri Nov 14 13:56:56 2008 UTC (5 years, 10 months ago) by graaff
Branch: MAIN
Changes since 1.22: +4 -4 lines
Multiple ruby versions are currently only supported in the ruby overlay, use the default ruby interpreter for now

1 # Copyright 1999-2005 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: /var/cvsroot/gentoo-x86/eclass/gems.eclass,v 1.22 2008/11/14 11:59:14 graaff Exp $
4 #
5 # Author: Rob Cakebread <pythonhead@gentoo.org>
6 # Current Maintainer: Ruby Herd <ruby@gentoo.org>
7 #
8 # The gems eclass is designed to allow easier installation of
9 # gems-based ruby packagess and their incorporation into
10 # the Gentoo Linux system.
11 #
12 # - Features:
13 # gems_location() - Set ${GEMSDIR} with gem install dir and ${GEM_SRC} with path to gem to install
14 # gems_src_unpack() - Does nothing.
15 # gems_src_compile() - Does nothing.
16 # gems_src_install() - installs a gem into ${D}
17 #
18 # NOTE:
19 # See http://dev.gentoo.org/~pythonhead/ruby/gems.html for notes on using gems with portage
20
21
22 inherit eutils ruby
23
24 SRC_URI="http://gems.rubyforge.org/gems/${P}.gem"
25
26 IUSE="doc"
27
28 DEPEND="
29 >=dev-ruby/rubygems-0.9.4
30 !dev-ruby/rdoc
31 "
32 RDEPEND="${DEPEND}"
33
34 gems_location() {
35 local sitelibdir
36 sitelibdir=$(ruby -r rbconfig -e 'print Config::CONFIG["sitelibdir"]')
37 export GEMSDIR=${sitelibdir/site_ruby/gems}
38
39 }
40
41 gems_src_unpack() {
42 true
43 }
44
45 gems_src_compile() {
46 true
47 }
48
49 gems_src_install() {
50 gems_location
51
52 if [[ -z "${MY_P}" ]]; then
53 [[ -z "${GEM_SRC}" ]] && GEM_SRC="${DISTDIR}/${P}"
54 spec_path="${D}/${GEMSDIR}/specifications/${P}.gemspec"
55 else
56 [[ -z "${GEM_SRC}" ]] && GEM_SRC="${DISTDIR}/${MY_P}"
57 spec_path="${D}/${GEMSDIR}/specifications/${MY_P}.gemspec"
58 fi
59
60 local myconf
61 if use doc; then
62 myconf="--rdoc --ri"
63 else
64 myconf="--no-rdoc --no-ri"
65 fi
66
67 dodir ${GEMSDIR}
68
69 local gte13=$(${RUBY} -rubygems -e 'puts Gem::RubyGemsVersion >= "1.3.0"')
70
71 if [[ "${gte13}" == "true" ]] ; then
72 gem install ${GEM_SRC} --version ${PV} ${myconf} \
73 --local --install-dir "${D}/${GEMSDIR}" --sandbox-fix \
74 || die "gem (>=1.3.0) install failed"
75 else
76 gem install ${GEM_SRC} --version ${PV} ${myconf} \
77 --local --install-dir "${D}/${GEMSDIR}" || die "gem (<1.3.0) install failed"
78 fi
79
80 if [[ -d "${D}/${GEMSDIR}/bin" ]] ; then
81 exeinto /usr/bin
82 for exe in ${D}/${GEMSDIR}/bin/* ; do
83 doexe ${exe}
84 done
85 fi
86 }
87
88 EXPORT_FUNCTIONS src_unpack src_compile src_install

  ViewVC Help
Powered by ViewVC 1.1.20