| 1 | # Copyright 1999-2006 Gentoo Foundation |
1 | # Copyright 1999-2006 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/eutils.eclass,v 1.248 2006/08/19 13:52:02 vapier Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/eutils.eclass,v 1.252 2006/10/05 00:12:07 nyhm Exp $ |
| 4 | # |
4 | # |
| 5 | # This eclass is for general purpose functions that most ebuilds |
5 | # This eclass is for general purpose functions that most ebuilds |
| 6 | # have to implement themselves. |
6 | # have to implement themselves. |
| 7 | # |
7 | # |
| 8 | # NB: If you add anything, please comment it! |
8 | # NB: If you add anything, please comment it! |
| … | |
… | |
| 817 | games) |
817 | games) |
| 818 | case ${catmin} in |
818 | case ${catmin} in |
| 819 | action) type=ActionGame;; |
819 | action) type=ActionGame;; |
| 820 | arcade) type=ArcadeGame;; |
820 | arcade) type=ArcadeGame;; |
| 821 | board) type=BoardGame;; |
821 | board) type=BoardGame;; |
| 822 | kid) type=KidsGame;; |
822 | kids) type=KidsGame;; |
| 823 | emulation) type=Emulator;; |
823 | emulation) type=Emulator;; |
| 824 | puzzle) type=LogicGame;; |
824 | puzzle) type=LogicGame;; |
| 825 | rpg) type=RolePlaying;; |
825 | rpg) type=RolePlaying;; |
| 826 | roguelike) type=RolePlaying;; |
826 | roguelike) type=RolePlaying;; |
| 827 | simulation) type=Simulation;; |
827 | simulation) type=Simulation;; |
| … | |
… | |
| 1593 | local PKG=$(best_version $1) |
1593 | local PKG=$(best_version $1) |
| 1594 | [[ -z ${PKG} ]] && die "Unable to resolve $1 to an installed package" |
1594 | [[ -z ${PKG} ]] && die "Unable to resolve $1 to an installed package" |
| 1595 | shift |
1595 | shift |
| 1596 | |
1596 | |
| 1597 | local USEFILE=${ROOT}/var/db/pkg/${PKG}/USE |
1597 | local USEFILE=${ROOT}/var/db/pkg/${PKG}/USE |
|
|
1598 | local IUSEFILE=${ROOT}/var/db/pkg/${PKG}/IUSE |
| 1598 | |
1599 | |
| 1599 | # if the USE file doesnt exist, assume the $PKG is either |
1600 | # if the USE file doesnt exist, assume the $PKG is either |
| 1600 | # injected or package.provided |
1601 | # injected or package.provided |
| 1601 | [[ ! -e ${USEFILE} ]] && die "Unable to determine what USE flags $PKG was built with" |
1602 | [[ ! -e ${USEFILE} ]] && die "Unable to determine what USE flags $PKG was built with" |
|
|
1603 | |
|
|
1604 | local IUSE_BUILT=$(<${IUSEFILE}) |
|
|
1605 | # Don't check USE_EXPAND #147237 |
|
|
1606 | local expand |
|
|
1607 | for expand in $(echo ${USE_EXPAND} | tr '[:upper:]' '[:lower:]') ; do |
|
|
1608 | if [[ $1 == ${expand}_* ]] ; then |
|
|
1609 | expand="" |
|
|
1610 | break |
|
|
1611 | fi |
|
|
1612 | done |
|
|
1613 | if [[ -n ${expand} ]] ; then |
|
|
1614 | has $1 ${IUSE_BUILT} || die "$PKG does not actually support the $1 USE flag!" |
|
|
1615 | fi |
| 1602 | |
1616 | |
| 1603 | local USE_BUILT=$(<${USEFILE}) |
1617 | local USE_BUILT=$(<${USEFILE}) |
| 1604 | while [[ $# -gt 0 ]] ; do |
1618 | while [[ $# -gt 0 ]] ; do |
| 1605 | if [[ ${opt} = "-o" ]] ; then |
1619 | if [[ ${opt} = "-o" ]] ; then |
| 1606 | has $1 ${USE_BUILT} && return 0 |
1620 | has $1 ${USE_BUILT} && return 0 |