/[gentoo-x86]/eclass/ruby-fakegem.eclass
Gentoo

Contents of /eclass/ruby-fakegem.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.35 - (hide annotations) (download)
Tue Aug 14 21:10:45 2012 UTC (22 months, 3 weeks ago) by flameeyes
Branch: MAIN
Changes since 1.34: +46 -12 lines
Add support for documentation recipes as well, and implement an rdoc recipe.

1 flameeyes 1.33 # Copyright 1999-2012 Gentoo Foundation
2 a3li 1.1 # Distributed under the terms of the GNU General Public License v2
3 flameeyes 1.35 # $Header: /var/cvsroot/gentoo-x86/eclass/ruby-fakegem.eclass,v 1.34 2012/08/13 22:21:26 flameeyes Exp $
4 vapier 1.30
5 a3li 1.1 # @ECLASS: ruby-fakegem.eclass
6     # @MAINTAINER:
7     # Ruby herd <ruby@gentoo.org>
8 vapier 1.30 # @AUTHOR:
9 a3li 1.1 # Author: Diego E. Pettenò <flameeyes@gentoo.org>
10     # Author: Alex Legler <a3li@gentoo.org>
11     # @BLURB: An eclass for installing Ruby packages to behave like RubyGems.
12     # @DESCRIPTION:
13     # This eclass allows to install arbitrary Ruby libraries (including Gems),
14     # providing integration into the RubyGems system even for "regular" packages.
15    
16     inherit ruby-ng
17    
18     # @ECLASS-VARIABLE: RUBY_FAKEGEM_NAME
19     # @DESCRIPTION:
20     # Sets the Gem name for the generated fake gemspec.
21     # RUBY_FAKEGEM_NAME="${PN}"
22    
23     # @ECLASS-VARIABLE: RUBY_FAKEGEM_VERSION
24     # @DESCRIPTION:
25     # Sets the Gem version for the generated fake gemspec.
26     # RUBY_FAKEGEM_VERSION="${PV}"
27    
28     # @ECLASS-VARIABLE: RUBY_FAKEGEM_TASK_DOC
29     # @DESCRIPTION:
30     # Specify the rake(1) task to run to generate documentation.
31 flameeyes 1.4 # RUBY_FAKEGEM_TASK_DOC="rdoc"
32 a3li 1.1
33 flameeyes 1.33 # @ECLASS-VARIABLE: RUBY_FAKEGEM_RECIPE_TEST
34     # @DESCRIPTION:
35     # Specify one of the default testing function for ruby-fakegem:
36     # - rake (default; see also RUBY_FAKEGEM_TASK_TEST)
37     # - rspec (calls ruby-ng_rspec, adds dev-ruby/rspec:2 to the dependencies)
38 flameeyes 1.34 # - cucumber (calls ruby-ng_cucumber, adds dev-util/cucumber to the
39     # dependencies; does not work on JRuby).
40 flameeyes 1.33 # - none
41     # RUBY_FAKEGEM_RECIPE_TEST="rake"
42    
43 a3li 1.1 # @ECLASS-VARIABLE: RUBY_FAKEGEM_TASK_TEST
44     # @DESCRIPTION:
45 flameeyes 1.33 # Specify the rake(1) task used for executing tests. Only valid
46     # if RUBY_FAKEGEM_RECIPE_TEST is set to "rake" (the default).
47 flameeyes 1.4 # RUBY_FAKEGEM_TASK_TEST="test"
48    
49 flameeyes 1.35 # @ECLASS-VARIABLE: RUBY_FAKEGEM_RECIPE_DOC
50     # @DESCRIPTION:
51     # Specify one of the default API doc building function for ruby-fakegem:
52     # - rake (default; see also RUBY_FAKEGEM_TASK_DOC)
53     # - rdoc (calls `rdoc-2`, adds dev-ruby/rdoc to the dependencies);
54     # - none
55     # RUBY_FAKEGEM_RECIPE_DOC="rake"
56    
57 flameeyes 1.4 # @ECLASS-VARIABLE: RUBY_FAKEGEM_DOCDIR
58     # @DESCRIPTION:
59     # Specify the directory under which the documentation is built;
60     # if empty no documentation will be installed automatically.
61 flameeyes 1.35 # Note: if RUBY_FAKEGEM_RECIPE_DOC is set to `rdoc`, this variable is
62     # hardwired to `doc`.
63 flameeyes 1.4 # RUBY_FAKEGEM_DOCDIR=""
64    
65     # @ECLASS-VARIABLE: RUBY_FAKEGEM_EXTRADOC
66     # @DESCRIPTION:
67     # Extra documentation to install (readme, changelogs, …).
68     # RUBY_FAKEGEM_EXTRADOC=""
69 a3li 1.1
70 flameeyes 1.35 # @ECLASS-VARIABLE: RUBY_FAKEGEM_DOC_SOURCES
71     # @DESCRIPTION:
72     # Allow settings defined sources to scan for documentation.
73     # This only applies if RUBY_FAKEGEM_DOC_TASK is set to `rdoc`.
74     # RUBY_FAKEGEM_DOC_SOURCES="lib"
75    
76 flameeyes 1.6 # @ECLASS-VARIABLE: RUBY_FAKEGEM_BINWRAP
77     # @DESCRIPTION:
78     # Binaries to wrap around (relative to the bin/ directory)
79     # RUBY_FAKEGEM_BINWRAP="*"
80    
81 flameeyes 1.8 # @ECLASS-VARIABLE: RUBY_FAKEGEM_REQUIRE_PATHS
82     # @DESCRIPTION:
83     # Extra require paths (beside lib) to add to the specification
84 flameeyes 1.10 # RUBY_FAKEGEM_REQUIRE_PATHS=""
85 flameeyes 1.8
86 graaff 1.27 # @ECLASS-VARIABLE: RUBY_FAKEGEM_GEMSPEC
87     # @DESCRIPTION:
88     # Filename of .gemspec file to install instead of generating a generic one.
89     # RUBY_FAKEGEM_GEMSPEC=""
90    
91 graaff 1.32 # @ECLASS-VARIABLE: RUBY_FAKEGEM_EXTRAINSTALL
92     # @DESCRIPTION:
93     # List of files and directories relative to the top directory that also
94     # get installed. Some gems provide extra files such as version information,
95     # Rails generators, or data that needs to be installed as well.
96     # RUBY_FAKEGEM_EXTRAINSTALL=""
97    
98 a3li 1.1 RUBY_FAKEGEM_NAME="${RUBY_FAKEGEM_NAME:-${PN}}"
99 flameeyes 1.15 RUBY_FAKEGEM_VERSION="${RUBY_FAKEGEM_VERSION:-${PV/_pre/.pre}}"
100     RUBY_FAKEGEM_SUFFIX="${RUBY_FAKEGEM_SUFFIX:-}"
101 a3li 1.1
102 flameeyes 1.35 RUBY_FAKEGEM_RECIPE_DOC="${RUBY_FAKEGEM_RECIPE_DOC-rake}"
103 a3li 1.1 RUBY_FAKEGEM_TASK_DOC="${RUBY_FAKEGEM_TASK_DOC-rdoc}"
104 flameeyes 1.35 RUBY_FAKEGEM_DOC_SOURCES="${RUBY_FAKEGEM_DOC_SOURCES-lib}"
105    
106 flameeyes 1.33 RUBY_FAKEGEM_RECIPE_TEST="${RUBY_FAKEGEM_RECIPE_TEST-rake}"
107 a3li 1.1 RUBY_FAKEGEM_TASK_TEST="${RUBY_FAKEGEM_TASK_TEST-test}"
108    
109 flameeyes 1.6 RUBY_FAKEGEM_BINWRAP="${RUBY_FAKEGEM_BINWRAP-*}"
110    
111 flameeyes 1.35 [[ ${RUBY_FAKEGEM_TASK_DOC} == "" ]] && RUBY_FAKEGEM_RECIPE_DOC="none"
112 a3li 1.1
113 flameeyes 1.35 case ${RUBY_FAKEGEM_RECIPE_DOC} in
114     rake)
115     IUSE+=" doc"
116     ruby_add_bdepend "doc? ( dev-ruby/rake )"
117     ;;
118     rdoc)
119     IUSE+=" doc"
120     ruby_add_bdepend "doc? ( dev-ruby/rdoc )"
121     RUBY_FAKEGEM_DOCDIR="doc"
122     ;;
123     none)
124     [[ -n ${RUBY_FAKEGEM_DOCDIR} ]] && IUSE+=" doc"
125     ;;
126     esac
127 flameeyes 1.21
128 flameeyes 1.33 [[ ${RUBY_FAKEGEM_TASK_TEST} == "" ]] && RUBY_FAKEGEM_RECIPE_TEST="none"
129    
130     case ${RUBY_FAKEGEM_RECIPE_TEST} in
131     rake)
132     IUSE+=" test"
133     ruby_add_bdepend "test? ( dev-ruby/rake )"
134     ;;
135     rspec)
136     IUSE+=" test"
137     ruby_add_bdepend "test? ( dev-ruby/rspec:2 )"
138     ;;
139 flameeyes 1.34 cucumber)
140     IUSE+=" test"
141     # Unfortunately as of August 2012, cucumber is not supported on
142     # JRuby. We work it around here to avoid repeating the same
143     # code over and over again.
144     USE_RUBY="${USE_RUBY/jruby/}" ruby_add_bdepend "test? ( dev-util/cucumber )"
145     ;;
146 flameeyes 1.33 *)
147     RUBY_FAKEGEM_RECIPE_TEST="none"
148     ;;
149     esac
150 a3li 1.1
151 flameeyes 1.15 SRC_URI="mirror://rubygems/${RUBY_FAKEGEM_NAME}-${RUBY_FAKEGEM_VERSION}${RUBY_FAKEGEM_SUFFIX:+-${RUBY_FAKEGEM_SUFFIX}}.gem"
152 flameeyes 1.3
153 graaff 1.31 ruby_add_bdepend virtual/rubygems
154     ruby_add_rdepend virtual/rubygems
155 a3li 1.1
156     # @FUNCTION: ruby_fakegem_gemsdir
157     # @RETURN: Returns the gem data directory
158     # @DESCRIPTION:
159     # This function returns the gems data directory for the ruby
160     # implementation in question.
161     ruby_fakegem_gemsdir() {
162 grobian 1.24 has "${EAPI}" 2 && ! use prefix && EPREFIX=
163    
164     local _gemsitedir=$(ruby_rbconfig_value 'sitelibdir')
165     _gemsitedir=${_gemsitedir//site_ruby/gems}
166     _gemsitedir=${_gemsitedir#${EPREFIX}}
167 a3li 1.1
168     [[ -z ${_gemsitedir} ]] && {
169     eerror "Unable to find the gems dir"
170     die "Unable to find the gems dir"
171     }
172    
173     echo "${_gemsitedir}"
174     }
175    
176     # @FUNCTION: ruby_fakegem_doins
177     # @USAGE: file [file...]
178     # @DESCRIPTION:
179     # Installs the specified file(s) into the gems directory.
180     ruby_fakegem_doins() {
181     (
182     insinto $(ruby_fakegem_gemsdir)/gems/${RUBY_FAKEGEM_NAME}-${RUBY_FAKEGEM_VERSION}
183     doins "$@"
184     ) || die "failed $0 $@"
185     }
186    
187     # @FUNCTION: ruby_fakegem_newsins()
188     # @USAGE: file filename
189     # @DESCRIPTION:
190     # Installs the specified file into the gems directory using the provided filename.
191     ruby_fakegem_newins() {
192     (
193     # Since newins does not accept full paths but just basenames
194     # for the target file, we want to extend it here.
195     local newdirname=/$(dirname "$2")
196     [[ ${newdirname} == "/." ]] && newdirname=
197    
198     local newbasename=$(basename "$2")
199    
200     insinto $(ruby_fakegem_gemsdir)/gems/${RUBY_FAKEGEM_NAME}-${RUBY_FAKEGEM_VERSION}${newdirname}
201     newins "$1" ${newbasename}
202     ) || die "failed $0 $@"
203     }
204    
205 graaff 1.27 # @FUNCTION: ruby_fakegem_install_gemspec
206     # @DESCRIPTION:
207     # Install a .gemspec file for this package. Either use the file indicated
208     # by the RUBY_FAKEGEM_GEMSPEC variable, or generate one using
209     # ruby_fakegem_genspec.
210     ruby_fakegem_install_gemspec() {
211     local gemspec="${T}"/${RUBY_FAKEGEM_NAME}-${_ruby_implementation}
212    
213     (
214     if [[ ${RUBY_FAKEGEM_GEMSPEC} != "" ]]; then
215     ruby_fakegem_gemspec_gemspec ${RUBY_FAKEGEM_GEMSPEC} ${gemspec}
216     else
217     local metadata="${WORKDIR}"/${_ruby_implementation}/metadata
218    
219     if [[ -e ${metadata} ]]; then
220     ruby_fakegem_metadata_gemspec ${metadata} ${gemspec}
221     else
222     ruby_fakegem_genspec ${gemspec}
223     fi
224     fi
225 graaff 1.28 ) || die "Unable to generate gemspec file."
226 graaff 1.27
227     insinto $(ruby_fakegem_gemsdir)/specifications
228     newins ${gemspec} ${RUBY_FAKEGEM_NAME}-${RUBY_FAKEGEM_VERSION}.gemspec || die "Unable to install gemspec file."
229     }
230    
231     # @FUNCTION: ruby_fakegem_gemspec_gemspec
232     # @USAGE: gemspec-input gemspec-output
233     # @DESCRIPTION:
234     # Generates an installable version of the specification indicated by
235     # RUBY_FAKEGEM_GEMSPEC. This file is eval'ed to produce a final specification
236     # in a way similar to packaging the gemspec file.
237     ruby_fakegem_gemspec_gemspec() {
238     ${RUBY} -e "puts eval(File::open('$1').read).to_ruby" > $2
239     }
240    
241     # @FUNCTION: ruby_fakegem_metadata_gemspec
242     # @USAGE: gemspec-metadata gemspec-output
243     # @DESCRIPTION:
244     # Generates an installable version of the specification indicated by
245     # the metadata distributed by the gem itself. This is similar to how
246     # rubygems creates an installation from a .gem file.
247     ruby_fakegem_metadata_gemspec() {
248     ${RUBY} -r yaml -e "puts Gem::Specification.from_yaml(File::open('$1').read).to_ruby" > $2
249     }
250    
251 a3li 1.1 # @FUNCTION: ruby_fakegem_genspec
252 graaff 1.27 # @USAGE: output-gemspec
253 a3li 1.1 # @DESCRIPTION:
254     # Generates a gemspec for the package and places it into the "specifications"
255     # directory of RubyGems.
256 graaff 1.27 # If the metadata normally distributed with a gem is present then that is
257     # used to generate the gemspec file.
258     #
259     # As a fallback we can generate our own version.
260 a3li 1.1 # In the gemspec, the following values are set: name, version, summary,
261     # homepage, and require_paths=["lib"].
262     # See RUBY_FAKEGEM_NAME and RUBY_FAKEGEM_VERSION for setting name and version.
263 flameeyes 1.8 # See RUBY_FAKEGEM_REQUIRE_PATHS for setting extra require paths.
264 a3li 1.1 ruby_fakegem_genspec() {
265 graaff 1.27 local required_paths="'lib'"
266     for path in ${RUBY_FAKEGEM_REQUIRE_PATHS}; do
267     required_paths="${required_paths}, '${path}'"
268     done
269 flameeyes 1.8
270 graaff 1.27 # We use the _ruby_implementation variable to avoid having stray
271     # copies with different implementations; while for now we're using
272     # the same exact content, we might have differences in the future,
273     # so better taking this into consideration.
274     local quoted_description=${DESCRIPTION//\"/\\\"}
275     cat - > $1 <<EOF
276 flameeyes 1.35 # generated by ruby-fakegem.eclass $Revision: 1.34 $
277 a3li 1.1 Gem::Specification.new do |s|
278     s.name = "${RUBY_FAKEGEM_NAME}"
279     s.version = "${RUBY_FAKEGEM_VERSION}"
280 graaff 1.14 s.summary = "${quoted_description}"
281 a3li 1.1 s.homepage = "${HOMEPAGE}"
282 flameeyes 1.8 s.require_paths = [${required_paths}]
283 a3li 1.1 end
284     EOF
285     }
286    
287     # @FUNCTION: ruby_fakegem_binwrapper
288     # @USAGE: command [path]
289     # @DESCRIPTION:
290     # Creates a new binary wrapper for a command installed by the RubyGem.
291     # path defaults to /usr/bin/$command
292     ruby_fakegem_binwrapper() {
293     (
294     local gembinary=$1
295     local newbinary=${2:-/usr/bin/$gembinary}
296 flameeyes 1.5 local relativegembinary=${RUBY_FAKEGEM_NAME}-${RUBY_FAKEGEM_VERSION}/bin/${gembinary}
297 flameeyes 1.12 local binpath=$(dirname $newbinary)
298     [[ ${binpath} = . ]] && binpath=/usr/bin
299 a3li 1.1
300 flameeyes 1.16 # Try to find out whether the package is going to install for
301     # one or multiple implementations; if we're installing for a
302     # *single* implementation, no need to use “/usr/bin/env ruby”
303     # in the shebang, and we can actually avoid errors when
304     # calling the script by default (see for instance the
305     # JRuby-specific commands).
306     local rubycmd=
307     for implementation in ${USE_RUBY}; do
308     # ignore non-enabled implementations
309     use ruby_targets_${implementation} || continue
310     if [ -z $rubycmd ]; then
311     # if no other implementation was set before, set it.
312 flameeyes 1.23 rubycmd="$(ruby_implementation_command ${implementation})"
313 flameeyes 1.16 else
314     # if another implementation already arrived, then make
315     # it generic and break out of the loop. This ensures
316     # that we do at most two iterations.
317     rubycmd="/usr/bin/env ruby"
318     break
319     fi
320     done
321    
322 a3li 1.1 cat - > "${T}"/gembin-wrapper-${gembinary} <<EOF
323 flameeyes 1.16 #!${rubycmd}
324 a3li 1.1 # This is a simplified version of the RubyGems wrapper
325     #
326 flameeyes 1.35 # Generated by ruby-fakegem.eclass $Revision: 1.34 $
327 a3li 1.1
328     require 'rubygems'
329    
330 flameeyes 1.5 load Gem::default_path[-1] + "/gems/${relativegembinary}"
331 a3li 1.1
332     EOF
333    
334 flameeyes 1.12 exeinto ${binpath:-/usr/bin}
335 a3li 1.1 newexe "${T}"/gembin-wrapper-${gembinary} $(basename $newbinary)
336     ) || die "Unable to create fakegem wrapper"
337     }
338    
339     # @FUNCTION: all_fakegem_compile
340     # @DESCRIPTION:
341     # Build documentation for the package if indicated by the doc USE flag
342     # and if there is a documetation task defined.
343     all_fakegem_compile() {
344 flameeyes 1.35 if use doc; then
345     case ${RUBY_FAKEGEM_RECIPE_DOC} in
346     rake)
347     rake ${RUBY_FAKEGEM_TASK_DOC} || die "failed to (re)build documentation"
348     ;;
349     rdoc)
350     rdoc ${RUBY_FAKEGEM_DOC_SOURCES} || die "failed to (re)build documentation"
351     ;;
352     esac
353 a3li 1.1 fi
354     }
355    
356     # @FUNCTION: all_ruby_unpack
357     # @DESCRIPTION:
358     # Unpack the source archive, including support for unpacking gems.
359     all_ruby_unpack() {
360     # Special support for extracting .gem files; the file need to be
361     # extracted twice and the mtime from the archive _has_ to be
362     # ignored (it's always set to epoch 0).
363 flameeyes 1.19 for archive in ${A}; do
364 flameeyes 1.22 case "${archive}" in
365     *.gem)
366 graaff 1.29 # Make sure that we're not running unpack for more than
367 flameeyes 1.22 # one .gem file, since we won't support that at all.
368     [[ -d "${S}" ]] && die "Unable to unpack ${archive}, ${S} exists"
369    
370     ebegin "Unpacking .gem file..."
371     tar -mxf ${DISTDIR}/${archive} || die
372     eend $?
373    
374 graaff 1.27 ebegin "Uncompressing metadata"
375     gunzip metadata.gz || die
376     eend $?
377    
378 flameeyes 1.22 mkdir "${S}"
379     pushd "${S}" &>/dev/null
380    
381     ebegin "Unpacking data.tar.gz"
382     tar -mxf "${my_WORKDIR}"/data.tar.gz || die
383     eend $?
384 graaff 1.27
385 flameeyes 1.22 popd &>/dev/null
386     ;;
387     *.patch.bz2)
388     # We apply the patches with RUBY_PATCHES directly from DISTDIR,
389     # as the WORKDIR variable changes value between the global-scope
390     # and the time all_ruby_unpack/_prepare are called. Since we can
391     # simply decompress them when applying, this is much easier to
392     # deal with for us.
393     einfo "Keeping ${archive} as-is"
394     ;;
395     *)
396     unpack ${archive}
397     ;;
398     esac
399 flameeyes 1.19 done
400 a3li 1.1 }
401    
402     # @FUNCTION: all_ruby_compile
403     # @DESCRIPTION:
404     # Compile the package.
405     all_ruby_compile() {
406     all_fakegem_compile
407     }
408    
409     # @FUNCTION: each_fakegem_test
410     # @DESCRIPTION:
411     # Run tests for the package for each ruby target if the test task is defined.
412     each_fakegem_test() {
413 flameeyes 1.33 case ${RUBY_FAKEGEM_RECIPE_TEST} in
414     rake)
415     ${RUBY} -S rake ${RUBY_FAKEGEM_TASK_TEST} || die "tests failed"
416     ;;
417     rspec)
418     ruby-ng_rspec
419     ;;
420 flameeyes 1.34 cucumber)
421     ruby-ng_cucumber
422     ;;
423 flameeyes 1.33 none)
424     ewarn "each_fakegem_test called, but \${RUBY_FAKEGEM_RECIPE_TEST} is 'none'"
425     ;;
426     esac
427     }
428    
429     if [[ ${RUBY_FAKEGEM_RECIPE_TEST} != none ]]; then
430     # @FUNCTION: each_ruby_test
431     # @DESCRIPTION:
432     # Run the tests for this package.
433     each_ruby_test() {
434     each_fakegem_test
435     }
436 flameeyes 1.13 fi
437 a3li 1.1
438     # @FUNCTION: each_fakegem_install
439     # @DESCRIPTION:
440     # Install the package for each ruby target.
441     each_fakegem_install() {
442 graaff 1.27 ruby_fakegem_install_gemspec
443 a3li 1.1
444 flameeyes 1.11 local _gemlibdirs="${RUBY_FAKEGEM_EXTRAINSTALL}"
445     for directory in bin lib; do
446 a3li 1.1 [[ -d ${directory} ]] && _gemlibdirs="${_gemlibdirs} ${directory}"
447     done
448    
449 flameeyes 1.9 [[ -n ${_gemlibdirs} ]] && \
450     ruby_fakegem_doins -r ${_gemlibdirs}
451 a3li 1.1 }
452    
453     # @FUNCTION: each_ruby_install
454     # @DESCRIPTION:
455     # Install the package for each target.
456     each_ruby_install() {
457     each_fakegem_install
458     }
459    
460     # @FUNCTION: all_fakegem_install
461     # @DESCRIPTION:
462     # Install files common to all ruby targets.
463     all_fakegem_install() {
464 flameeyes 1.20 if [[ -n ${RUBY_FAKEGEM_DOCDIR} ]] && use doc; then
465 flameeyes 1.7 for dir in ${RUBY_FAKEGEM_DOCDIR}; do
466 flameeyes 1.20 [[ -d ${dir} ]] || continue
467    
468 flameeyes 1.11 pushd ${dir} &>/dev/null
469 flameeyes 1.7 dohtml -r * || die "failed to install documentation"
470 flameeyes 1.11 popd &>/dev/null
471 flameeyes 1.7 done
472 a3li 1.1 fi
473    
474     if [[ -n ${RUBY_FAKEGEM_EXTRADOC} ]]; then
475     dodoc ${RUBY_FAKEGEM_EXTRADOC} || die "failed to install further documentation"
476     fi
477 flameeyes 1.6
478     # binary wrappers; we assume that all the implementations get the
479     # same binaries, or something is wrong anyway, so...
480     if [[ -n ${RUBY_FAKEGEM_BINWRAP} ]]; then
481     local bindir=$(find "${D}" -type d -path "*/gems/${RUBY_FAKEGEM_NAME}-${RUBY_FAKEGEM_VERSION}/bin" -print -quit)
482    
483     if [[ -d "${bindir}" ]]; then
484 flameeyes 1.11 pushd "${bindir}" &>/dev/null
485 flameeyes 1.6 local binaries=$(eval ls ${RUBY_FAKEGEM_BINWRAP})
486     for binary in $binaries; do
487     ruby_fakegem_binwrapper $binary
488     done
489 flameeyes 1.11 popd &>/dev/null
490 flameeyes 1.6 fi
491     fi
492 a3li 1.1 }
493    
494     # @FUNCTION: all_ruby_install
495     # @DESCRIPTION:
496     # Install files common to all ruby targets.
497     all_ruby_install() {
498     all_fakegem_install
499     }

  ViewVC Help
Powered by ViewVC 1.1.20