summaryrefslogtreecommitdiff
path: root/app-text/sdcv
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-01-24 12:57:16 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-01-24 12:57:16 +0000
commit1f23f671d001ca7a0073e504f5ae0184eb5d024d (patch)
tree6747e05170df64a1585f36519a780db2d90f2a11 /app-text/sdcv
parent98bd6c82c526d2c4239d3d194fa1a1a818784552 (diff)
gentoo auto-resync : 24:01:2023 - 12:57:16
Diffstat (limited to 'app-text/sdcv')
-rw-r--r--app-text/sdcv/Manifest3
-rw-r--r--app-text/sdcv/files/sdcv-synonyms-bin-search.patch112
-rw-r--r--app-text/sdcv/sdcv-0.5.3.ebuild74
3 files changed, 0 insertions, 189 deletions
diff --git a/app-text/sdcv/Manifest b/app-text/sdcv/Manifest
index 51da117cd609..bd54b69350aa 100644
--- a/app-text/sdcv/Manifest
+++ b/app-text/sdcv/Manifest
@@ -1,8 +1,5 @@
AUX sdcv-0.5.3-t_list.patch 592 BLAKE2B 7f1618750a8d9c452f8db257a2b4791b803f45f10334789dd6f6d13f46335d9daf4a1a070ad03a38d40e6937d5e70371502ba26361c4d62486031888645843c3 SHA512 1aad632517f04423fd0a985256d760a06e5e38c3c9335f814f6997559ed3e3fb33fe1dba25e49b8298eda6570526323c2fdef18be83ab3363caa074cd59db107
-AUX sdcv-synonyms-bin-search.patch 3409 BLAKE2B e40f32a2e0e401ae5b996992fa227ef70a439f928d762285094237871b7dded242928bab8206a146acf1abf716cdbcaa8a8d0ed5a430ec4dff5cae3a3a014b34 SHA512 bf4cf297abed05f4052cbff8decac2069a52657b3cfc21435e72731536ab9605ddde9053fa8b39d9a2f1dc67416126b1b10a1c31cabca37a6fb31d2272ba5e13
AUX sdcv-t_interactive.patch 324 BLAKE2B ecdb0d89c4a26050927272f244e43b28e945e3ef5cb93167eaea7c09912e504af2061ec34c2b5f5a32665c784093e2d35ed92e10a00824b619da71e53049e5dc SHA512 9067330c6fa95910b5dd67716c9bc378d29a9ccc5d60c1eb0c1aca12e58478ea381b91c5122c1951bd2f4c9e8b629243ea885bdbbc87a2f88174340919f5cf8d
-DIST sdcv-0.5.3.tar.gz 62105 BLAKE2B 1424510cff2fa355d17884a31f8136f4c8a7bde071f387dd8a69b1d2d6b9c8e52869cd602b27b9966725370cf128fb62b8628e735f1faa92b78f75215462804f SHA512 73a305baad74d0584912e115d3de7395c8e88745fb69b4e5f1a345061629b0d4e05898bd589e96ce07948d52ba7c508ec4ab77862c8fadca5a2f19c5244e1442
DIST sdcv-0.5.4.tar.gz 66706 BLAKE2B 9cb481f497483b502bec18765b9cbc31e8dd278e30ebd29005158a724669e171181a82c837b63016b9e88a84973831587d2b137bbbdb2290a89a73d3f0917f81 SHA512 6bae3a2c0f37ed9380f54715626efeea0df75d2525baa583c0915bba4d082d9ece40ee799a1e1bb5d36b7ccebace853653b6fab57d472a432b910f690235ee21
-EBUILD sdcv-0.5.3.ebuild 1599 BLAKE2B d1b997b6d9b39686690b1cecf6f51a79144e90d3a6f398a84c720071b99e5f707f286b58c029dd6d452632f9408aa156aefb5dbae5a9671532d5beb53222b5d8 SHA512 2ee3c48aff47225c46f9767d22c671db627a939168d20d1ab462266da12712b0c04933fda126479541811c78923d461cc48ec81d8a237ffa37a7da02e392a6a5
EBUILD sdcv-0.5.4.ebuild 1552 BLAKE2B f235d0c2a63c6cc3d0cbed5c85138c584686aa6be3580be7af48b056ad93a7c495b4e9562ab62639e809c67f45aab436c338f8e14a9693bc65672f8a6cdaa3d0 SHA512 c50c4bc40f3211d83399f088c1c7c5ec1f9a671ed1f0003f8900ac4141d67615a24e7b47765ae7d411259e50094033b07df4c6a9344323574012bee52cd817cc
MISC metadata.xml 449 BLAKE2B 3a4834d7d93e7b98e85a6ef09ae438ad9623eadcfbe3a0d50465b7cb1e9417bd0e4c8d4c005f45c9fb759926a35b566d3763b19311d3bb0fbcfdea9b147598c4 SHA512 b00e28f9c0c46e3068f53f98453dd351b3b7a305acd0aa68b286bd4e73ddc94bf4e7f16ec93a5945e05fc6dead340755d5949daa49fb878a80b1f18aa95f9b21
diff --git a/app-text/sdcv/files/sdcv-synonyms-bin-search.patch b/app-text/sdcv/files/sdcv-synonyms-bin-search.patch
deleted file mode 100644
index e3583b1a5fb6..000000000000
--- a/app-text/sdcv/files/sdcv-synonyms-bin-search.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-ommit 4ae420734990ab9f5ccc038262368256b9323f4a
-Merge: b66799f 994c1c7
-Author: Evgeniy Dushistov <dushistov@mail.ru>
-Date: Wed Dec 23 04:30:13 2020 +0300
-
- Merge pull request #67 from doozan/master
-
- Use binary search for synonyms, fixes #31
-
-diff --git a/src/stardict_lib.cpp b/src/stardict_lib.cpp
-index 0af4304..6b1f92b 100644
---- a/src/stardict_lib.cpp
-+++ b/src/stardict_lib.cpp
-@@ -833,21 +833,23 @@ bool SynFile::load(const std::string &url, gulong wc)
- {
- struct stat stat_buf;
- if (!stat(url.c_str(), &stat_buf)) {
-- MapFile syn;
-- if (!syn.open(url.c_str(), stat_buf.st_size))
-+
-+ if (!synfile.open(url.c_str(), stat_buf.st_size))
- return false;
-- const gchar *current = syn.begin();
-+
-+ synlist.resize(wc + 1);
-+ gchar *p1 = synfile.begin();
-+
- for (unsigned long i = 0; i < wc; i++) {
- // each entry in a syn-file is:
- // - 0-terminated string
- // 4-byte index into .dict file in network byte order
-- glib::CharStr lower_string{ g_utf8_casefold(current, -1) };
-- std::string synonym{ get_impl(lower_string) };
-- current += synonym.length() + 1;
-- const guint32 idx = g_ntohl(get_uint32(current));
-- current += sizeof(idx);
-- synonyms[synonym] = idx;
-+
-+ synlist[i] = p1;
-+ p1 += strlen(p1) + 1 + 4;
- }
-+ synlist[wc] = p1;
-+
- return true;
- } else {
- return false;
-@@ -856,13 +858,38 @@ bool SynFile::load(const std::string &url, gulong wc)
-
- bool SynFile::lookup(const char *str, glong &idx)
- {
-- glib::CharStr lower_string{ g_utf8_casefold(str, -1) };
-- auto it = synonyms.find(get_impl(lower_string));
-- if (it != synonyms.end()) {
-- idx = it->second;
-- return true;
-+ bool bFound = false;
-+ glong iTo = synlist.size() - 2;
-+ if (iTo <0) return false;
-+
-+ if (stardict_strcmp(str, get_key(0)) < 0) {
-+ idx = 0;
-+ } else if (stardict_strcmp(str, get_key(iTo)) > 0) {
-+ idx = INVALID_INDEX;
-+ } else {
-+ glong iThisIndex = 0;
-+ glong iFrom = 0;
-+ gint cmpint;
-+ while (iFrom <= iTo) {
-+ iThisIndex = (iFrom + iTo) / 2;
-+ cmpint = stardict_strcmp(str, get_key(iThisIndex));
-+ if (cmpint > 0)
-+ iFrom = iThisIndex + 1;
-+ else if (cmpint < 0)
-+ iTo = iThisIndex - 1;
-+ else {
-+ bFound = true;
-+ break;
-+ }
-+ }
-+ if (!bFound)
-+ idx = iFrom; //next
-+ else {
-+ const gchar *key = get_key(iThisIndex);
-+ idx = g_ntohl(get_uint32(key+strlen(key)+1));
-+ }
- }
-- return false;
-+ return bFound;
- }
-
- bool Dict::Lookup(const char *str, glong &idx)
-diff --git a/src/stardict_lib.hpp b/src/stardict_lib.hpp
-index a629cbe..38f76f4 100644
---- a/src/stardict_lib.hpp
-+++ b/src/stardict_lib.hpp
-@@ -102,11 +102,15 @@ public:
- class SynFile
- {
- public:
-+ SynFile() {}
-+ ~SynFile() {}
- bool load(const std::string &url, gulong wc);
- bool lookup(const char *str, glong &idx);
-+ const gchar *get_key(glong idx) { return synlist[idx]; }
-
- private:
-- std::map<std::string, gulong> synonyms;
-+ MapFile synfile;
-+ std::vector<gchar *> synlist;
- };
-
- class Dict : public DictBase
diff --git a/app-text/sdcv/sdcv-0.5.3.ebuild b/app-text/sdcv/sdcv-0.5.3.ebuild
deleted file mode 100644
index 8f7ae8fc46d8..000000000000
--- a/app-text/sdcv/sdcv-0.5.3.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PLOCALES="cs fr ru sk uk zh_CN zh_TW"
-inherit cmake plocale
-
-DESCRIPTION="Console version of Stardict program"
-HOMEPAGE="https://dushistov.github.io/sdcv/"
-SRC_URI="https://github.com/Dushistov/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="darkterm nls readline test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/glib-2.36
- sys-libs/zlib
- readline? ( sys-libs/readline:= )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- nls? ( >=sys-devel/gettext-0.14.1 )
- test? ( app-misc/jq )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.5.3-t_list.patch"
- "${FILESDIR}/${PN}-t_interactive.patch"
- "${FILESDIR}/${PN}-synonyms-bin-search.patch"
-)
-
-src_prepare() {
- if use darkterm; then
- sed -i 's/;34m/;36m/' src/libwrapper.cpp || die
- fi
-
- rm_loc() {
- rm "po/${1}.po" || die
- }
- plocale_for_each_disabled_locale rm_loc
-
- # do not install locale-specific man pages unless asked to
- if ! has uk ${LINGUAS-uk}; then
- sed -ni '/share\/man\/uk/!p' CMakeLists.txt || die
- fi
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DENABLE_NLS="$(usex nls)"
- -DWITH_READLINE="$(usex readline)"
- -DBUILD_TESTS="$(usex test ON OFF)"
- )
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
- use nls && cmake_src_compile lang
-}
-
-src_install() {
- # with USE=nls, but empty intersection of LINGUAS and list of
- # supported translations, this directory is required, see bug 583386
- mkdir -p "${BUILD_DIR}/locale"
- cmake_src_install
- dodoc doc/DICTFILE_FORMAT
-}