1 | # Copyright 1999-2011 Gentoo Foundation |
1 | # Copyright 1999-2011 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.39 2011/08/22 04:46:32 vapier Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/ruby-ng.eclass,v 1.42 2011/10/22 10:08:44 scarabeus 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 | # @AUTHOR: |
8 | # @AUTHOR: |
… | |
… | |
17 | # Currently available targets are: |
17 | # Currently available targets are: |
18 | # * ruby18 - Ruby (MRI) 1.8.x |
18 | # * ruby18 - Ruby (MRI) 1.8.x |
19 | # * ruby19 - Ruby (MRI) 1.9.x |
19 | # * ruby19 - Ruby (MRI) 1.9.x |
20 | # * ree18 - Ruby Enterprise Edition 1.8.x |
20 | # * ree18 - Ruby Enterprise Edition 1.8.x |
21 | # * jruby - JRuby |
21 | # * jruby - JRuby |
|
|
22 | # * rbx - Rubinius |
22 | # |
23 | # |
23 | # This eclass does not define the implementation of the configure, |
24 | # This eclass does not define the implementation of the configure, |
24 | # compile, test, or install phases. Instead, the default phases are |
25 | # compile, test, or install phases. Instead, the default phases are |
25 | # used. Specific implementations of these phases can be provided in |
26 | # used. Specific implementations of these phases can be provided in |
26 | # the ebuild either to be run for each Ruby implementation, or for all |
27 | # the ebuild either to be run for each Ruby implementation, or for all |
… | |
… | |
66 | # is linked against libruby. There are cases were this is not the case |
67 | # is linked against libruby. There are cases were this is not the case |
67 | # and the shared object is generic code to be used in some other way |
68 | # and the shared object is generic code to be used in some other way |
68 | # (e.g. selenium's firefox driver extension). When set this argument is |
69 | # (e.g. selenium's firefox driver extension). When set this argument is |
69 | # passed to "grep -E" to remove reporting of these shared objects. |
70 | # passed to "grep -E" to remove reporting of these shared objects. |
70 | |
71 | |
71 | inherit eutils toolchain-funcs |
72 | inherit eutils java-utils-2 toolchain-funcs |
72 | |
73 | |
73 | EXPORT_FUNCTIONS src_unpack src_prepare src_configure src_compile src_test src_install pkg_setup |
74 | EXPORT_FUNCTIONS src_unpack src_prepare src_configure src_compile src_test src_install pkg_setup |
74 | |
75 | |
75 | case ${EAPI} in |
76 | case ${EAPI} in |
76 | 0|1) |
77 | 0|1) |
… | |
… | |
111 | rubypn="dev-lang/ruby-enterprise" |
112 | rubypn="dev-lang/ruby-enterprise" |
112 | rubyslot=":1.8" |
113 | rubyslot=":1.8" |
113 | ;; |
114 | ;; |
114 | jruby) |
115 | jruby) |
115 | rubypn="dev-java/jruby" |
116 | rubypn="dev-java/jruby" |
|
|
117 | rubyslot="" |
|
|
118 | ;; |
|
|
119 | rbx) |
|
|
120 | rubypn="dev-lang/rubinius" |
116 | rubyslot="" |
121 | rubyslot="" |
117 | ;; |
122 | ;; |
118 | *) die "$1: unknown Ruby implementation" |
123 | *) die "$1: unknown Ruby implementation" |
119 | esac |
124 | esac |
120 | |
125 | |
… | |
… | |
392 | ruby-ng_pkg_setup() { |
397 | ruby-ng_pkg_setup() { |
393 | # This only checks that at least one implementation is present |
398 | # This only checks that at least one implementation is present |
394 | # before doing anything; by leaving the parameters empty we know |
399 | # before doing anything; by leaving the parameters empty we know |
395 | # it's a special case. |
400 | # it's a special case. |
396 | _ruby_each_implementation |
401 | _ruby_each_implementation |
|
|
402 | |
|
|
403 | has ruby_targets_jruby ${IUSE} && use ruby_targets_jruby && java-pkg_setup-vm |
397 | } |
404 | } |
398 | |
405 | |
399 | # @FUNCTION: ruby-ng_src_unpack |
406 | # @FUNCTION: ruby-ng_src_unpack |
400 | # @DESCRIPTION: |
407 | # @DESCRIPTION: |
401 | # Unpack the source archive. |
408 | # Unpack the source archive. |
… | |
… | |
607 | echo "ree" |
614 | echo "ree" |
608 | ;; |
615 | ;; |
609 | *jruby*) |
616 | *jruby*) |
610 | echo "jruby" |
617 | echo "jruby" |
611 | ;; |
618 | ;; |
|
|
619 | *rubinius*) |
|
|
620 | echo "rbx" |
|
|
621 | ;; |
612 | *) |
622 | *) |
613 | echo "mri" |
623 | echo "mri" |
614 | ;; |
624 | ;; |
615 | esac |
625 | esac |
616 | } |
626 | } |