From dcc1e862ed2ee34cc89e3154e801cb9e3c6badb7 Mon Sep 17 00:00:00 2001 From: Graham Ramsey Date: Sun, 5 Mar 2023 13:58:39 +0000 Subject: app-i18n/ibus-libpinyin: fix quotes to build with sqlite3.41+ sqlite has got more strict in latest version so it no longer accepts double quotes for sqlite string values. This adds a patch to replace double with single. There is an upstream attempt to fix this but it is not quite right so this doesn't copy it exactly. I have commented on the patch with advice. https://github.com/libpinyin/ibus-libpinyin/commit/96042887815b4700c7cafa64cf88942af438ea98 We cannot upgrade yet to this anyway, as we are dependent on older version of libpinyin. Closes: https://bugs.gentoo.org/898478 Signed-off-by: Graham Ramsey Closes: https://github.com/gentoo/gentoo/pull/29937 Signed-off-by: Sam James --- ...us-libpinyin-1.13.1_sqlite3.41_fix_quotes.patch | 43 +++++++++++++ .../ibus-libpinyin/ibus-libpinyin-1.13.1-r1.ebuild | 73 ++++++++++++++++++++++ 2 files changed, 116 insertions(+) create mode 100644 app-i18n/ibus-libpinyin/files/ibus-libpinyin-1.13.1_sqlite3.41_fix_quotes.patch create mode 100644 app-i18n/ibus-libpinyin/ibus-libpinyin-1.13.1-r1.ebuild diff --git a/app-i18n/ibus-libpinyin/files/ibus-libpinyin-1.13.1_sqlite3.41_fix_quotes.patch b/app-i18n/ibus-libpinyin/files/ibus-libpinyin-1.13.1_sqlite3.41_fix_quotes.patch new file mode 100644 index 000000000000..e3f001d42002 --- /dev/null +++ b/app-i18n/ibus-libpinyin/files/ibus-libpinyin-1.13.1_sqlite3.41_fix_quotes.patch @@ -0,0 +1,43 @@ +Fix quotes for compatibilty with sqlite3.41+ +https://bugs.gentoo.org/898478 + +From b7f58280a3f1e20e01471fa53509007c0e96ad02 Mon Sep 17 00:00:00 2001 +From: graham +Date: Sat, 4 Mar 2023 15:55:03 +0000 +Subject: [PATCH] change double quotes to single quotes to meet SQL standard + for strings, compatible with sqlite 3.41 + +--- + data/english.awk | 2 +- + data/table.awk | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/data/english.awk b/data/english.awk +index c5dc0aa..bed156d 100644 +--- a/data/english.awk ++++ b/data/english.awk +@@ -16,7 +16,7 @@ BEGIN { + } + + # Insert data into english table +- { printf "INSERT INTO english (word, freq) VALUES (\"%s\", %f);\n", $1, $2} ++ { printf "INSERT INTO english (word, freq) VALUES ('%s', %f);\n", $1, $2} + + #quit sqlite3 + END { +diff --git a/data/table.awk b/data/table.awk +index 700529c..c097ec2 100644 +--- a/data/table.awk ++++ b/data/table.awk +@@ -21,7 +21,7 @@ BEGIN { + + # Insert data into phrases table + NF == 4 { +- printf "INSERT INTO phrases (id, tabkeys, phrase) VALUES (%d, \"%s\", \"%s\");\n", id, $3, $1; ++ printf "INSERT INTO phrases (id, tabkeys, phrase) VALUES (%d, '%s', '%s');\n", id, $3, $1; + id++; + } + +-- +2.39.2 + diff --git a/app-i18n/ibus-libpinyin/ibus-libpinyin-1.13.1-r1.ebuild b/app-i18n/ibus-libpinyin/ibus-libpinyin-1.13.1-r1.ebuild new file mode 100644 index 000000000000..c61330975867 --- /dev/null +++ b/app-i18n/ibus-libpinyin/ibus-libpinyin-1.13.1-r1.ebuild @@ -0,0 +1,73 @@ +# Copyright 2015-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +LUA_COMPAT=( lua5-{1..3} ) +PYTHON_COMPAT=( python3_{9..11} ) + +inherit autotools gnome2-utils lua-single python-single-r1 + +DESCRIPTION="Intelligent Pinyin and Bopomofo input methods based on LibPinyin for IBus" +HOMEPAGE="https://github.com/libpinyin/ibus-libpinyin https://sourceforge.net/projects/libpinyin/" +SRC_URI="https://github.com/libpinyin/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="boost lua opencc" +REQUIRED_USE="${PYTHON_REQUIRED_USE} + lua? ( ${LUA_REQUIRED_USE} )" + +BDEPEND="dev-db/sqlite:3 + virtual/pkgconfig" + +DEPEND="${PYTHON_DEPS} + >=app-i18n/libpinyin-2.2.1:= + dev-db/sqlite:3 + dev-libs/glib:2 + virtual/libintl + $(python_gen_cond_dep ' + app-i18n/ibus[python(+),${PYTHON_USEDEP}] + dev-python/pygobject:3[${PYTHON_USEDEP}] + ') + boost? ( dev-libs/boost:= ) + lua? ( ${LUA_DEPS} ) + opencc? ( app-i18n/opencc:= )" + +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}"/${P}_sqlite3.41_fix_quotes.patch +) + +pkg_setup() { + python-single-r1_pkg_setup + + if use lua; then + lua-single_pkg_setup + fi +} + +src_prepare() { + sed -i \ + -e "/^appdatadir/s:/appdata:/metainfo:" \ + data/Makefile.am || die + default + eautoreconf +} + +src_configure() { + econf \ + --enable-english-input-mode \ + $(use_enable boost) \ + $(use_enable lua lua-extension) \ + $(use_enable opencc) +} + +pkg_postinst() { + gnome2_schemas_update +} + +pkg_postrm() { + gnome2_schemas_update +} -- cgit v1.2.3-65-gdbad