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

Diff of /eclass/ruby-ng.eclass

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

Revision 1.36 Revision 1.38
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/ruby-ng.eclass,v 1.36 2011/07/22 09:08:59 graaff Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/ruby-ng.eclass,v 1.38 2011/07/22 09:41:17 graaff Exp $
4# 4#
5# @ECLASS: ruby-ng.eclass 5# @ECLASS: ruby-ng.eclass
6# @MAINTAINER: 6# @MAINTAINER:
7# Ruby herd <ruby@gentoo.org> 7# Ruby herd <ruby@gentoo.org>
8# 8#
44# @DESCRIPTION: 44# @DESCRIPTION:
45# A String or Array of filenames of patches to apply to all implementations. 45# A String or Array of filenames of patches to apply to all implementations.
46 46
47# @ECLASS-VARIABLE: RUBY_OPTIONAL 47# @ECLASS-VARIABLE: RUBY_OPTIONAL
48# @DESCRIPTION: 48# @DESCRIPTION:
49# Set the value to "yes" to make the dependency on a Ruby interpreter optional. 49# Set the value to "yes" to make the dependency on a Ruby interpreter
50# optional and then ruby_implementations_depend() to help populate
51# DEPEND and RDEPEND.
50 52
51# @ECLASS-VARIABLE: RUBY_S 53# @ECLASS-VARIABLE: RUBY_S
52# @DEFAULT_UNSET 54# @DEFAULT_UNSET
53# @DESCRIPTION: 55# @DESCRIPTION:
54# If defined this variable determines the source directory name after 56# If defined this variable determines the source directory name after
255 257
256 DEPEND="${DEPEND} $dependency" 258 DEPEND="${DEPEND} $dependency"
257 RDEPEND="${RDEPEND}" 259 RDEPEND="${RDEPEND}"
258} 260}
259 261
262# @FUNCTION: ruby_get_use_implementations
263# @DESCRIPTION:
264# Gets an array of ruby use targets enabled by the user
265ruby_get_use_implementations() {
266 local i implementation
267 for implementation in ${USE_RUBY}; do
268 use ruby_targets_${implementation} && i+=" ${implementation}"
269 done
270 echo $i
271}
272
260# @FUNCTION: ruby_get_use_targets 273# @FUNCTION: ruby_get_use_targets
261# @DESCRIPTION: 274# @DESCRIPTION:
262# Gets an array of ruby use targets that the ebuild sets 275# Gets an array of ruby use targets that the ebuild sets
263ruby_get_use_targets() { 276ruby_get_use_targets() {
264 local t implementation 277 local t implementation
270 283
271if [[ ${EAPI:-0} -ge 4 && ${RUBY_OPTIONAL} != "yes" ]]; then 284if [[ ${EAPI:-0} -ge 4 && ${RUBY_OPTIONAL} != "yes" ]]; then
272 REQUIRED_USE=" || ( $(ruby_get_use_targets) )" 285 REQUIRED_USE=" || ( $(ruby_get_use_targets) )"
273fi 286fi
274 287
288# @FUNCTION: ruby_implementations_depend
289# @RETURN: Dependencies suitable for injection into DEPEND and RDEPEND.
290# @DESCRIPTION:
291# Produces the dependency string for the various implementations of ruby
292# which the package is being built against. This should not be used when
293# RUBY_OPTIONAL is unset but must be used if RUBY_OPTIONAL=yes. Do not
294# confuse this function with ruby_implementation_depend().
295#
296# @EXAMPLE:
297# EAPI=4
298# RUBY_OPTIONAL=yes
299#
300# inherit ruby-ng
301# ...
302# DEPEND="ruby? ( $(ruby_implementations_depend) )"
303# RDEPEND="${DEPEND}"
304ruby_implementations_depend() {
305 local depend
306 for _ruby_implementation in ${USE_RUBY}; do
307 depend="${depend}${depend+ }ruby_targets_${_ruby_implementation}? ( $(ruby_implementation_depend $_ruby_implementation) )"
308 done
309 echo "${depend}"
310}
311
275for _ruby_implementation in $USE_RUBY; do 312for _ruby_implementation in ${USE_RUBY}; do
276 IUSE="${IUSE} ruby_targets_${_ruby_implementation}" 313 IUSE="${IUSE} ruby_targets_${_ruby_implementation}"
277
278 # If you specify RUBY_OPTIONAL you also need to take care of
279 # ruby useflag and dependency.
280 if [[ ${RUBY_OPTIONAL} != "yes" ]]; then
281 DEPEND="${DEPEND} ruby_targets_${_ruby_implementation}? ( $(ruby_implementation_depend $_ruby_implementation) )"
282 RDEPEND="${RDEPEND} ruby_targets_${_ruby_implementation}? ( $(ruby_implementation_depend $_ruby_implementation) )"
283 fi
284done 314done
315# If you specify RUBY_OPTIONAL you also need to take care of
316# ruby useflag and dependency.
317if [[ ${RUBY_OPTIONAL} != yes ]]; then
318 DEPEND="${DEPEND} $(ruby_implementations_depend)"
319 RDEPEND="${RDEPEND} $(ruby_implementations_depend)"
320fi
285 321
286_ruby_invoke_environment() { 322_ruby_invoke_environment() {
287 old_S=${S} 323 old_S=${S}
288 case ${EAPI} in 324 case ${EAPI} in
289 4) 325 4)

Legend:
Removed from v.1.36  
changed lines
  Added in v.1.38

  ViewVC Help
Powered by ViewVC 1.1.20