diff options
Diffstat (limited to 'gnu/packages/dictionaries.scm')
-rw-r--r-- | gnu/packages/dictionaries.scm | 161 |
1 files changed, 152 insertions, 9 deletions
diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm index f51ed24111..1fc2da6218 100644 --- a/gnu/packages/dictionaries.scm +++ b/gnu/packages/dictionaries.scm @@ -1,15 +1,19 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014-2016, 2021, 2024 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2014-2016, 2018, 2021, 2024, 2025 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016-2018, 2020-2023, 2025 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2017, 2018, 2019, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> -;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2020 Lu hux <luhux@outlook.com> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2022 ROCKTAKEY <rocktakey@gmail.com> -;;; Copyright © 2022 Runciter <runciter@whispers-vpn.org> +;;; Copyright © 2022, 2024 Runciter <runciter@whispers-vpn.org> +;;; Copyright © 2022 Maxim Cournoyer <maxim@guixotic.coop> +;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com> +;;; Copyright © 2025 Zhu Zihao <all_but_last@163.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -41,27 +45,166 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) + #:use-module (gnu packages bison) + #:use-module (gnu packages compression) + #:use-module (gnu packages compression) + #:use-module (gnu packages crypto) #:use-module (gnu packages curl) #:use-module (gnu packages emacs) #:use-module (gnu packages flex) #:use-module (gnu packages fribidi) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) + #:use-module (gnu packages groff) + #:use-module (gnu packages gsasl) + #:use-module (gnu packages guile) #:use-module (gnu packages linux) + #:use-module (gnu packages m4) #:use-module (gnu packages ncurses) #:use-module (gnu packages pcre) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages readline) - #:use-module (gnu packages texinfo) - #:use-module (gnu packages compression) + #:use-module (gnu packages speech) #:use-module (gnu packages tcl) + #:use-module (gnu packages texinfo) #:use-module (gnu packages web) - #:use-module (gnu packages xml) - #:use-module (gnu packages dictd) - #:use-module (gnu packages speech) - #:use-module (gnu packages perl)) + #:use-module (gnu packages wordnet) + #:use-module (gnu packages xml)) + +(define-public dico + (package + (name "dico") + (version "2.12") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/dico/dico-" + version ".tar.xz")) + (sha256 + (base32 + "1xvahrav8aml90qcj4cj3a33y0n7nm1k0ywgks1zy2q91v2qk2vj")))) + (build-system gnu-build-system) + (arguments + (list + #:configure-flags #~(list "--disable-static") + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'set-shell-file-name + (lambda* (#:key inputs #:allow-other-keys) + ;; This code invokes "/bin/sh -c 'm4 -s ...'". + (substitute* "grecs/src/grecs-lex.c" + (("\"/bin/sh\"") + (string-append "\"" + (search-input-file inputs "/bin/sh") + "\""))))) + (add-before 'check 'silence-guile + (lambda _ + ;; Guile is too talkative, which disturbs the test + ;; infrastructure. Gag it. + (setenv "GUILE_AUTO_COMPILE" "0") + (setenv "GUILE_WARN_DEPRECATED" "no")))))) + (native-inputs (list groff)) + (inputs + (list m4 ;used at run time + bash-minimal ;likewise + pcre + python-wrapper + guile-3.0 + gsasl + readline + zlib + wordnet + libxcrypt ;for 'crypt' + libltdl)) + (home-page "https://www.gnu.org.ua/software/dico/") + (synopsis "Implementation of DICT server (RFC 2229)") + (description + "GNU Dico implements a flexible dictionary server and client according to +RFC 2229 (DICT Server). It is able to access any database available, +regardless of format, thanks to its modular structure. New modules may be +written in C, Guile or Python. Dico also includes a command-line client, +which may be used to query remote dictionary databases.") + (license license:gpl3+))) + +(define-public libmaa + (package + (name "libmaa") + (version "1.3.2") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/dict/libmaa/" + "libmaa-" + version + "/libmaa-" + version + ".tar.gz")) + (sha256 + (base32 "1idi4c30pi79g5qfl7rr9s17krbjbg93bi8f2qrbsdlh78ga19ar")))) + (native-inputs (list libtool)) + (arguments + (list + ;; Change -Werror to -Wno-error, reproduce other default flags + ;; Do not error out on warnings related to snprintf function + #:make-flags #~'("CFLAGS=-DHAVE_CONFIG_H -Wall -Wno-error -g -O2 $(VERCFLAGS) -I. -I${srcdir}") + #:test-target "test")) + (build-system gnu-build-system) + (synopsis "Low-level data structures used by the dictd program") + (description + "The libmaa library provides many low-level +data structures which are helpful for writing compilers, including hash +tables, sets, lists, debugging support, and memory management. Although +libmaa was designed and implemented as a foundation for the Khepara +transformation system, the data structures are generally applicable to a +wide range of programming problems. + +The memory management routines are especially helpful for improving the +performance of memory-intensive applications.") + (home-page "https://sourceforge.net/projects/dict/") + (license license:gpl2+))) + +(define-public dictd + (package + (name "dictd") + (version "1.13.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/dict/dictd/" + "dictd-" + version + "/dictd-" + version + ".tar.gz")) + (sha256 + (base32 "0w8i7w3xs53kj5v72xf1zq24kz4qa6fcg1lmibs279wgnggjj88r")))) + (inputs (list libmaa zlib)) + (native-inputs (list libtool bison flex)) + (arguments + (list + #:test-target "test" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-configure + (lambda _ + ;; workaround for missing yylex in yywrap lex check + (substitute* "configure" + (("yywrap [(]void[)];") + "yywrap (void); int yylex () { return 0; }"))))))) + (build-system gnu-build-system) + (synopsis "@command{dict}, @command{dictd} and @command{dictfmt} programs") + (description + "The DICT Interchange Format (DICF) is a human-readable + format for the interchange of dictionary databases for the use with +DICT protocol client/server software. +This package provides a client @command{dict} and a server program +@command{dictd} for the DICT protocol, as well as a utility +@command{dictfmt} to convert various dictionary formats into +dictionaries that can be served by @command{dictd} or Dico.") + (home-page "https://sourceforge.net/projects/dict/") + (license license:gpl2+))) (define-public vera (package |