diff options
author | Ian Stakenvicius <axs@gentoo.org> | 2015-07-16 16:40:07 +0000 |
---|---|---|
committer | Ian Stakenvicius <axs@gentoo.org> | 2015-07-16 16:40:07 +0000 |
commit | 5fc91e314e709ac0359f085a6b88a39b48023042 (patch) | |
tree | b1db92bbb763a53cb51da830a36f899f4c6fa373 /eclass | |
parent | Drop possible vulnerable version wrt security bug 526542 as the status of sma... (diff) | |
download | historical-5fc91e314e709ac0359f085a6b88a39b48023042.tar.gz historical-5fc91e314e709ac0359f085a6b88a39b48023042.tar.bz2 historical-5fc91e314e709ac0359f085a6b88a39b48023042.zip |
reverted the mozlinguas.eclass update
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/mozlinguas.eclass | 203 |
1 files changed, 19 insertions, 184 deletions
diff --git a/eclass/mozlinguas.eclass b/eclass/mozlinguas.eclass index a4d90cbd7093..3ee35d2ab962 100644 --- a/eclass/mozlinguas.eclass +++ b/eclass/mozlinguas.eclass @@ -1,6 +1,6 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/mozlinguas.eclass,v 1.7 2015/07/16 16:25:47 axs Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/mozlinguas.eclass,v 1.8 2015/07/16 16:40:07 axs Exp $ # @ECLASS: mozlinguas.eclass # @MAINTAINER: @@ -10,16 +10,15 @@ # @BLURB: Handle language packs for mozilla products # @DESCRIPTION: # Sets IUSE according to MOZ_LANGS (language packs available). Also exports -# src_unpack, src_compile and src_install for use in ebuilds, and provides -# supporting functions for langpack generation and installation. +# src_unpack and src_install for use in ebuilds. -inherit mozextension mozcoreconf-v3 +inherit mozextension case "${EAPI:-0}" in 0|1) die "EAPI ${EAPI:-0} does not support the '->' SRC_URI operator";; 2|3|4|5) - EXPORT_FUNCTIONS src_unpack src_compile src_install;; + EXPORT_FUNCTIONS src_unpack src_install;; *) die "EAPI ${EAPI} is not supported, contact eclass maintainers";; esac @@ -54,11 +53,6 @@ esac # The ftp URI prefix for the release tarballs and language packs. : ${MOZ_FTP_URI:=""} -# @ECLASS-VARIABLE: MOZ_HTTP_URI -# @DESCRIPTION: -# The http URI prefix for the release tarballs and language packs. -: ${MOZ_HTTP_URI:=""} - # @ECLASS-VARIABLE: MOZ_LANGPACK_PREFIX # @DESCRIPTION: # The relative path till the lang code in the langpack file URI. @@ -71,86 +65,21 @@ esac # Defaults to '.xpi' : ${MOZ_LANGPACK_SUFFIX:=".xpi"} -# @ECLASS-VARIABLE: MOZ_LANGPACK_UNOFFICIAL -# @DESCRIPTION: -# The status of the langpack, used to differentiate within -# Manifests and on Gentoo mirrors as to when the langpacks are -# generated officially by Mozilla or if they were generated -# unofficially by others (ie the Gentoo mozilla team). When -# this var is set, the distfile will have a .unofficial.xpi -# suffix. -: ${MOZ_LANGPACK_UNOFFICIAL:=""} - -# @ECLASS-VARIABLE: MOZ_GENERATE_LANGPACKS -# @DESCRIPTION: -# This flag specifies whether or not the langpacks should be -# generated directly during the build process, rather than -# being downloaded and installed from upstream pre-built -# extensions. Primarily it supports pre-release builds. -# Defaults to empty. -: ${MOZ_GENERATE_LANGPACKS:=""} - -# @ECLASS-VARIABLE: MOZ_L10N_SOURCEDIR -# @DESCRIPTION: -# The path that l10n sources can be found at, once unpacked. -# Defaults to ${WORKDIR}/l10n-sources -: ${MOZ_L10N_SOURCEDIR:="${WORKDIR}/l10n-sources"} - -# @ECLASS-VARIABLE: MOZ_L10N_URI_PREFIX -# @DESCRIPTION: -# The full URI prefix of the distfile for each l10n locale. The -# AB_CD and MOZ_L10N_URI_SUFFIX will be appended to this to complete the -# SRC_URI when MOZ_GENERATE_LANGPACKS is set. If empty, nothing will -# be added to SRC_URI. -# Defaults to empty. -: ${MOZ_L10N_URI_PREFIX:=""} - -# @ECLASS-VARIABLE: MOZ_L10N_URI_SUFFIX -# @DESCRIPTION: -# The suffix of l10n source distfiles. -# Defaults to '.tar.xz' -: ${MOZ_L10N_URI_SUFFIX:=".tar.xz"} - # Add linguas_* to IUSE according to available language packs # No language packs for alphas and betas -if ! [[ -n ${MOZ_GENERATE_LANGPACKS} ]] ; then - if ! [[ ${PV} =~ alpha|beta ]] || { [[ ${PN} == seamonkey ]] && ! [[ ${PV} =~ alpha ]] ; } ; then - [[ -z ${MOZ_FTP_URI} ]] && [[ -z ${MOZ_HTTP_URI} ]] && die "No URI set to download langpacks, please set one of MOZ_{FTP,HTTP}_URI" +if ! [[ ${PV} =~ alpha|beta ]] || { [[ ${PN} == seamonkey ]] && ! [[ ${PV} =~ alpha ]] ; } ; then for x in "${MOZ_LANGS[@]}" ; do # en and en_US are handled internally if [[ ${x} == en ]] || [[ ${x} == en-US ]]; then continue fi - SRC_URI+=" linguas_${x/-/_}? (" - [[ -n ${MOZ_FTP_URI} ]] && SRC_URI+=" - ${MOZ_FTP_URI}/${MOZ_LANGPACK_PREFIX}${x}${MOZ_LANGPACK_SUFFIX} -> ${MOZ_P}-${x}${MOZ_LANGPACK_UNOFFICIAL:+.unofficial}.xpi" - [[ -n ${MOZ_HTTP_URI} ]] && SRC_URI+=" - ${MOZ_HTTP_URI}/${MOZ_LANGPACK_PREFIX}${x}${MOZ_LANGPACK_SUFFIX} -> ${MOZ_P}-${x}${MOZ_LANGPACK_UNOFFICIAL:+.unofficial}.xpi" - SRC_URI+=" )" + SRC_URI+=" + linguas_${x/-/_}? + ( ${MOZ_FTP_URI}/${MOZ_LANGPACK_PREFIX}${x}${MOZ_LANGPACK_SUFFIX} -> ${MOZ_P}-${x}.xpi )" IUSE+=" linguas_${x/-/_}" # We used to do some magic if specific/generic locales were missing, but # we stopped doing that due to bug 325195. done - fi -else - for x in "${MOZ_LANGS[@]}" ; do - # en and en_US are handled internally - if [[ ${x} == en ]] || [[ ${x} == en-US ]]; then - continue - fi -# Do NOT grab l10n sources from hg tip at this time, since it is a moving target -# if [[ ${PV} =~ alpha ]]; then -# # Please note that this URI is not deterministic - digest breakage could occur -# SRC_URI+=" linguas_${x/-/_}? ( http://hg.mozilla.org/releases/l10n/mozilla-aurora/ach/archive/tip.tar.bz2 -> ${MOZ_P}-l10n-${x}.tar.bz2 )" -# elif [[ ${PV} =~ beta ]] && ! [[ ${PN} == seamonkey ]]; then -# # Please note that this URI is not deterministic - digest breakage could occur -# SRC_URI+=" linguas_${x/-/_}? ( http://hg.mozilla.org/releases/l10n/mozilla-beta/ach/archive/tip.tar.bz2 -> ${MOZ_P}-l10n-${x}.tar.bz2 )" -# elif [[ -n ${MOZ_L10N_URI_PREFIX} ]]; then - if [[ -n ${MOZ_L10N_URI_PREFIX} ]]; then - SRC_URI+=" linguas_${x/-/_}? ( ${MOZ_L10N_URI_PREFIX}${x}${MOZ_L10N_URI_SUFFIX} )" - fi - IUSE+=" linguas_${x/-/_}" - done fi unset x @@ -161,9 +90,9 @@ unset x # This list is used to unpack and install the xpi language packs mozlinguas_export() { if [[ ${PN} == seamonkey ]] ; then - [[ ${PV} =~ alpha ]] && ! [[ -n ${MOZ_GENERATE_LANGPACKS} ]] && return + [[ ${PV} =~ alpha ]] && return else - [[ ${PV} =~ alpha|beta ]] && ! [[ -n ${MOZ_GENERATE_LANGPACKS} ]] && return + [[ ${PV} =~ alpha|beta ]] && return fi local lingua mozlinguas=() @@ -191,117 +120,23 @@ mozlinguas_export() { # Unpack xpi language packs according to the user's LINGUAS settings mozlinguas_src_unpack() { local x - if ! [[ -n ${MOZ_GENERATE_LANGPACKS} ]]; then - mozlinguas_export - for x in "${mozlinguas[@]}"; do - # FIXME: Add support for unpacking xpis to portage - xpi_unpack "${MOZ_P}-${x}${MOZ_LANGPACK_UNOFFICIAL:+.unofficial}.xpi" - done - if [[ "${mozlinguas[*]}" != "" && "${mozlinguas[*]}" != "en" ]]; then - einfo "Selected language packs (first will be default): ${mozlinguas[*]}" - fi - fi -} - -# @FUNCTION: mozlinguas_mozconfig -# @DESCRIPTION: -# if applicable, add the necessary flag to .mozconfig to support -# the generation of locales -mozlinguas_mozconfig() { - if [[ -n ${MOZ_GENERATE_LANGPACKS} ]]; then - mozconfig_annotate 'for building locales' --with-l10n-base=${MOZ_L10N_SOURCEDIR} - fi -} - -# @FUNCTION: mozlinguas_src_compile -# @DESCRIPTION: -# if applicable, build the selected locales. -mozlinguas_src_compile() { - if [[ -n ${MOZ_GENERATE_LANGPACKS} ]]; then - # leverage BUILD_OBJ_DIR if set otherwise assume PWD. - local x y targets=( "langpack" ) localedir="${BUILD_OBJ_DIR:-.}" - case ${PN} in - *firefox) - localedir+="/browser/locales" - ;; - seamonkey) - localedir+="/suite/locales" - ;; - *thunderbird) - localedir+="/mail/locales" - targets+=( "calendar-langpack" ) - ;; - *) die "Building locales for ${PN} is not supported." - esac - pushd "${localedir}" > /dev/null || die - mozlinguas_export - for x in "${mozlinguas[@]}"; do for y in "${targets[@]}"; do - emake ${y}-${x} LOCALE_MERGEDIR="./${y}-${x}" - done; done - popd > /dev/null || die - fi -} - -# @FUNCTION: mozlinguas_xpistage_langpacks -# @DESCRIPTION: -# Add extra langpacks to the xpi-stage dir for prebuilt plugins -# -# First argument is the path to the extension -# Second argument is the prefix of the source (same as first if unspecified) -# Remaining arguments are the modules in the extension that are localized -# (basename of first if unspecified) -# -# Example - installing extra langpacks for lightning: -# src_install() { -# ... # general installation steps -# mozlinguas_xpistage_langpacks \ -# "${BUILD_OBJ_DIR}"/dist/xpi-stage/lightning \ -# "${WORKDIR}"/lightning \ -# lightning calendar -# ... # proceed with installation from the xpi-stage dir -# } - -mozlinguas_xpistage_langpacks() { - local l c modpath="${1}" srcprefix="${1}" modules=( "${1##*/}" ) - shift - if [[ -n ${1} ]] ; then srcprefix="${1}" ; shift ; fi - if [[ -n ${1} ]] ; then modules=( $@ ) ; fi - mozlinguas_export - for l in "${mozlinguas[@]}"; do for c in "${modules[@]}" ; do - if [[ -e "${srcprefix}-${l}/chrome/${c}-${l}" ]]; then - cp -RLp -t "${modpath}/chrome" "${srcprefix}-${l}/chrome/${c}-${l}" || die - grep "locale ${c} ${l} chrome/" "${srcprefix}-${l}/chrome.manifest" \ - >>"${modpath}/chrome.manifest" || die - elif [[ -e "${srcprefix}/chrome/${c}-${l}" ]]; then - cp -RLp -t "${modpath}/chrome" "${srcprefix}/chrome/${c}-${l}" || die - grep "locale ${c} ${l} chrome/" "${srcprefix}/chrome.manifest" \ - >>"${modpath}/chrome.manifest" || die - else - ewarn "Locale ${l} was not found for ${c}, skipping." - fi - done; done + for x in "${mozlinguas[@]}"; do + # FIXME: Add support for unpacking xpis to portage + xpi_unpack "${MOZ_P}-${x}.xpi" + done + if [[ "${mozlinguas[*]}" != "" && "${mozlinguas[*]}" != "en" ]]; then + einfo "Selected language packs (first will be default): ${mozlinguas[*]}" + fi } # @FUNCTION: mozlinguas_src_install # @DESCRIPTION: # Install xpi language packs according to the user's LINGUAS settings -# NOTE - uses ${BUILD_OBJ_DIR} or PWD if unset, for source-generated langpacks mozlinguas_src_install() { local x mozlinguas_export - if [[ -n ${MOZ_GENERATE_LANGPACKS} ]]; then - local repopath="${WORKDIR}/${PN}-generated-langpacks" - mkdir -p "${repopath}" - pushd "${BUILD_OBJ_DIR:-.}"/dist/*/xpi > /dev/null || die - for x in "${mozlinguas[@]}"; do - cp "${MOZ_P}.${x}.langpack.xpi" \ - "${repopath}/${MOZ_P}-${x}${MOZ_LANGPACK_UNOFFICIAL:+.unofficial}.xpi" || die - xpi_unpack "${repopath}/${MOZ_P}-${x}${MOZ_LANGPACK_UNOFFICIAL:+.unofficial}.xpi" - done - popd > /dev/null || die - fi for x in "${mozlinguas[@]}"; do - xpi_install "${WORKDIR}/${MOZ_P}-${x}${MOZ_LANGPACK_UNOFFICIAL:+.unofficial}" + xpi_install "${WORKDIR}/${MOZ_P}-${x}" done } |