%if 0%{?fedora} >= 36 || 0%{?rhel} > 9 %global dict_dirname hunspell %else %global dict_dirname myspell %endif Name: libreoffice-dictionaries Summary: LibreOffice hunspell dictionaries Version: 26.2.5.1 Release: 3%{?dist} Source0: https://github.com/LibreOffice/dictionaries/archive/refs/tags/libreoffice-%{version}.tar.gz URL: https://github.com/LibreOffice/dictionaries # License tag is combined license of all binary subpackages License: AGPL-3.0-only AND Apache-2.0 AND BSD-3-Clause AND (BSD-3-Clause OR CC-BY-3.0) AND BSD-3-Clause-Modification AND CC-BY-4.0 AND (CC-BY-4.0 or LGPL-3.0-only) AND CC-BY-SA-3.0 AND CC0-1.0 AND GFDL-1.2-invariants-or-later AND GPL-1.0-only AND (GPL-1.0-only OR LGPL-2.1-only) AND GPL-1.0-or-later AND GPL-2.0-only AND (GPL-2.0-only AND LGPL-2.1-only) AND (GPL-2.0-only OR GPL-3.0-only) AND (GPL-2.0-only OR LGPL-2.1-only OR MPL-1.1) AND GPL-2.0-or-later AND (GPL-2.0-or-later OR LGPL-2.1-or-later OR MPL-1.1) AND (GPL-2.0-or-later OR LGPL-2.1-or-later OR MPL-1.1 OR Apache-2.0 OR CC-BY-SA-4.0 AND GPL-3.0-only AND (GPL-3.0-only OR LGPL-2.1-only OR MPL-1.1) AND GPL-3.0-or-later AND (GPL-3.0-or-later OR LGPL-3.0-or-later OR MPL-1.1) AND (GPL-3.0-or-later OR LGPL-3.0-or-later OR MPL-2.0) AND LGPL-2.1-only AND LGPL-2.1-or-later AND LGPL-3.0-only AND LGPL-3.0-only AND MPL-1.1 AND LPPL-1.3c AND MPL-1.1 AND MPL-2.0 AND NTP BuildArch: noarch %description LibreOffice hunspell dictionaries. %{lua: -- template for libreoffice-dict- -- filesglob2 macro is for Serbian subpackage only install_cmds = "" -- global: populated by defdict(), consumed in %install local dest = rpm.expand("%{buildroot}%{_datadir}/%{dict_dirname}") local function defdict(d) local templ = [[ %package -n libreoffice-dict-%{_lang} Summary: %{_langengname} hunspell dictionary %{?_license_tag} Requires: hunspell-filesystem Conflicts: hunspell-%{_conflicts} %description -n libreoffice-dict-%{_lang} %{_langengname} hunspell dictionary %files -n libreoffice-dict-%{_lang} %{?_doc} %{?_license_file} %{_datadir}/%{dict_dirname}/%{_filesglob} %{?_filesglob2} ]] rpm.define("_lang " .. d.lang) rpm.define("_langengname " .. d.langengname) rpm.define("_conflicts " .. (d.conflicts or d.lang)) rpm.define("_supplements " .. (d.supplements or d.lang)) rpm.define("_filesglob " .. d.filesglob) if d.license then rpm.define("_license_tag License: " .. d.license) end if d.doc then rpm.define("_doc %%doc " .. d.doc) end if d.license_file then rpm.define("_license_file %%license " .. d.license_file) end if d.filesglob2 then rpm.define("_filesglob2 " .. rpm.expand("%{_datadir}/%{dict_dirname}") .. "/" .. d.filesglob2) end print(rpm.expand(templ)) -- For packages where filesglob doesn't cover aliases, list them explicitly in %files if d.cp_aliases and d.explicit_alias_files then for alias in d.cp_aliases:gmatch("%S+") do print(rpm.expand("%{_datadir}/%{dict_dirname}") .. "/" .. alias .. ".*\n") end end rpm.undefine("_lang") rpm.undefine("_langengname") rpm.undefine("_conflicts") rpm.undefine("_supplements") rpm.undefine("_filesglob") rpm.undefine("_license_tag") rpm.undefine("_doc") rpm.undefine("_license_file") rpm.undefine("_filesglob2") -- cp and ln commands to install files if not d.cp_skip then install_cmds = install_cmds .. "cp -p " .. d.cp_src .. " " .. dest .. "\n" if d.cp_aliases then install_cmds = install_cmds .. "pushd " .. dest .. "/\n" for alias in d.cp_aliases:gmatch("%S+") do install_cmds = install_cmds .. "ln -s " .. d.cp_base .. ".aff " .. alias .. ".aff\n" install_cmds = install_cmds .. "ln -s " .. d.cp_base .. ".dic " .. alias .. ".dic\n" end install_cmds = install_cmds .. "popd\n" end end end -- Lua array table for all available dictionary languages dicts = { { lang="af", langengname="Afrikaans", license="LGPL-2.1-or-later", doc="af_ZA/README_af_ZA.txt", filesglob="af_*", cp_src="af_ZA/af_ZA.*", cp_base="af_ZA", cp_aliases="af_NA" }, { lang="an", langengname="Aragonese", license="GPL-3.0-or-later OR LGPL-3.0-or-later OR MPL-1.1", doc="an_ES/LICENSES-en.txt", filesglob="an_ES*", cp_src="an_ES/an_ES.*" }, { lang="ar", langengname="Arabic", license="GPL-2.0-or-later OR LGPL-2.1-or-later OR MPL-1.1", doc="ar/*.txt", filesglob="ar_??.*", cp_skip=true }, { lang="as", langengname="Assamese", license="GPL-3.0-only", doc="as_IN/README_as_IN.txt", filesglob="as_IN.*", cp_src="as_IN/as_IN.*" }, { lang="be", langengname="Belarusian", license="CC-BY-4.0 or LGPL-3.0-only", doc="be_BY/README_be_BY.txt", filesglob="be_BY.*", cp_skip=true }, { lang="bg", langengname="Bulgarian", license="GPL-2.0-only", license_file="bg_BG/COPYING", filesglob="bg_BG*", cp_src="bg_BG/bg_BG.*" }, { lang="bo", langengname="Tibetan", license="CC0-1.0", doc="bo/*.md", filesglob="bo.*", cp_src="bo/bo.*" }, { lang="bn_BD", langengname="Bengali", license="GPL-2.0-only", license_file="bn_BD/COPYING", filesglob="bn_BD.*", cp_src="bn_BD/bn_BD.*" }, { lang="br", langengname="Breton", license="LGPL-2.1-or-later", doc="br_FR/LICENSES-en.txt", filesglob="br_FR.*", cp_src="br_FR/br_FR.*" }, { lang="bs", langengname="Bosnian", license="GPL-2.0-or-later OR LGPL-2.1-or-later OR MPL-1.1", doc="bs_BA/README.txt", filesglob="bs_BA.*", cp_src="bs_BA/bs_BA.*" }, { lang="ca", langengname="Catalan", license="GPL-2.0-only AND LGPL-2.1-only", doc="ca/LICENSES-en.txt", filesglob="ca_??.*", cp_skip=true }, { lang="ckb", langengname="Central Kurdish", license="CC-BY-4.0", doc="ckb/LICENSES-en.txt", filesglob="ckb.*", cp_src="ckb/dictionaries/ckb.*" }, { lang="cs", langengname="Czech", license="GPL-1.0-or-later", doc="cs_CZ/README_en.txt", filesglob="cs_CZ.*", cp_src="cs_CZ/cs_CZ.*" }, { lang="da", langengname="Danish", license="GPL-2.0-only OR LGPL-2.1-only OR MPL-1.1", doc="da_DK/README_da_DK.txt", filesglob="da_DK.*", cp_src="da_DK/da_DK.*" }, { lang="de", langengname="German", license="GPL-2.0-only OR GPL-3.0-only", filesglob="de_*.*", cp_skip=true }, { lang="en-AU", langengname="AU English", license="NTP", doc="en/README_en_AU.txt", filesglob="en_AU.*", cp_src="en/en_AU.*" }, { lang="en-CA", langengname="CA English", license="NTP", doc="en/README_en_CA.txt", filesglob="en_CA.*", cp_src="en/en_CA.*" }, { lang="en-GB", langengname="UK English", license="LGPL-2.1-or-later", doc="en/README_en_GB.txt", filesglob="en_GB.*", cp_src="en/en_GB.*", cp_base="en_GB", cp_aliases="en_AG en_BS en_BW en_BZ en_DK en_GH en_HK en_IE en_IN en_JM en_MW en_NA en_NG en_NZ en_SG en_TT en_ZM en_ZW", explicit_alias_files=true}, { lang="en-US", langengname="US English", license="NTP", doc="en/README_en_US.txt", filesglob="en_US.*", cp_src="en/en_US.*", cp_base="en_US", cp_aliases="en_PH", explicit_alias_files=true}, { lang="en-ZA", langengname="ZA English", license="LGPL-2.1-or-later", doc="en/README_en_ZA.txt", filesglob="en_ZA.*", cp_src="en/en_ZA.*" }, { lang="el", langengname="Greek", license="GPL-2.0-or-later OR LGPL-2.1-or-later OR MPL-1.1", doc="el_GR/README_el_GR.txt", filesglob="el_??.*", cp_src="el_GR/el_GR.*", cp_base="el_GR", cp_aliases="el_CY" }, { lang="eo", langengname="Esperanto", license="GPL-2.0-or-later", license_file="eo/license-en.txt", filesglob="eo.*", cp_src="eo/eo.*" }, { lang="es", langengname="Spanish", license="GPL-3.0-or-later OR LGPL-3.0-or-later OR MPL-1.1", license_file="es/README_hunspell_es.txt", filesglob="es_*.*", cp_skip=true }, { lang="et", langengname="Estonian", license="LGPL-2.1-only", doc="et_EE/README_et_EE.txt", filesglob="et_EE.*", cp_src="et_EE/et_EE.*" }, { lang="fa", langengname="Farsi", license="Apache-2.0", doc="fa_IR/README_fa_IR.txt", filesglob="fa-IR.*", cp_src="fa_IR/fa-IR.*" }, { lang="fr", langengname="French", license="MPL-2.0", doc="fr_FR/README_fr.txt", filesglob="fr_??.*", cp_skip=true }, { lang="gd", langengname="Scots Gaelic", license="GPL-3.0-or-later", doc="gd_GB/LICENSES-en.txt gd_GB/README_gd_GB.txt", filesglob="gd_GB.*", cp_src="gd_GB/gd_GB.*" }, -- https://gitlab.com/trasno/hunspell-gl/-/blob/master/README.rst { lang="gl", langengname="Galician", license="GPL-3.0-or-later", doc="gl/README", filesglob="gl_ES.*", cp_src="gl/gl_ES.*" }, -- discussion going on for license issue in https://bugs.documentfoundation.org/show_bug.cgi?id=171993 { lang="gug", langengname="Guarani", license="GFDL-1.2-invariants-or-later", doc="gug/description/desc_en_US.txt", filesglob="gug.*", cp_src="gug/gug.*" }, { lang="gu", langengname="Gujarati", license="GPL-1.0-only", doc="gu_IN/README_gu_IN.txt", filesglob="gu_IN.*", cp_src="gu_IN/gu_IN.*" }, { lang="he", langengname="Hebrew", license="AGPL-3.0-only", doc="he_IL/README_he_IL.txt", filesglob="he_IL.*", cp_src="he_IL/he_IL.*" }, { lang="hi", langengname="Hindi", license="GPL-2.0-or-later", doc="hi_IN/README_hi_IN.txt", license_file="hi_IN/Copyright hi_IN/COPYING", filesglob="hi_IN.*", cp_src="hi_IN/hi_IN.*" }, { lang="hr", langengname="Croatian", license="GPL-2.0-or-later OR LGPL-2.1-or-later OR MPL-1.1", doc="hr_HR/README_hr_HR.txt", filesglob="hr_HR.*", cp_src="hr_HR/hr_HR.*" }, -- Considered hu_HU.aff instead of README_hu_HU.txt for license { lang="hu", langengname="Hungarian", license="GPL-2.0-or-later OR LGPL-2.1-or-later OR MPL-1.1", doc="hu_HU/README_hu_HU.txt", filesglob="hu_HU.*", cp_src="hu_HU/hu_HU.*" }, -- Considered LICENSE-dict file for license { lang="id", langengname="Indonesian", license="LGPL-3.0-only", doc="id/LICENSE-dict", filesglob="id_ID.*", cp_src="id/id_ID.*" }, { lang="is", langengname="Icelandic", license="CC-BY-SA-3.0", doc="is/license.txt", filesglob="is.*", cp_src="is/is.*" }, { lang="it", langengname="Italian", license="GPL-3.0-only", doc="it_IT/README_it_IT.txt", filesglob="it_??.*", cp_src="it_IT/it_IT.*", cp_base="it_IT", cp_aliases="it_CH" }, -- chosen best license from README_kmr_Latn.txt and license.txt files { lang="kmr", langengname="Kurdish", license="GPL-3.0-only OR LGPL-2.1-only OR MPL-1.1", doc="kmr_Latn/README_kmr_Latn.txt kmr_Latn/license.txt", filesglob="kmr_Latn.*", cp_src="kmr_Latn/kmr_Latn.*" }, { lang="kn", langengname="Kannada", license="GPL-2.0-or-later", doc="kn_IN/README-kn_IN.txt", filesglob="kn_IN.*", cp_src="kn_IN/kn_IN.*" }, { lang="ko", langengname="Korean", license="GPL-3.0-or-later", doc="ko_KR/README_ko_KR.txt", filesglob="ko_KR.*", cp_src="ko_KR/ko_KR.*" }, { lang="lo", langengname="Lao", license="LGPL-2.1-only", doc="lo_LA/README_lo_LA.txt", filesglob="lo_LA.*", cp_src="lo_LA/lo_LA.*" }, { lang="lt", langengname="Lithuanian", license="BSD-3-Clause", doc="lt_LT/README", license_file="lt_LT/COPYING", filesglob="lt.*", cp_src="lt_LT/lt.*" }, { lang="lv", langengname="Latvian", license="LGPL-2.1-or-later", doc="lv_LV/README_lv_LV.txt", filesglob="lv_LV.*", cp_src="lv_LV/lv_LV.*" }, { lang="mn", langengname="Mongolian", license="LPPL-1.3c", doc="mn_MN/README_mn_MN.txt", license_file="mn_MN/lppl.txt", filesglob="mn_MN.*", cp_src="mn_MN/mn_MN.*" }, { lang="mr", langengname="Marathi", license="GPL-2.0-or-later", license_file="mr_IN/COPYING", filesglob="mr_IN.*", cp_src="mr_IN/mr_IN.*" }, { lang="ne", langengname="Nepali", license="LGPL-2.1-only", doc="ne_NP/README_ne_NP.txt", filesglob="ne_??.*", cp_src="ne_NP/ne_NP.*", cp_base="ne_NP", cp_aliases="ne_IN" }, { lang="nl", langengname="Dutch", license="BSD-3-Clause OR CC-BY-3.0", doc="nl_NL/README.md", license_file="nl_NL/LICENSE.txt", filesglob="nl_??.*", cp_src="nl_NL/nl_NL.*", cp_base="nl_NL", cp_aliases="nl_AW nl_BE" }, { lang="nb", langengname="Norwegian Bokmaal", license="GPL-2.0-only", filesglob="nb_NO.*", cp_src="no/nb_NO.*" }, { lang="nn", langengname="Norwegian Nynorsk", license="GPL-2.0-only", filesglob="nn_NO.*", cp_src="no/nn_NO.*" }, { lang="oc", langengname="Occitan", license="GPL-2.0-or-later", license_file="oc_FR/LICENCES-??.txt", filesglob="oc_FR.*", cp_src="oc_FR/oc_FR.*" }, -- discussion going on for license issue in https://bugs.documentfoundation.org/show_bug.cgi?id=171993 { lang="or", langengname="Odia", license="LGPL-2.1-only", filesglob="or_IN.*", cp_src="or_IN/or_IN.*" }, -- discussion going on for license issue in https://bugs.documentfoundation.org/show_bug.cgi?id=171993 { lang="pa", langengname="Punjabi", license="GPL-2.0-only", filesglob="pa_IN.*", cp_src="pa_IN/pa_IN.*" }, { lang="pl", langengname="Polish", license="GPL-2.0-or-later OR LGPL-2.1-or-later OR MPL-1.1 OR Apache-2.0 OR CC-BY-SA-4.0", doc="pl_PL/README_??.txt", filesglob="pl_PL.*", cp_src="pl_PL/pl_PL.*" }, { lang="pt-BR", langengname="Brazilian Portuguese", license="LGPL-3.0-only AND MPL-1.1", supplements="pt_BR", doc="pt_BR/README_en.txt pt_BR/README_pt_BR.txt", filesglob="pt_BR.*", cp_src="pt_BR/pt_BR.*" }, { lang="pt", langengname="Portuguese", license="GPL-2.0-only OR LGPL-2.1-only OR MPL-1.1", doc="pt_PT/README_pt_PT.txt", license_file="pt_PT/LICENSES.txt", filesglob="pt_??.*", cp_src="pt_PT/pt_PT.*", cp_base="pt_PT", cp_aliases="pt_AO" }, { lang="ro", langengname="Romanian", license="GPL-2.0-only OR LGPL-2.1-only OR MPL-1.1", doc="ro/README_EN.txt ro/README_RO.txt", license_file="ro/COPYING.*", filesglob="ro_RO.*", cp_src="ro/ro_RO.*" }, { lang="ru", langengname="Russian", license="BSD-3-Clause-Modification", doc="ru_RU/README_ru_RU.txt", filesglob="ru_??.*", cp_src="ru_RU/ru_RU.*", cp_base="ru_RU", cp_aliases="ru_UA" }, -- discussion going on for license issue in https://bugs.documentfoundation.org/show_bug.cgi?id=171993 { lang="sa", langengname="Sanskrit", license="GPL-3.0-only", filesglob="sa_IN.*", cp_src="sa_IN/sa_IN.*" }, { lang="si", langengname="Sinhalese", license="GPL-3.0-or-later", license_file="si_LK/LICENSES-en.txt", filesglob="si_LK.*", cp_src="si_LK/si_LK.*" }, { lang="sk", langengname="Slovak", license="GPL-2.0-only OR LGPL-2.1-only OR MPL-1.1", doc="sk_SK/README_en.txt sk_SK/README_sk.txt", license_file="sk_SK/LICENSE.txt", filesglob="sk_SK.*", cp_src="sk_SK/sk_SK.*" }, { lang="sl", langengname="Slovenian", license="GPL-1.0-only OR LGPL-2.1-only", doc="sl_SI/README_sl_SI.txt", filesglob="sl_SI.*", cp_src="sl_SI/sl_SI.*" }, { lang="sq", langengname="Albanian", license="GPL-2.0-or-later", doc="sq_AL/README.txt", filesglob="sq_AL.*", cp_src="sq_AL/sq_AL.*" }, { lang="sr", langengname="Serbian", license="GPL-3.0-or-later OR LGPL-3.0-or-later OR MPL-2.0", doc="sr/README.txt", filesglob="sr_??.*", filesglob2="sh_??.*", cp_skip=true }, { lang="sv", langengname="Swedish", license="LGPL-3.0-only", license_file="sv_SE/LICENSE_en_US.txt", filesglob="sv_SE.*", cp_src="sv_SE/dictionaries/sv_SE.*" }, { lang="sw", langengname="Swahili", license="LGPL-2.1-or-later", doc="sw_TZ/README_sw_TZ.txt", filesglob="sw_??.*", cp_src="sw_TZ/sw_TZ.*", cp_base="sw_TZ", cp_aliases="sw_KE" }, { lang="ta", langengname="Tamil", license="MPL-1.1", license_file="ta_IN/COPYING", filesglob="ta_IN.*", cp_src="ta_IN/ta_IN.*" }, { lang="te", langengname="Telugu", license="GPL-2.0-or-later", doc="te_IN/README_te_IN.txt", filesglob="te_IN.*", cp_src="te_IN/te_IN.*" }, { lang="th", langengname="Thai", license="LGPL-2.1-or-later", doc="th_TH/README_th_TH.txt", filesglob="th_TH.*", cp_src="th_TH/th_TH.*" }, { lang="tr", langengname="Turkish", license="MPL-2.0", doc="tr_TR/README.txt", license_file="tr_TR/LICENSE", filesglob="tr_TR.*", cp_src="tr_TR/tr_TR.*" }, { lang="uk", langengname="Ukrainian", license="MPL-1.1", doc="uk_UA/README_uk_UA.txt", filesglob="uk_UA.*", cp_src="uk_UA/uk_UA.*" }, { lang="vi", langengname="Vietnamese", license="GPL-2.0-only", license_file="vi/LICENSES-??.txt", filesglob="vi_VN.*", cp_src="vi/vi_VN.*" }, } -- iterate over all the subpackage definitions for i = 1, #dicts do defdict(dicts[i]) end } %prep %autosetup -n dictionaries-libreoffice-%{version} ## Fix rpmlint issues with below conversion of files iconv -f iso8859-1 -t utf-8 an_ES/LICENSES-en.txt > an_ES/LICENSES-en.txt.conv && mv -f an_ES/LICENSES-en.txt.conv an_ES/LICENSES-en.txt iconv -f iso8859-1 -t utf-8 hi_IN/Copyright > hi_IN/Copyright.conv && mv -f hi_IN/Copyright.conv hi_IN/Copyright iconv -f iso8859-1 -t utf-8 kmr_Latn/README_kmr_Latn.txt > kmr_Latn/README_kmr_Latn.txt.conv && mv -f kmr_Latn/README_kmr_Latn.txt.conv kmr_Latn/README_kmr_Latn.txt iconv -f iso8859-1 -t utf-8 pt_PT/README_pt_PT.txt > pt_PT/README_pt_PT.txt.conv && mv -f pt_PT/README_pt_PT.txt.conv pt_PT/README_pt_PT.txt iconv -f iso8859-1 -t utf-8 sw_TZ/README_sw_TZ.txt > sw_TZ/README_sw_TZ.txt.conv && mv -f sw_TZ/README_sw_TZ.txt.conv sw_TZ/README_sw_TZ.txt iconv -f iso8859-1 -t utf-8 te_IN/README_te_IN.txt > te_IN/README_te_IN.txt.conv && mv -f te_IN/README_te_IN.txt.conv te_IN/README_te_IN.txt sed -i 's/\r$//' an_ES/LICENSES-en.txt %build # nothing to build here %install mkdir -p %{buildroot}%{_datadir}/%{dict_dirname} ## common copy command for many subpackages are now part of install_cmds %{lua: print(install_cmds) } ## Below languages are defining their own destination file names ## so they can't be minimized in macro # ar cp -p ar/ar.dic %{buildroot}%{_datadir}/%{dict_dirname}/ar_TN.dic cp -p ar/ar.aff %{buildroot}%{_datadir}/%{dict_dirname}/ar_TN.aff pushd %{buildroot}%{_datadir}/%{dict_dirname}/ ar_TN_aliases="ar_AE ar_BH ar_DJ ar_DZ ar_EG ar_ER ar_IL ar_IN ar_IQ ar_JO ar_KM ar_KW ar_LB ar_LY ar_MA ar_MR ar_OM ar_PS ar_QA ar_SA ar_SD ar_SO ar_SY ar_TD ar_YE" for lang in $ar_TN_aliases; do ln -s ar_TN.aff $lang.aff ln -s ar_TN.dic $lang.dic done popd # be cp -p be_BY/be-official.aff %{buildroot}%{_datadir}/%{dict_dirname}/be_BY.aff cp -p be_BY/be-official.dic %{buildroot}%{_datadir}/%{dict_dirname}/be_BY.dic # ca cp -p ca/dictionaries/ca.dic %{buildroot}%{_datadir}/%{dict_dirname}/ca_ES.dic cp -p ca/dictionaries/ca.aff %{buildroot}%{_datadir}/%{dict_dirname}/ca_ES.aff pushd %{buildroot}%{_datadir}/%{dict_dirname}/ ca_ES_aliases="ca_AD ca_FR ca_IT" for lang in $ca_ES_aliases; do ln -s ca_ES.aff $lang.aff ln -s ca_ES.dic $lang.dic done popd # de cp -p de/de_AT_frami.aff %{buildroot}%{_datadir}/hunspell/de_AT.aff cp -p de/de_AT_frami.dic %{buildroot}%{_datadir}/hunspell/de_AT.dic cp -p de/de_CH_frami.aff %{buildroot}%{_datadir}/hunspell/de_CH.aff cp -p de/de_CH_frami.dic %{buildroot}%{_datadir}/hunspell/de_CH.dic cp -p de/de_DE_frami.aff %{buildroot}%{_datadir}/hunspell/de_LI.aff cp -p de/de_DE_frami.dic %{buildroot}%{_datadir}/hunspell/de_LI.dic cp -p de/de_DE_frami.aff %{buildroot}%{_datadir}/hunspell/de_DE.aff cp -p de/de_DE_frami.dic %{buildroot}%{_datadir}/hunspell/de_DE.dic cp -p de/de_DE_frami.aff %{buildroot}%{_datadir}/hunspell/de_BE.aff cp -p de/de_DE_frami.dic %{buildroot}%{_datadir}/hunspell/de_BE.dic cp -p de/de_DE_frami.aff %{buildroot}%{_datadir}/hunspell/de_LU.aff cp -p de/de_DE_frami.dic %{buildroot}%{_datadir}/hunspell/de_LU.dic # es (all variants in one subpackage) cp -p es/es_*.* %{buildroot}%{_datadir}/%{dict_dirname} # fr cp -p fr_FR/fr.dic %{buildroot}%{_datadir}/%{dict_dirname}/fr_FR.dic cp -p fr_FR/fr.aff %{buildroot}%{_datadir}/%{dict_dirname}/fr_FR.aff pushd %{buildroot}%{_datadir}/%{dict_dirname}/ fr_FR_aliases="fr_BE fr_CA fr_CH fr_LU fr_MC" for lang in $fr_FR_aliases; do ln -s fr_FR.aff $lang.aff ln -s fr_FR.dic $lang.dic done popd # sr cp -p sr/sr.dic %{buildroot}%{_datadir}/%{dict_dirname}/sr_YU.dic cp -p sr/sr.aff %{buildroot}%{_datadir}/%{dict_dirname}/sr_YU.aff cp -p sr/sr-Latn.dic %{buildroot}%{_datadir}/%{dict_dirname}/sh_YU.dic cp -p sr/sr-Latn.aff %{buildroot}%{_datadir}/%{dict_dirname}/sh_YU.aff pushd %{buildroot}%{_datadir}/%{dict_dirname}/ sr_YU_aliases="sr_ME sr_RS" # bs_BA is now provided by upstream libreoffice dictionaries sh_YU_aliases="sh_ME sh_RS" for lang in $sr_YU_aliases; do ln -s sr_YU.aff $lang.aff ln -s sr_YU.dic $lang.dic done for lang in $sh_YU_aliases; do ln -s sh_YU.aff $lang.aff ln -s sh_YU.dic $lang.dic done popd %changelog * Tue Jul 07 2026 Parag Nemade - 26.2.5.1-3 - Consolidate all es-* subpackages into -es subpackage - Add source rpm license tag as combined license of binary rpm packages * Wed Jul 01 2026 Parag Nemade - 26.2.5.1-2 - Add bn_BD and en languages from upstream - Remove Supplements: tag as its not needed * Tue Jun 30 2026 Parag Nemade - 26.2.5.1-1 - Update to new upstream release 26.2.5.1 * Tue Jun 30 2026 Parag Nemade - 26.2.4.2-3 - Minimize SPEC file using Lua macro * Thu Jun 04 2026 Parag Nemade - 26.2.4.2-2 - Added Conflicts: for Fedora packages * Thu Jun 04 2026 Parag Nemade - 26.2.4.2-1 - Update to new upstream release 26.2.4.2 - Changed binary package names from hunspell-xx to libreoffice-dict-xx * Tue May 19 2026 Parag Nemade - 26.2.4.1-1 - Update to new upstream release 26.2.4.1 - Added symlinks from Fedora packages * Wed May 06 2026 Parag Nemade - 26.2.3.2-1 - Update to new upstream release 26.2.3.2 * Fri May 01 2026 Parag Nemade - 26.2.3.1-3 - Add all hunspell-es-* subpackages * Tue Apr 28 2026 Parag Nemade - 26.2.3.1-2 - Fix some rpmlint issues * Tue Apr 21 2026 Parag Nemade - 26.2.3.1-1 - Update to 26.2.3.1 * Tue Apr 14 2026 Parag Nemade - 26.2.2.2-1 - Initial version - New hunspell packages for languages an, bo, bs, ckb, gug, kmr, lo, sa - Not packaged en dictionaries in this package, let it be independent package