On Sat, May 7, 2016 at 10:13 PM, James Le Cuirot <ch...@gentoo.org> wrote:
> 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
> }
> ---
>  eclass/l10n.eclass | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/eclass/l10n.eclass b/eclass/l10n.eclass
> index a7a6a26..26aa864 100644
> --- a/eclass/l10n.eclass
> +++ b/eclass/l10n.eclass
> @@ -86,7 +86,7 @@ l10n_find_plocales_changes() {
>                 current+="${x} "
>         done
>         popd >/dev/null
> -       if [[ ${PLOCALES} != ${current%[[:space:]]} ]] ; then
> +       if [[ $(tr -s "[:space:]" "\n" <<< "${PLOCALES}" | sort | xargs echo) 
> != ${current%[[:space:]]} ]] ; then
>                 einfo "There are changes in locales! This ebuild should be 
> updated to:"
>                 einfo "PLOCALES=\"${current%[[:space:]]}\""
>         else
> --
> 2.7.1

Does this also fix bug 513242?

Thanks,
Davide

Reply via email to