%define thunderbird_package mozilla-thunderbird %define name mozilla-thunderbird-l10n %define oname mozilla-thunderbird %define version 3.1.10 #if %mandriva_branch == Cauldron # Cauldron %define release %mkrel 1 #else # Old distros #define subrel 1 #define release %mkrel 0 #endif %define thunderbird_epoch 0 %define thunderbird_version %{version} %define up_ca_name thunderbird %define lib_name %{up_ca_name}-%version %define mozillalibdir %_libdir/%lib_name %define tb_appid \{3550f703-e582-4d05-9a08-453d09bdfdc6\} %define tbextdir %{_datadir}/mozilla/extensions/%{tb_appid} %define xpidir http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/%{thunderbird_version}/linux-i686/xpi/ # Supported l10n language lists %define langlist af ar be bg bn_BD ca cs da de el en_GB es_AR es_ES et eu fi fr fy ga gd gl he hu id is it ja ko lt nb_NO nl nn_NO pa_IN pl pt_PT pt_BR ro ru si sl sk sq sr sv_SE tr uk vi zh_CN zh_TW # Disabled l10n languages, for any reason %define disabled_langlist gu_IN mk # Disabled myspell dicts, for any reason %define disabled_dict_langlist ar be br_FR es_AR eu fi fy ga gu_IN he ja ko mk pa_IN tr zh_CN zh_TW %define use_dict 1 # We moved to pointing mozilladir/dictionaries -> /usr/share/dict/mozilla %define use_dict 0 # Language descriptions %define language_af af %define langname_af Afrikaans %define language_ar ar %define langname_ar Arabic %define language_be be %define langname_be Belarusian %define language_bg bg %define langname_bg Bulgarian %define language_bn_BD bn-BD %define langname_bn_BD Bengali (Bangla) %define language_br_FR br-FR %define langname_br_FR Breton %define language_ca ca %define langname_ca Catalan %define language_cs cs %define langname_cs Czech %define language_da da %define langname_da Dansk %define language_de de %define langname_de German %define language_el el %define langname_el Greek %define language_en_GB en-GB %define langname_en_GB British English %define language_es_AR es-AR %define langname_es_AR Spanish (Argentina) %define language_es_ES es-ES %define langname_es_ES Spanish %define language_et_EE et-EE %define langname_et_EE Estonian (Magento) %define language_et et %define langname_et Estonian %define language_eu eu %define langname_eu Basque %define language_fi fi %define langname_fi Finnish %define language_fr fr %define langname_fr French %define language_fy fy-NL %define langname_fy Frisian %define language_ga ga-IE %define langname_ga Irish %define language_gd gd %define langname_gd Scottish Gaelic %define language_gl gl %define langname_gl Galician %define language_gu_IN gu-IN %define langname_gu_IN Gujarati %define language_he he %define langname_he Hebrew %define language_hu hu %define langname_hu Hungarian %define language_id id %define langname_id Indonesian %define language_is is %define langname_is Icelandic %define language_it it %define langname_it Italian %define language_ja ja %define langname_ja Japanese %define language_ka ka %define langname_ka Georgian %define language_ko ko %define langname_ko Korean %define language_lt lt %define langname_lt Lithuanian %define language_mk mk %define langname_mk Macedonian %define language_nb_NO nb-NO %define langname_nb_NO Norwegian Bokmaal %define language_nn_NO nn-NO %define langname_nn_NO Norwegian Nynorsk %define language_nl nl %define langname_nl Dutch %define language_pa_IN pa-IN %define langname_pa_IN Punjabi (gurmukhi) %define language_pl pl %define langname_pl Polish %define language_pt_BR pt-BR %define langname_pt_BR Brazilian portuguese %define language_pt_PT pt-PT %define langname_pt_PT Portuguese %define language_ro ro %define langname_ro Romanian %define language_ru ru %define langname_ru Russian %define language_si si %define langname_si Sinhala %define language_sk sk %define langname_sk Slovak %define language_sq sq %define langname_sq Albanian %define language_sl sl %define langname_sl Slovenian %define language_sr sr %define langname_sr Serbian %define language_sv_SE sv-SE %define langname_sv_SE Swedish %define language_ta_LK ta-LK %define langname_ta_LK Tamil (Sri-Lanka) %define language_tr tr %define langname_tr Turkish %define language_uk uk %define langname_uk Ukrainian %define language_vi vi %define langname_vi Vietnamese %define language_zh_CN zh-CN %define langname_zh_CN Simplified Chinese %define language_zh_TW zh-TW %define langname_zh_TW Traditional Chinese # --- Danger line --- # Defaults (all languages enabled by default) # l10n %{expand:%(for lang in %langlist; do echo "%%define with_$lang 1"; done)} %{expand:%(for lang in %disabled_langlist; do echo "%%define with_$lang 0"; done)} # dicts %{expand:%(for lang in %langlist; do echo "%%define with_dict_$lang %{use_dict}"; done)} %{expand:%(for lang in %disabled_dict_langlist; do echo "%%define with_dict_$lang 0"; done)} # Locales %{expand:%(for lang in %langlist; do echo "%%define locale_$lang `echo $lang | cut -d _ -f 1` "; done)} %if %use_dict # myspell dicts, allows setting preferences between several providers. %{expand:%(for lang in %langlist; do echo "%%define myspell_$lang myspell-$lang"; done)} %define myspell_de myspell-de_DE %define myspell_fr myspell-fr_FR %endif Summary: Localizations for Thunderbird (virtual package) Name: %{name} Version: %{version} Release: %{release} License: GPL Group: Networking/WWW Url: http://www.mozilla.org/ BuildArch: noarch BuildRequires: libxml2-utils # Language package template Source0: %{name}-template.in Patch0: fy-si-xml-validation.patch # l10n sources %{expand:%(\ i=1;\ for lang in %langlist; do\ echo "%%{expand:Source$i: %{xpidir}/%%{language_$lang}.xpi}";\ i=$[i+1];\ done\ ) } %if %use_dict %{expand:%(\ disabled="%{disabled_dict_langlist}";\ for lang in %langlist; do\ echo "$disabled" | grep -q "\<$lang\>" || \ echo "BuildRequires: %%{myspell_$lang}";\ done\ ) } %endif %description Localizations for Thunderbird # Expand all languages packages. %{expand:%(\ for lang in %langlist; do\ echo "%%{expand:%%(sed "s!__LANG__!$lang!g" %{_sourcedir}/%{name}-template.in 2> /dev/null)}";\ done\ ) } %prep %setup -q -c -T # Convert rpm macros to bash variables %{expand:%(for lang in %langlist; do echo "language_$lang=%%{language_$lang}"; done)} %{expand:%(for lang in %langlist; do echo "locale_$lang=%%{locale_$lang}"; done)} %{expand:%(for lang in %langlist; do echo "with_$lang=%%{with_$lang}"; done)} %{expand:%(for lang in %langlist; do echo "dict_$lang=%%{with_dict_$lang}"; done)} # Unpack all languages for lang in %langlist; do with="with_$lang" with=${!with} [ $with -eq 0 ] && continue language="language_$lang" language=${!language} locale="locale_$lang" locale=${!locale} # l10n mkdir ${language} cd ${language} unzip -qq %{_sourcedir}/${language}.xpi cd .. # dict dict="dict_$lang" dict=${!dict} [ $dict -eq 0 ] && continue done # Patches pushd si %patch0 -p0 popd %check # All install.rdf files must validate xmllint --noout */install.rdf %install rm -rf %buildroot # Convert rpm macros to bash variables %{expand:%(for lang in %langlist; do echo "language_$lang=%%{language_$lang}"; done)} %{expand:%(for lang in %langlist; do echo "with_$lang=%%{with_$lang}"; done)} %{expand:%(for lang in %langlist; do echo "dict_$lang=%%{with_dict_$lang}"; done)} # Create dicts dir %if %use_dict mkdir -p %buildroot%{mozillalibdir}/dictionaries %endif # Install all languages for lang in %langlist; do with="with_$lang" with=${!with} [ $with -eq 0 ] && continue language="language_$lang" language=${!language} # l10n cd $language mkdir -p %buildroot%{tbextdir}/langpack-${language}@thunderbird.mozilla.org/ cp -f -r * %buildroot%{tbextdir}/langpack-${language}@thunderbird.mozilla.org/ cd .. done %clean rm -rf %buildroot