As a result of research related to https://forums.gentoo.org/viewtopic-p-8811964.html, i learned that the app-dict/freedict-* packages pull .tar.gz files from SourceForge, whereas the freedict.org site currently makes .tar.xz files available from download.freedict.org. If the freedict eclass were to be modified to use the latter, many more freedict dictionaries could trivially be packaged than are currently available, since the ebuilds only require a few lines. For example, the entirety of the freedict-deu-eng ebuild is: ``` # Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 inherit freedict DESCRIPTION="Freedict for language translation from German to English" KEYWORDS="~amd64 ~riscv ~x86" ``` i would be happy to create a PR for this, if appropriate. Related: https://bugs.gentoo.org/74066, "New ebuilds for freedict dictd dictionaries", opened in 2004, last modified in 2018. Reproducible: Always
Are all the sourceforge ones available on freedict.org? If so, we can add a variable to get the old behaviour, add it to all existing ebuilds, then new ones will be manifested as they get ported.
Trying to visit https://freedict.sourceforge.net/download/linux/ in the browser results in an empty page, so i'm just going to use the contents of https://freedict.sourceforge.net/download/files.txt. That file indicates that the .tar.gz files haven't been updated since 2003. In terms of the existing freedict-* packages, here's a table comparing word counts of what's available on s(ourceforge).n(et) versus f(reedict).o(rg): | package | s.n | f.o | +----------+-------+--------+ | -deu-eng | 81699 | 517534 | | -eng-fra | 8806 | 8799 | | -eng-ita | 4521 | 4519 | | -eng-swe | 5490 | 39246 | | -fra-eng | 7838 | 8505 | | -ita-eng | 3431 | 3429 | In terms of the whether dictionaries listed in files.txt are available on f.o: | file | f.o? | +----------------+----------+ | afr-deu.tar.gz | y | | afr-eng.tar.gz | y | | cze-eng.tar.gz | y | | dan-eng.tar.gz | y | | deu-eng.tar.gz | y | | deu-fra.tar.gz | y | | deu-ita.tar.gz | y | | deu-nld.tar.gz | y | | deu-por.tar.gz | y | | eng-afr.tar.gz | y | | eng-ara.tar.gz | y | | eng-cze.tar.gz | =eng-ces | | eng-deu.tar.gz | y | | eng-fra.tar.gz | y | | eng-hin.tar.gz | y | | eng-hun.tar.gz | y | | eng-iri.tar.gz | =eng-gle | | eng-ita.tar.gz | y | | eng-lat.tar.gz | y | | eng-nld.tar.gz | y | | eng-por.tar.gz | y | | eng-rom.tar.gz | y | | eng-rus.tar.gz | y | | eng-scr.tar.gz | [a] | | eng-spa.tar.gz | y | | eng-swe.tar.gz | y | | eng-wel.tar.gz | =eng-cym | | fra-deu.tar.gz | y | | fra-eng.tar.gz | y | | fra-nld.tar.gz | y | | gre-deu.tar.gz | n | | hun-eng.tar.gz | y | | iri-eng.tar.gz | =gle-eng | | ita-deu.tar.gz | y | | ita-eng.tar.gz | y | | jpn-deu.tar.gz | y | | kha-deu.tar.gz | y | | lat-deu.tar.gz | y | | lat-eng.tar.gz | y | | nld-deu.tar.gz | y | | nld-eng.tar.gz | y | | nld-fra.tar.gz | y | | por-deu.tar.gz | y | | por-eng.tar.gz | y | | sco-deu.tar.gz | =gla-deu | | scr-eng.tar.gz | [a] | | slo-eng.tar.gz | =slk-eng | | spa-eng.tar.gz | y | | swa-eng.tar.gz | =swh-eng | | swe-eng.tar.gz | y | | tur-deu.tar.gz | y | | tur-eng.tar.gz | y | | wel-eng.tar.gz | =cym-eng | [a] 'scr' is 'Serbo-Croat'; on f.o, 'Serbian' and 'Croation' have been separated, so there's eng-hrv, eng-srp, hrv-eng, and srp-eng. Thus, gre-deu is the only dictionary not available on f.o.
Oh, sorry, Greek is listed on freedict.org as 'Modern Greek', so i'd missed it; there are indeed ell-eng and eng-ell dictionaries available.
Additionally, Jimmy2027 noted in https://forums.gentoo.org/viewtopic-p-8812002.html#8812002 that the freedict- packages install into /usr/lib64/dict/, which is not the dictionary directory specified in /etc/conf.d/dictd for DLIBDIR, /usr/share/dict. This is due to the eclass having the line: insinto /usr/$(get_libdir)/dict i suggest this should be changed to /usr/share/dict, as dictd(8) lists /usr/share/ as being the directory for dictionaries.