396 lines
12 KiB
Scheme
396 lines
12 KiB
Scheme
(define-module (ajatt packages dictionaries)
|
|
#:use-module (gnu packages cmake)
|
|
#:use-module (gnu packages compression)
|
|
#:use-module (gnu packages dictionaries)
|
|
#:use-module (gnu packages education)
|
|
#:use-module (gnu packages fontutils)
|
|
#:use-module (gnu packages fonts)
|
|
#:use-module (gnu packages gstreamer)
|
|
#:use-module (gnu packages hunspell)
|
|
#:use-module (gnu packages icu4c)
|
|
#:use-module (gnu packages image)
|
|
#:use-module (gnu packages perl)
|
|
#:use-module (gnu packages pkg-config)
|
|
#:use-module ((gnu packages qt) #:hide (qtspeech))
|
|
#:use-module (gnu packages search)
|
|
#:use-module (gnu packages textutils)
|
|
#:use-module (gnu packages version-control)
|
|
#:use-module (gnu packages video)
|
|
#:use-module (gnu packages vulkan)
|
|
#:use-module (gnu packages web)
|
|
#:use-module (gnu packages xdisorg)
|
|
#:use-module (gnu packages xiph)
|
|
#:use-module (gnu packages xorg)
|
|
#:use-module (guix build-system cmake)
|
|
#:use-module (guix build-system gnu)
|
|
#:use-module (guix gexp)
|
|
#:use-module (guix utils)
|
|
#:use-module (guix git-download)
|
|
#:use-module (guix packages)
|
|
#:use-module (ajatt packages qt)
|
|
#:use-module (ajatt packages suckless)
|
|
#:use-module ((guix licenses) #:prefix license:)
|
|
#:use-module (gnu packages search)
|
|
#:use-module (gnu packages web)
|
|
#:use-module (gnu packages gcc)
|
|
#:use-module (gnu packages tls)
|
|
#:use-module (gnu packages cpp)
|
|
#:use-module (gnu packages glib)
|
|
#:use-module (gnu packages nss)
|
|
#:use-module (gnu packages datastructures)
|
|
#:use-module (gnu packages certs)
|
|
#:use-module (gnu packages check)
|
|
#:use-module (guix build-system qt)
|
|
#:use-module (gnu packages curl)
|
|
#:use-module (guix utils)
|
|
#:use-module (guix search-paths)
|
|
#:use-module (guix build-system cmake)
|
|
#:use-module (guix build-system gnu)
|
|
#:use-module (guix download))
|
|
|
|
(define-public goldendict-ng
|
|
(package
|
|
(name "goldendict-ng")
|
|
(version "24.11")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri
|
|
(git-reference
|
|
(url "https://github.com/xiaoyifang/goldendict-ng.git")
|
|
(commit "4a0124de3bb78ed0153eb9415b079a9c72a6bd32")))
|
|
(sha256
|
|
(base32 "1mx3llhgfhcx6zflzp9x84z5c2ilf77dqp331f8zwrpd2hmzn9j7"))))
|
|
(build-system cmake-build-system)
|
|
(arguments
|
|
(list #:tests? #f
|
|
#:cmake cmake
|
|
#:make-flags
|
|
#~(list "-j" "7")
|
|
#:configure-flags
|
|
#~(list "-DCMAKE_BUILD_TYPE=Release"
|
|
(string-append "PKG_CONFIG_PATH="
|
|
#$(this-package-input "qtbase")
|
|
"/include/qt6/QtPrintSupport"))
|
|
#:phases
|
|
#~(modify-phases %standard-phases
|
|
(add-after 'install 'wrap-qt-process-path
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
(wrap-program (search-input-file outputs "bin/goldendict")
|
|
`("QTWEBENGINE_RESOURCES_PATH" =
|
|
(,(search-input-directory
|
|
inputs "/share/qt6/resources")))
|
|
`("QTWEBENGINEPROCESS_PATH" =
|
|
(,(search-input-file
|
|
inputs "/lib/qt6/libexec/QtWebEngineProcess")))))))))
|
|
(native-inputs
|
|
(list hunspell
|
|
icu4c
|
|
libeb
|
|
qtwebengine
|
|
qtsvg
|
|
libtiff
|
|
libvorbis
|
|
libxkbcommon
|
|
libxkbfile
|
|
libxtst
|
|
libzim
|
|
lzo
|
|
opencc
|
|
pkg-config
|
|
qt5compat
|
|
gstreamer
|
|
qtspeech
|
|
qtsvg
|
|
qttools
|
|
qtwebview
|
|
qtx11extras
|
|
vulkan-headers
|
|
(list xz "static")
|
|
zlib
|
|
(list zstd "lib")))
|
|
(inputs
|
|
(list ao
|
|
bzip2
|
|
ffmpeg
|
|
qtsvg
|
|
xapian
|
|
qtmultimedia
|
|
gstreamer
|
|
qtbase
|
|
qtsvg
|
|
xproto))
|
|
(propagated-inputs
|
|
(list qtsvg))
|
|
(synopsis "A feature-rich dictionary lookup program")
|
|
(description
|
|
"GoldenDict is a feature-rich dictionary lookup program,
|
|
supporting multiple dictionary formats (StarDict, Babylon, Lingvo, Dictd, AARD,
|
|
MDict, SDict) and online dictionaries, featuring perfect article rendering with
|
|
the complete markup, illustrations and other content retained, and allowing you
|
|
to type in words without any accents or correct case.")
|
|
(home-page "https://xiaoyifang.github.io/goldendict-ng/")
|
|
(license
|
|
(list license:gpl3+
|
|
license:zlib))))
|
|
|
|
(define-public suckless-dictpopup
|
|
(package
|
|
(name "suckless-dictpopup")
|
|
(version "2.5_stable")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri
|
|
(git-reference
|
|
(url "https://github.com/KonstantinDjairo/suckless_dictpopup.git")
|
|
(commit "5309e184d0a68bad266ca0f4bef7c3d73ccc5eef")))
|
|
(sha256
|
|
(base32 "1pnx25s101ydldcvsrh79imkpirw5j5n9qzp9pzi37fz1g1xbb1k"))))
|
|
(build-system gnu-build-system)
|
|
(inputs
|
|
(list freetype
|
|
libxft
|
|
libx11
|
|
font-google-noto-sans-cjk
|
|
libxinerama
|
|
sdcv
|
|
sselp))
|
|
(propagated-inputs
|
|
(list
|
|
perl))
|
|
(arguments
|
|
(list #:tests? #f
|
|
#:make-flags
|
|
#~(list (string-append "CC=" #$(cc-for-target))
|
|
(string-append "PREFIX=" #$output)
|
|
(string-append "CPPFLAGS=-I"
|
|
(assoc-ref %build-inputs "freetype")
|
|
"/include/freetype2"))
|
|
#:phases
|
|
#~(modify-phases %standard-phases
|
|
(replace 'configure
|
|
(lambda _ (copy-file "config.def.h" "config.h"))))))
|
|
(synopsis "A very lightweight popup dictionary written in C.")
|
|
(description "suckless_dictpopup is a very lightweight program to show popups
|
|
with the dictionary entries of the selected text. It uses Xlib for displaying
|
|
the popup and sdcv for the dictionary lookup.")
|
|
(home-page "https://github.com/KonstantinDjairo/suckless_dictpopup")
|
|
(license license:bsd-0)))
|
|
|
|
|
|
|
|
(define-public catch2-full
|
|
(package
|
|
(name "Catch2")
|
|
(version "3.5.2")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri "https://github.com/catchorg/Catch2/archive/refs/tags/v3.5.2.tar.gz")
|
|
(sha256 (base32 "0vhc8zg69idw8lp7vr4hdkhsf9scqba33wizz6rl0vxpksj47596"))))
|
|
(build-system cmake-build-system)
|
|
(arguments ( list #:cmake cmake #:tests? #f))
|
|
|
|
(native-inputs
|
|
(list gcc-13 pkg-config))
|
|
|
|
(synopsis "Catch2 testing for C++")
|
|
(description
|
|
"Catch2 is mainly a unit testing framework for C++, but it also
|
|
provides basic micro-benchmarking features, and simple BDD macros.
|
|
|
|
Catch2's main advantage is that using it is both simple and natural.
|
|
Test names do not have to be valid identifiers, assertions look like
|
|
normal C++ boolean expressions, and sections provide a nice and local
|
|
way to share set-up and tear-down code in tests.")
|
|
(home-page "https://github.com/catchorg/Catch2")
|
|
(license
|
|
(list license:boost1.0))))
|
|
|
|
|
|
(define-public libcpr
|
|
(package
|
|
(name "cpr")
|
|
(version "1.5")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://codeberg.org/hashirama/libcpr.git")
|
|
(commit "528b3b235e9bf4c7e1b66e1b8d3a4451ba37d5e0")))
|
|
(sha256 (base32 "0040d3v4fjmjs253dc8cwqh5k484pvjybdq1rvwzmg0bwi0invjd"))))
|
|
(build-system cmake-build-system)
|
|
(arguments
|
|
( list #:cmake cmake #:tests? #f
|
|
))
|
|
|
|
|
|
(native-inputs
|
|
(list
|
|
openssl
|
|
gcc-13
|
|
curl
|
|
pkg-config
|
|
))
|
|
|
|
(inputs
|
|
(list
|
|
curl
|
|
openssl
|
|
))
|
|
|
|
(synopsis "C++ Requests: Curl for People ")
|
|
(description
|
|
"C++ Requests is a simple wrapper around libcurl inspired by the excellent Python Requests project.
|
|
|
|
Despite its name, libcurl's easy interface is anything but, and making mistakes,
|
|
misusing it is a common source of error and frustration. Using the more expressive
|
|
language facilities of C++17 'or C++11 in case you use cpr < 1.10.0', this library
|
|
captures the essence of making network calls into a few concise idioms.")
|
|
(home-page "https://github.com/libcpr/cpr")
|
|
(license
|
|
(list license:expat))))
|
|
|
|
(define-public rdricpp
|
|
(package
|
|
(name "rdricpp")
|
|
(version "1.5")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://codeberg.org/hashirama/rdricpp.git")
|
|
(commit "63aa0e11e7244cbc06cbecabbc1ac96faee9dabc")))
|
|
(sha256 (base32 "0iz8gw7y1ybmds5d9wkzd15gj78k1flxziqn9wm424mhfp80h8bj"))))
|
|
|
|
(build-system cmake-build-system)
|
|
(arguments
|
|
( list #:cmake cmake
|
|
#:tests? #f
|
|
#:configure-flags
|
|
#~(list "-DGUIX=1") ))
|
|
|
|
|
|
(native-inputs
|
|
(list gcc-13 pkg-config))
|
|
(inputs
|
|
(list catch2-full))
|
|
|
|
(synopsis "Rikaitan Deinflector Reference Implementation in C++.")
|
|
(description
|
|
"Rikaitan Deinflector Reference Implementation in C++.")
|
|
(home-page "https://codeberg.org/hashirama/rdricpp")
|
|
(license
|
|
(list license:gpl3+
|
|
license:zlib))))
|
|
|
|
|
|
(define-public gd-tools
|
|
(package
|
|
(name "gd-tools")
|
|
(version "1.5")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://codeberg.org/hashirama/gd-tools.git")
|
|
(commit "a44fc99f9a4ae716b89afefbc96b77abcbe89307")))
|
|
(sha256 (base32 "0jpg7v3alfd3ls352vnp9wjrk2sd2jl81l2lzrqvank78f8jpwnd"))))
|
|
|
|
(build-system cmake-build-system)
|
|
(arguments
|
|
( list #:cmake cmake
|
|
;;#:tests? #f
|
|
#:configure-flags
|
|
#~(list "-DGUIX=1")
|
|
)
|
|
)
|
|
|
|
|
|
(native-inputs
|
|
(list
|
|
|
|
openssl
|
|
rdricpp
|
|
zlib
|
|
glib
|
|
gcc-13
|
|
curl
|
|
pkg-config
|
|
|
|
))
|
|
(inputs
|
|
(list
|
|
nlohmann-json
|
|
curl
|
|
openssl
|
|
nss-certs
|
|
marisa
|
|
catch2-full
|
|
libcpr
|
|
))
|
|
(synopsis "A set of helpful programs to enhance goldendict for immersion learning.")
|
|
(description
|
|
"A set of helpful programs to enhance goldendict for immersion learning.")
|
|
(home-page "https://codeberg.org/hashirama/gd-tools/")
|
|
(license
|
|
(list license:gpl3+
|
|
license:zlib))))
|
|
|
|
|
|
|
|
|
|
(define-public xcdat
|
|
(package
|
|
(name "xcdat")
|
|
(version "0.2.1")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri
|
|
(git-reference
|
|
(url "https://github.com/kampersanda/xcdat.git")
|
|
(commit "c1b97048259140ff5d5a22a29c1724e60112da4f")))
|
|
(sha256
|
|
(base32 "0kwfhv3kvbc4sl0bingncmpn9i210vv02lszjiqi91fa84rlxisj"))))
|
|
(build-system cmake-build-system)
|
|
(arguments
|
|
(list #:cmake cmake
|
|
#:tests? #f ))
|
|
|
|
|
|
(synopsis "Fast compressed trie dictionary library.")
|
|
(description
|
|
"Xcdat is a C++17 header-only library of a fast compressed string dictionary based on an improved double-array trie structure.")
|
|
(home-page "https://kampersanda.github.io/xcdat/")
|
|
(license
|
|
(list license:expat))))
|
|
|
|
|
|
(define-public mxml
|
|
(package
|
|
(name "mxml")
|
|
(version "4.0.3")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri
|
|
(git-reference
|
|
(url "https://github.com/michaelrsweet/mxml.git")
|
|
(commit "95445118c262d7e9a921c2773b59872fc2eccd16")))
|
|
(sha256
|
|
(base32 "0pi6awl67rh9679wac8bk3x1lkr4c75a790z68gp6b29j6406805"))))
|
|
(build-system gnu-build-system)
|
|
(arguments
|
|
(list
|
|
#:tests? #f ))
|
|
(synopsis " Tiny XML library.")
|
|
(description
|
|
"Mini-XML is a small XML parsing library that you can use to read XML data files or strings in your application without requiring large non-standard libraries. Mini-XML only requires a make program and a C99 compatible compiler - GCC works, as do most vendors' C compilers.")
|
|
(home-page "https://www.msweet.org/mxml")
|
|
(license
|
|
(list license:asl2.0))))
|
|
|
|
|
|
goldendict-ng
|