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

Contents of /eclass/gems.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.18 - (show annotations) (download)
Mon Sep 17 04:59:29 2007 UTC (6 years, 10 months ago) by nichoj
Branch: MAIN
Changes since 1.17: +4 -2 lines
Added default SRC_URI for gems.eclass, to point at rubyforge.

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.17 2007/03/05 18:26:20 rbrown 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_install() - installs a gem into ${D}
15 # gems_src_unpack() - Does nothing.
16 # gems_src_compile() - Does nothing.
17 #
18 # NOTE:
19 # See http://dev.gentoo.org/~pythonhead/ruby/gems.html for notes on using gems with portage
20
21
22 inherit ruby eutils
23
24 SRC_URI="http://gems.rubyforge.org/gems/${P}.gem"
25
26 IUSE="doc"
27
28 DEPEND=">=dev-ruby/rubygems-0.8.4-r1
29 !dev-ruby/rdoc"
30
31 S=${WORKDIR}
32
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 #ruby_patch_mkmf
43 true
44 }
45
46 gems_src_install() {
47 gems_location
48
49 if [ -z "${MY_P}" ]; then
50 [ -z "${GEM_SRC}" ] && GEM_SRC=${DISTDIR}/${P}
51 spec_path=${D}/${GEMSDIR}/specifications/${P}.gemspec
52 else
53 [ -z "${GEM_SRC}" ] && GEM_SRC=${DISTDIR}/${MY_P}
54 spec_path=${D}/${GEMSDIR}/specifications/${MY_P}.gemspec
55 fi
56
57 if use doc; then
58 myconf="--rdoc"
59 else
60 myconf="--no-rdoc"
61 fi
62
63 # RI documentation installation: bug #145222
64 if gem --version|grep -q ^0.9; then
65 if use doc; then
66 myconf="--ri ${myconf}"
67 else
68 myconf="--no-ri ${myconf}"
69 fi
70 fi
71
72
73 dodir ${GEMSDIR}
74 gem install ${GEM_SRC} -v ${PV} ${myconf} -l -i ${D}/${GEMSDIR} || die "gem install failed: gem-$(gem --version) install ${GEM_SRC} -v ${PV} ${myconf} -l -i ${D}/${GEMSDIR}"
75
76 # This is a workaround for <=rubygems-0.9.0.8 because it's exitstatus equals 0
77 # even if the dependencies are not found. So we are testing if rubygems at
78 # least installed the gemspec (which should always occur otherwise).
79 # See bug #104733
80 test -f ${spec_path} || die "gem install failed (spec file ${spec_path} missing)"
81
82 if [ -d ${D}/${GEMSDIR}/bin ] ; then
83 exeinto /usr/bin
84 for exe in ${D}/${GEMSDIR}/bin/* ; do
85 doexe ${exe}
86 done
87 fi
88 }
89
90 gems_src_compile() {
91 true
92 }
93
94 EXPORT_FUNCTIONS src_unpack src_compile src_install

  ViewVC Help
Powered by ViewVC 1.1.20