summaryrefslogtreecommitdiff
path: root/gnu/packages/dictionaries.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/dictionaries.scm')
-rw-r--r--gnu/packages/dictionaries.scm161
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