diff --git a/ajatt/packages/dictionaries.scm b/ajatt/packages/dictionaries.scm index cb2798e..b3898dd 100644 --- a/ajatt/packages/dictionaries.scm +++ b/ajatt/packages/dictionaries.scm @@ -71,18 +71,7 @@ #~(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"))))))))) + "/include/qt6/QtPrintSupport")))) (native-inputs (list hunspell icu4c @@ -111,13 +100,23 @@ (list ao bzip2 ffmpeg - qtsvg + qtsvg xapian qtmultimedia - qtwebengine gstreamer qtbase xproto)) + (propagated-inputs + (list qtwebengine)) + (search-paths + (list (search-path-specification + (variable "QTWEBENGINE_RESOURCES_PATH") + (files (list "share/qt6/resources"))) + (search-path-specification + (variable "QTWEBENGINEPROCESS_PATH") + (file-type 'regular) + (separator " ") + (files (list "lib/qt6/libexec/QtWebEngineProcess"))))) (synopsis "A feature-rich dictionary lookup program") (description "GoldenDict is a feature-rich dictionary lookup program, @@ -388,4 +387,4 @@ the popup and sdcv for the dictionary lookup.") (list license:asl2.0)))) -suckless-dictpopup +goldendict-ng diff --git a/ajatt/packages/dictionaries.scm.orig b/ajatt/packages/dictionaries.scm.orig new file mode 100644 index 0000000..cb2798e --- /dev/null +++ b/ajatt/packages/dictionaries.scm.orig @@ -0,0 +1,391 @@ +(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 + 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 + qtwebengine + gstreamer + qtbase + xproto)) + (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)))) + + +suckless-dictpopup diff --git a/ajatt/packages/dictionaries.scm.rej b/ajatt/packages/dictionaries.scm.rej new file mode 100644 index 0000000..6b8dfd9 --- /dev/null +++ b/ajatt/packages/dictionaries.scm.rej @@ -0,0 +1,9 @@ +--- ajatt/packages/dictionaries.scm ++++ ajatt/packages/dictionaries.scm +@@ -383,6 +382,3 @@ the popup and sdcv for the dictionary lookup.") + (home-page "https://www.msweet.org/mxml") + (license + (list license:asl2.0)))) +- +- +-mxml