@@ -2,70 +2,74 @@ SUMMARY = "Hunspell dictionaries used by Maliit"
#Provided by Titus Wormer (wooorm) https://github.com/wooorm/dictionaries
-LICENSE = "MIT"
-LICENSE:dictionaries/bg = "LGPL-2.1"
-LICENSE:dictionaries/br = "GPL-3.0"
-LICENSE:dictionaries/ca-valencia = "GPL-2.0 AND LGPL-2.1-only"
-LICENSE:dictionaries/ca = "GPL-2.0 AND LGPL-2.1-only"
-LICENSE:dictionaries/cs = "GPL-2.0-only"
-LICENSE:dictionaries/da = "GPL-2.0-only"
-LICENSE:dictionaries/de-AT = "GPL-3.0-only"
-LICENSE:dictionaries/de-CH = "GPL-3.0-only"
-LICENSE:dictionaries/de = "GPL-3.0-only"
-LICENSE:dictionaries/el-polyton = "GPL-2.0-only"
-LICENSE:dictionaries/el = "GPL-2.0-only"
-LICENSE:dictionaries/en-AU = "LGPL-2.0-only"
-LICENSE:dictionaries/en-CA = "MIT AND LicenseRef-BSD"
-LICENSE:dictionaries/en-GB = "LGPL-2.0-only"
-LICENSE:dictionaries/en-US = "MIT AND LicenseRef-BSD"
-LICENSE:dictionaries/en-ZA = "LGPL-2.1"
-LICENSE:dictionaries/eo = "GPL-2.0-only"
-LICENSE:dictionaries/es = "GPL-3.0-only"
-LICENSE:dictionaries/et = "LGPL-2.1-only"
-LICENSE:dictionaries/eu = "GPL-2.0-only"
-LICENSE:dictionaries/fo = "GPL-2.0-only"
-LICENSE:dictionaries/fr = "MPL-2.0"
-LICENSE:dictionaries/fur = "GPL-2.0-only"
-LICENSE:dictionaries/fy = "GPL-3.0-only"
-LICENSE:dictionaries/ga = "GPL-2.0-only"
-LICENSE:dictionaries/gd = "GPL-3.0-only"
-LICENSE:dictionaries/gl = "GPL-3.0-only"
-LICENSE:dictionaries/he = "AGPL-3.0-only"
-LICENSE:dictionaries/hr = "GPL-3.0-only"
-LICENSE:dictionaries/hu = "GPL-2.0-only"
-LICENSE:dictionaries/hy-arevela = "GPL-2.0-only"
-LICENSE:dictionaries/hy-arevmda = "GPL-2.0-only"
-LICENSE:dictionaries/ia = "GPL-3.0-only"
-LICENSE:dictionaries/ie = "Apache-2.0"
-LICENSE:dictionaries/is = "CC-BY-SA-3.0 AND CC-BY-4.0"
-LICENSE:dictionaries/it = "GPL-3.0-only"
-LICENSE:dictionaries/ko = "GPL-2.0-only AND LGPL-2.1-only AND MPL-1.1"
-LICENSE:dictionaries/la = "GPL-3.0-only"
-LICENSE:dictionaries/lb = "EUPL-1.1"
-LICENSE:dictionaries/lt = "LicenseRef-Other"
-LICENSE:dictionaries/ltg = "LGPL-2.1-only"
-LICENSE:dictionaries/lv = "LGPL-2.1-only"
-LICENSE:dictionaries/mk = "GPL-3.0-only"
-LICENSE:dictionaries/mn = "GPL-2.0-only"
-LICENSE:dictionaries/nb = "GPL-2.0-only"
-LICENSE:dictionaries/nds = "GPL-2.0-only"
-LICENSE:dictionaries/ne = "LGPL-2.1-only"
-LICENSE:dictionaries/nl = "LicenseRef-BSD"
-LICENSE:dictionaries/nn = "GPL-2.0-only"
-LICENSE:dictionaries/pl = "GPL-3.0-only"
-LICENSE:dictionaries/pt-BR = "LGPL-2.1"
-LICENSE:dictionaries/pt = "GPL-2.0-only"
-LICENSE:dictionaries/ro = "GPL-2.0-only"
-LICENSE:dictionaries/ru = "LicenseRef-BSD"
-LICENSE:dictionaries/rw = "GPL-3.0-only"
-LICENSE:dictionaries/sk = "GPL-2.0-only"
-LICENSE:dictionaries/sl = "GPL-2.0-only"
-LICENSE:dictionaries/sr-Latn = "LGPL-3.0"
-LICENSE:dictionaries/sr = "LGPL-3.0"
-LICENSE:dictionaries/sv = "LGPL-3.0"
-LICENSE:dictionaries/tr = "MIT"
-LICENSE:dictionaries/uk = "GPL-2.0"
-LICENSE:dictionaries/vi = "GPL-3.0"
+# The single package ships all dictionaries, so it carries all their licenses
+LICENSE = "${@' AND '.join(sorted(set(['(%s)' % l if ' ' in l else l for l in (d.getVarFlags('HUNSPELL_DICT_LICENSE') or dict()).values()])))}"
+HUNSPELL_DICT_LICENSE[bg] = "GPL-2.0-only OR LGPL-2.1-only OR MPL-1.1"
+HUNSPELL_DICT_LICENSE[br] = "GPL-2.0-only OR LGPL-2.1-only OR MPL-1.1"
+HUNSPELL_DICT_LICENSE[ca] = "GPL-2.0-only OR LGPL-2.1-only"
+HUNSPELL_DICT_LICENSE[ca-valencia] = "GPL-2.0-only OR LGPL-2.1-only"
+HUNSPELL_DICT_LICENSE[cs] = "GPL-2.0-only"
+HUNSPELL_DICT_LICENSE[da] = "GPL-2.0-only OR LGPL-2.1-only OR MPL-1.1"
+HUNSPELL_DICT_LICENSE[de] = "GPL-2.0-only OR GPL-3.0-only"
+HUNSPELL_DICT_LICENSE[de-AT] = "GPL-2.0-only OR GPL-3.0-only"
+HUNSPELL_DICT_LICENSE[de-CH] = "GPL-2.0-only OR GPL-3.0-only"
+HUNSPELL_DICT_LICENSE[el] = "GPL-2.0-only OR LGPL-2.1-only OR MPL-1.1"
+HUNSPELL_DICT_LICENSE[el-polyton] = "GPL-3.0-only"
+HUNSPELL_DICT_LICENSE[en-AU] = "MIT AND LicenseRef-SCOWL"
+HUNSPELL_DICT_LICENSE[en-CA] = "MIT AND LicenseRef-SCOWL"
+HUNSPELL_DICT_LICENSE[en-GB] = "MIT AND LicenseRef-SCOWL"
+HUNSPELL_DICT_LICENSE[en-US] = "MIT AND LicenseRef-SCOWL"
+HUNSPELL_DICT_LICENSE[en-ZA] = "LGPL-2.1-only"
+HUNSPELL_DICT_LICENSE[eo] = "GPL-2.0-only"
+HUNSPELL_DICT_LICENSE[es] = "GPL-3.0-only OR LGPL-3.0-only OR MPL-1.1"
+HUNSPELL_DICT_LICENSE[et] = "LGPL-2.1-only"
+HUNSPELL_DICT_LICENSE[eu] = "GPL-2.0-only"
+HUNSPELL_DICT_LICENSE[fo] = "GPL-2.0-only OR LGPL-2.1-only OR MPL-1.1"
+HUNSPELL_DICT_LICENSE[fr] = "MPL-2.0"
+HUNSPELL_DICT_LICENSE[fur] = "GPL-2.0-only"
+HUNSPELL_DICT_LICENSE[fy] = "GPL-3.0-only"
+HUNSPELL_DICT_LICENSE[ga] = "GPL-2.0-only"
+HUNSPELL_DICT_LICENSE[gd] = "GPL-3.0-only"
+HUNSPELL_DICT_LICENSE[gl] = "GPL-3.0-only"
+HUNSPELL_DICT_LICENSE[he] = "AGPL-3.0-only"
+HUNSPELL_DICT_LICENSE[hr] = "LGPL-2.1-only OR SISSL"
+HUNSPELL_DICT_LICENSE[hu] = "GPL-2.0-only OR LGPL-2.1-only OR MPL-1.1"
+HUNSPELL_DICT_LICENSE[hy-arevela] = "GPL-2.0-only OR LGPL-2.1-only OR MPL-1.1"
+HUNSPELL_DICT_LICENSE[hy-arevmda] = "GPL-2.0-only OR LGPL-2.1-only OR MPL-1.1"
+HUNSPELL_DICT_LICENSE[ia] = "GPL-3.0-only"
+HUNSPELL_DICT_LICENSE[ie] = "Apache-2.0"
+HUNSPELL_DICT_LICENSE[is] = "CC-BY-SA-3.0 AND CC-BY-4.0"
+HUNSPELL_DICT_LICENSE[it] = "GPL-3.0-only"
+HUNSPELL_DICT_LICENSE[ko] = "GPL-2.0-only OR LGPL-2.1-only OR MPL-1.1"
+HUNSPELL_DICT_LICENSE[la] = "GPL-2.0-only"
+HUNSPELL_DICT_LICENSE[lb] = "EUPL-1.1"
+HUNSPELL_DICT_LICENSE[lt] = "BSD-3-Clause"
+HUNSPELL_DICT_LICENSE[ltg] = "LGPL-2.1-only"
+HUNSPELL_DICT_LICENSE[lv] = "LGPL-2.1-only"
+HUNSPELL_DICT_LICENSE[mk] = "GPL-3.0-only"
+HUNSPELL_DICT_LICENSE[mn] = "GPL-2.0-only"
+HUNSPELL_DICT_LICENSE[nb] = "GPL-2.0-only"
+HUNSPELL_DICT_LICENSE[nds] = "GPL-3.0-only"
+HUNSPELL_DICT_LICENSE[ne] = "LGPL-2.1-only"
+HUNSPELL_DICT_LICENSE[nl] = "BSD-3-Clause OR CC-BY-3.0"
+HUNSPELL_DICT_LICENSE[nn] = "GPL-2.0-only"
+HUNSPELL_DICT_LICENSE[pl] = "GPL-3.0-only OR LGPL-3.0-only OR MPL-2.0"
+HUNSPELL_DICT_LICENSE[pt] = "GPL-2.0-only OR LGPL-2.1-only OR MPL-1.1"
+HUNSPELL_DICT_LICENSE[pt-BR] = "LGPL-2.1-only"
+HUNSPELL_DICT_LICENSE[ro] = "GPL-2.0-only OR LGPL-2.1-only OR MPL-1.1"
+HUNSPELL_DICT_LICENSE[ru] = "LicenseRef-hunspell-ru"
+HUNSPELL_DICT_LICENSE[rw] = "GPL-3.0-only"
+HUNSPELL_DICT_LICENSE[sk] = "GPL-2.0-only"
+HUNSPELL_DICT_LICENSE[sl] = "GPL-3.0-only OR LGPL-2.1-only"
+HUNSPELL_DICT_LICENSE[sr] = "LGPL-3.0-only"
+HUNSPELL_DICT_LICENSE[sr-Latn] = "LGPL-3.0-only"
+HUNSPELL_DICT_LICENSE[sv] = "LGPL-3.0-only"
+HUNSPELL_DICT_LICENSE[tr] = "MIT"
+HUNSPELL_DICT_LICENSE[uk] = "GPL-3.0-only"
+HUNSPELL_DICT_LICENSE[vi] = "GPL-3.0-only"
+NO_GENERIC_LICENSE[SCOWL] = "dictionaries/en-US/license"
+NO_GENERIC_LICENSE[hunspell-ru] = "dictionaries/ru/license"
+
LIC_FILES_CHKSUM = " \
file://dictionaries/bg/license;md5=ab14e2ded1a43b84be9aba2be64b9814 \
file://dictionaries/br/license;md5=2e046c64edc0a4e47fb3ea614e6c82c4 \
The per-dictionary licenses were set as LICENSE:dictionaries/<lang> overrides, which never apply since they are not package names, so the recipe, which installs every dictionary into a single package, was reported as MIT only. Several of those values were also deprecated SPDX ids (GPL-2.0, LGPL-2.1, ...) or license refs without a license text (LicenseRef-BSD, LicenseRef-Other). Record each dictionary's license in HUNSPELL_DICT_LICENSE, taken from the "license" field of its upstream package.json with deprecated ids mapped to their -only equivalents, and set LICENSE to the conjunction of all of them. Exceptions: - en-*: "BSD" is not an SPDX id; these use the SCOWL license text, added as LicenseRef-SCOWL. - ru: a BSD-style license with an extra clause, added as LicenseRef-hunspell-ru. - vi: package.json says GPL-2.0, but the license file says GPLv3. - is: the license file also covers the CC-BY-4.0 hyphenation rules. AI-Generated: Uses Claude Code Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> --- .../hunspell/hunspell-dictionaries.bb | 132 +++++++++--------- 1 file changed, 68 insertions(+), 64 deletions(-)