aboutsummaryrefslogtreecommitdiff
;;; Whispers --- Stealth VPN and ssh tunneler
;;; Copyright © 2024 Runciter <runciter@whispers-vpn.org>
;;;
;;; This file is part of Whispers.
;;;
;;; Whispers is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; Whispers is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with Whispers.  If not, see <http://www.gnu.org/licenses/>.

(define-module (whispers packages dict)
  #:use-module (guix)
  #:use-module (guix build-system gnu)
  #:use-module ((guix licenses) #:select (gpl2+
                                          gpl3+
                                          cc-by-sa3.0))
  #:use-module (guix git-download)
  #:use-module (guix git)
  #:use-module (gnu packages autotools)
  #:use-module (gnu packages gawk)
  #:use-module (gnu packages bison)
  #:use-module (gnu packages flex)
  #:use-module (gnu packages base)
  #:use-module (gnu packages compression)
  #:use-module (gnu packages speech)
  #:use-module (gnu packages python)
  #:use-module (gnu packages perl)
  #:use-module (gnu packages xml)
  #:export ())

(define-public libmaa-1.3.2
  (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"))))
   (inputs (list libtool))
   (arguments
    (list #:make-flags
          #~'("CFLAGS=-DHAVE_CONFIG_H  -Wall -Wno-error -g -O2 $(VERCFLAGS) -I. -I${srcdir}")
          #:test-target "test"))
   (build-system gnu-build-system)
   (synopsis "When Khepera rose up out of the watery abyss of Nu, he
 created Maa as a foundation upon which to create everything else")
   (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 gpl2+)))

(define-public dictd-1.13.1
  (package
   (name "dictd")
   (version "1.13.1")
   (source (origin
            (method url-fetch)
            (uri (string-append "mirror://sourceforge/dict/dictd/"
                                "dictd-"
                                version
                                "/dictd-"
                                version
                                ".tar.gz"))
            (sha256
             (base32
              "06racmv25ihwgwf67fgj2703ik0m5i2cjzcxasa88kc92rysdwg4"))))
   (inputs (list libmaa-1.3.2 zlib libtool bison flex))
   (arguments
    (list #:test-target "test"))
   (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 @command{dicos}")
   (home-page "https://sourceforge.net/projects/dict/")
   (license gpl2+)))

(define-public freedict-tools-0.6.0
  (package
   (name "freedict-tools")
   (version "0.6.0")
   (source
    (origin
      (method git-fetch)
      (uri (git-reference
            (url "https://github.com/freedict/tools")
            (commit "3596640e6e0582cc5fb76a342e5d8e7413aa4b34")))
      (sha256
       (base32 "1raayynvn1j8x0ck8pnbbljl6zxnsyzzil7y54xz03dpj7k9w7mk"))))
   (inputs (list espeak-ng
                 python perl
                 gzip
                 tar
                 libxslt
                 dictd-1.13.1
                 perl-libxml))
   (arguments
    (list #:tests? #f
          #:phases
          #~(modify-phases
             %standard-phases
             (delete 'configure)
             (add-before 'build 'set-prefix-in-makefile
                         (lambda* (#:key inputs #:allow-other-keys)
                           (substitute*
                            "Makefile"
                            (("PREFIX \\?=.*")
                             (string-append "PREFIX = "
                                            #$output
                                            "\n")))
                           (substitute*
                            "mk/dicts.mk"
                            (("available_platforms := src dictd slob")
                             "available_platforms := dictd")))))))
   (build-system gnu-build-system)
   (synopsis "The FreeDict tools are used to import, export (build) and
 manage FreeDict dictionaries")
   (description "FreeDict is a project that offers over 140 free
 dictionaries in about 45 languages, with the right to study, change and
 modify them. You can use them offline on your computer or mobile phone
 and export them to any format and application.

In order to limit store size and build complexity, only the build
targets that build dictionaries in dictd format are retained when this
Guix package is installed.")
   (home-page "https://freedict.org")
   (license gpl2+)))

(define-public freedict-dictionaries
  (package
   (name "freedict-dictionaries")
   (version "914b5f7")
   (source
    (origin
      (method git-fetch)
      (uri (git-reference
            (url "https://github.com/freedict/fd-dictionaries")
            (commit "914b5f754b695e9422bf951837b0682a077e244e")))
      (sha256
       (base32 "0a8k5rq94rl1nmz0354sx2gmyqica0yjavirh5v5wdybkfq8nv83"))))
   (inputs (list espeak-ng
                 python perl
                 gzip
                 tar
                 libxslt
                 dictd-1.13.1
                 perl-libxml
                 freedict-tools-0.6.0))
   (arguments
    (list #:tests? #f
          #:make-flags
          #~(list (string-append "PREFIX="
                                 #$output))
          #:phases
          #~(modify-phases
             %standard-phases
             (delete 'configure)
             (add-before 'build 'set-tools-prefix-in-makefile
                         (lambda* (#:key inputs #:allow-other-keys)
                           (substitute*
                            "Makefile"
                            (("FREEDICT_TOOLS \\?= ../tools")
                             (string-append "export FREEDICT_TOOLS = "
                                            #$(file-append
                                               freedict-tools-0.6.0
                                               "/share/freedict")))))))))
   (build-system gnu-build-system)
   (synopsis "Multilingual dictionaries of the Freedict project,
 compiled to the dictd format.")
   (description "FreeDict is a project that offers over 140 free
 dictionaries in about 45 languages, with the right to study, change and
 modify them. You can use them offline on your computer or mobile phone
 and export them to any format and application.

This Guix package only installs the output dictionnaires in dictd
format.")
   (home-page "https://freedict.org")
   (license gpl2+)))

(define-public cc-cedict
  (package
   (name "cc-cedict")
   (version "0.1")
   (source
    (origin
     (method git-fetch)
     (uri (git-reference
           (url "https://git.whispers-vpn.org/cc-cedict.git")
           (commit "1bb276d2340eff428ff397dbd493646d880388c4")))
     (sha256
      (base32 "1d0l6g83n964af81bl96c9hbd6gacbq9a68n5d9wgifihl33z4q7"))))
   (inputs (list sed
                 gawk
                 gzip
                 dictd-1.13.1))
   (arguments (list #:tests? #f))
   (build-system gnu-build-system)
   (synopsis "CC-CEDICT is a community-maintained free Chinese-English
 dictionary.")
   (description "CC-CEDICT is a community-maintained free
 Chinese-English dictionary. It is a continuation of the CEDICT project
started by Paul Denisowski in 1997 with the aim to provide a complete
downloadable Chinese to English dictionary with pronunciation in pinyin
for the Chinese characters.

CC-CEDICT is licensed under a Creative Commons license CC-BY-SA.

Published by MDBG

License: Creative Commons Attribution-Share Alike 3.0

Referenced works: CEDICT - Copyright © 1997, 1998 Paul Andrew Denisowski

CC-CEDICT can be downloaded from:
http://www.mdbg.net/chindict/chindict.php?page=cc-cedict

Additions and corrections to the CC-CEDICT source can be sent through:
http://cc-cedict.org/editor/editor.php

For more information about CC-CEDICT see:
http://cc-cedict.org/wiki/

This package converts the community maintained text file containing the
CC-CEDICT dictionary into 5 dictionaries in the DICT Interchange format,
which can be served to client programs such as 'dico' and 'dicod' by
servers implementing the DICT protocol (RFC 2229), such as 'dictd' or
'dicod'.

While the exporter script that this package uses to create the
dictionaries is licensed under the GPL, the output dictionaries are
licensed under CC-BY-SA version 3.0.")
   (home-page "http://cc-cedict.org/")
   (license (list cc-by-sa3.0 gpl3+))))