l10n.eclass: Sort and normalize PLOCALES in l10n_find_plocales_change
authorJames Le Cuirot <chewi@gentoo.org>
Sat, 7 May 2016 19:51:47 +0000 (20:51 +0100)
committerJames Le Cuirot <chewi@gentoo.org>
Sun, 8 May 2016 20:30:39 +0000 (21:30 +0100)
commitbecf07543e1dcc97fc5c3d099c0d393f77997b32
tree60a54ff0da343ed0201843fea6b92428eb2a771c
parent93ac5a10c6de7338cb828211f8fe7d7372fbf50a
l10n.eclass: Sort and normalize PLOCALES in l10n_find_plocales_change

l10n_find_plocales_change assumes that PLOCALES is sorted
alphanumerically with a single space between each entry and no
surrounding whitespace. This is not a bad assumption but it isn't
documented and it's inconvenient in at least one particular case.

MakeMKV uses non-standard locale names and I intend to map these using
an associative array, which is possible as of EAPI 6. This allows me
to do the following, though only with the above change as associative
arrays are not ordered.

declare -A MY_LOCALES
MY_LOCALES=( [zh]=chi [da]=dan … )
PLOCALES="${!MY_LOCALES[@]}"
inherit l10n

src_prepare() {
PLOCALES="${MY_LOCALES[@]}" l10n_find_plocales_changes …
}

src_install() {
for locale in $(l10n_get_locales); do
doins makemkv_${MY_LOCALES[${locale}]}.mo.gz
done
}

Fixes bug #513242.
eclass/l10n.eclass