# Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/eclass/python-single-r1.eclass,v 1.26 2014/05/26 16:13:35 mgorny Exp $ # @ECLASS: ruby-single # @MAINTAINER: # Ruby team # @AUTHOR: # Author: Hans de Graaff # Based on python-single-r1 by: Michał Górny # @BLURB: An eclass for Ruby packages not installed for multiple implementations. # @DESCRIPTION: # An eclass for packages which don't support being installed for # multiple Ruby implementations. This mostly includes ruby-based # scripts. case "${EAPI:-0}" in 0|1|2|3) die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}" ;; 4|5) ;; *) die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}" ;; esac inherit ruby-utils # @ECLASS-VARIABLE: USE_RUBY # @DEFAULT_UNSET # @REQUIRED # @DESCRIPTION: # This variable contains a space separated list of targets (see above) a package # is compatible to. It must be set before the `inherit' call. There is no # default. All ebuilds are expected to set this variable. # @ECLASS-VARIABLE: RUBY_DEPS # @DESCRIPTION: # # This is an eclass-generated Ruby dependency string for all # implementations listed in USE_RUBY. Any one of the supported ruby # targets will satisfy this dependency. # # Example use: # @CODE # RDEPEND="${RUBY_DEPS} # dev-foo/mydep" # BDEPEND="${RDEPEND}" # @ # # Example value: # @CODE # || ( dev-lang/ruby:2.0 dev-lang/ruby:1.9 ) # @CODE _ruby_single_implementations_depend() { local depend for _ruby_implementation in ${RUBY_TARGETS_PREFERENCE}; do if [[ ${USE_RUBY} =~ ${_ruby_implementation} ]]; then depend="${depend} $(_ruby_implementation_depend $_ruby_implementation)" fi done echo "|| ( ${depend} )" } _ruby_single_set_globals() { RUBY_DEPS=$(_ruby_single_implementations_depend) } _ruby_single_set_globals