Note: Due to technical difficulties, the Archives are currently not up to date.
GMANE provides an alternative service for most mailing lists. c.f. bug 424647
List Archive: gentoo-devhelp
Daniel Pielmeier wrote:
> [...]
> You also might consider using a loop for installing the linguas else you
> have to add the same almost identical block for every new language
> introduced. This way the intermediate variable LANGS used for IUSE
> injection comes handy.
>
> # IUSE definition:
>
> IUSE="flags"
>
> LANGS="de en"
> for i in ${LANGS}; do
> IUSE="${IUSE} linguas_${i}"
> done
>
> # in src_install:
>
> local my_langs
>
> for j in ${LINGUAS}; do
> if has ${j} ${LANGS}; then
> my_langs="${j} ${my_langs}"
> fi
> done
>
> insinto "${GAMES_DATADIR}/${PN}/i18n"
> for k in ${my_langs}; do
> doins "${PN}_${k}.qm" || die "doins ${PN}_${k}.qm failed"
> done
Thanks. I ended up doing it this way, though with only one loop in
src_install(), which seems to be a bit more efficient and shorter:
LANGUAGES="de"
for i in ${LANGUAGES}; do
IUSE="${IUSE} linguas_${i}"
done
src_install()
#...
insinto "${GAMES_DATADIR}/${PN}/i18n"
for i in ${LANGUAGES}; do
if has ${i} ${LINGUAS}; then
doins "${PN}_${i}.qm" || die #...
fi
done
In this case, LANGUAGES must not include "en" though, since there's no
${PN}_en.qm file (English is built-in). I'm not sure if the following
would be better though, in case a user puts linguas_<language> in USE
instead of <language> in LINGUAS:
if has linguas_${i} ${USE}; then
But I suppose it would be the user's fault if he/she does that? :P
|
|