commit: 4cd5b18679a3e4bcb1049c4213fca6570639851a Author: Michał Górny <mgorny <AT> gentoo <DOT> org> AuthorDate: Thu Jun 30 17:26:21 2016 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Sun Jul 3 16:08:35 2016 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4cd5b186
kde4-*.eclass: Migrate to L10N flags eclass/kde4-base.eclass | 4 ++-- eclass/kde4-functions.eclass | 43 +++++++++++++++++++++++++++---------------- 2 files changed, 29 insertions(+), 18 deletions(-) diff --git a/eclass/kde4-base.eclass b/eclass/kde4-base.eclass index b6ee447..6f71dea 100644 --- a/eclass/kde4-base.eclass +++ b/eclass/kde4-base.eclass @@ -333,13 +333,13 @@ fi # add a dependency over kde4-l10n if [[ ${KDEBASE} != "kde-base" && -n ${KDE_LINGUAS} ]]; then - for _lingua in ${KDE_LINGUAS}; do + for _lingua in $(kde4_lingua_to_l10n ${KDE_LINGUAS}); do # if our package has linguas, pull in kde4-l10n with selected lingua enabled, # but only for selected ones. # this can't be done on one line because if user doesn't use any localisation # then he is probably not interested in kde4-l10n at all. kderdepend+=" - linguas_${_lingua}? ( $(add_kdeapps_dep kde4-l10n "linguas_${_lingua}(+)") ) + l10n_${_lingua}? ( $(add_kdeapps_dep kde4-l10n "l10n_${_lingua}(+)") ) " done unset _lingua diff --git a/eclass/kde4-functions.eclass b/eclass/kde4-functions.eclass index 8c2fa4a..a600d55 100644 --- a/eclass/kde4-functions.eclass +++ b/eclass/kde4-functions.eclass @@ -76,6 +76,27 @@ case ${KDE_SCM} in *) die "KDE_SCM: ${KDE_SCM} is not supported" ;; esac +# @FUNCTION: kde4_lingua_to_l10n +# @USAGE: <lingua>... +# @INTERNAL +# @DESCRIPTION: +# Output l10n flag name(s) (without prefix(es)) appropriate for given KDE +# locale(s). +kde4_lingua_to_l10n() { + local l + for l; do + case ${l} in + ca@valencia) echo ca-valencia;; + sr@ijekavian) echo sr-ijekavsk;; + sr@ijekavianlatin) echo sr-Latn-ijekavsk;; + sr@latin|sr@Latn) echo sr-Latn;; + uz@cyrillic) echo uz-Cyrl;; + *@*) die "${FUNCNAME}: Unhandled KDE_LINGUAS: ${l}";; + *) echo "${l/_/-}";; + esac + done +} + # @ECLASS-VARIABLE: KDE_LINGUAS # @DESCRIPTION: # This is a whitespace-separated list of translations this ebuild supports. @@ -86,8 +107,8 @@ esac # # Example: KDE_LINGUAS="de en_GB nl" if [[ ${KDE_BUILD_TYPE} != live || -n ${KDE_LINGUAS_LIVE_OVERRIDE} ]]; then - for _lingua in ${KDE_LINGUAS}; do - IUSE="${IUSE} linguas_${_lingua}" + for _lingua in $(kde4_lingua_to_l10n ${KDE_LINGUAS}); do + IUSE="${IUSE} l10n_${_lingua}" done fi @@ -139,7 +160,7 @@ comment_all_add_subdirectory() { # @FUNCTION: enable_selected_linguas # @DESCRIPTION: -# Enable translations based on LINGUAS settings and translations supported by +# Enable translations based on L10N settings and translations supported by # the package (see KDE_LINGUAS). By default, translations are found in "${S}"/po # but this default can be overridden by defining KDE_LINGUAS_DIR. enable_selected_linguas() { @@ -147,11 +168,6 @@ enable_selected_linguas() { local x - # if there is no linguas defined we enable everything - if ! $(env | grep -q "^LINGUAS="); then - return 0 - fi - # @ECLASS-VARIABLE: KDE_LINGUAS_DIR # @DESCRIPTION: # Specified folder where application translations are located. @@ -171,7 +187,7 @@ enable_selected_linguas() { # @FUNCTION: enable_selected_doc_linguas # @DESCRIPTION: -# Enable only selected linguas enabled doc folders. +# Enable only selected L10N enabled doc folders. enable_selected_doc_linguas() { debug-print-function ${FUNCNAME} "$@" @@ -195,11 +211,6 @@ enable_selected_doc_linguas() { -e "/ADD_SUBDIRECTORY[[:space:]]*([[:space:]]*${handbookdir}[[:space:]]*)/s/^/#DONOTCOMPILE /" \ -i CMakeLists.txt || die 'failed to comment out all handbooks' else - # if there is no linguas defined we enable everything (i.e. comment out nothing) - if ! $(env | grep -q "^LINGUAS="); then - return 0 - fi - # Disable subdirectories recursively comment_all_add_subdirectory "${handbookdir}" @@ -213,7 +224,7 @@ enable_selected_doc_linguas() { # Add requested translations local lingua for lingua in en ${KDE_LINGUAS}; do - if [[ ${lingua} = en ]] || use linguas_${lingua}; then + if [[ ${lingua} = en ]] || use "l10n_$(kde4_lingua_to_l10n "${lingua}")"; then if [[ -d ${handbookdir}/${translationdir//%lingua/${lingua}} ]]; then sed -e "/add_subdirectory[[:space:]]*([[:space:]]*${translationdir//%lingua/${lingua}}/s/^#DONOTCOMPILE //" \ -e "/ADD_SUBDIRECTORY[[:space:]]*([[:space:]]*${translationdir//%lingua/${lingua}}/s/^#DONOTCOMPILE //" \ @@ -376,7 +387,7 @@ _enable_selected_linguas_dir() { done for lingua in ${KDE_LINGUAS}; do - if use linguas_${lingua} ; then + if use "l10n_$(kde4_lingua_to_l10n ${lingua})" ; then if [[ -d ${lingua} ]]; then linguas="${linguas} ${lingua}" sed -e "/add_subdirectory([[:space:]]*${lingua}[[:space:]]*)[[:space:]]*$/ s/^#DONOTCOMPILE //" \