summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Hüttel <dilfridge@gentoo.org>2011-10-29 18:30:18 +0000
committerAndreas Hüttel <dilfridge@gentoo.org>2011-10-29 18:30:18 +0000
commitc9d74d3fb3dfa1235817385fe19924d2bbe3ebcf (patch)
tree47a50a6953f48457653dc8f45b115d2adf00d57d /kde-base/kdelibs
parentFindMarbleWidget.cmake has not been there for a while already, so dont try to... (diff)
downloadhistorical-c9d74d3fb3dfa1235817385fe19924d2bbe3ebcf.tar.gz
historical-c9d74d3fb3dfa1235817385fe19924d2bbe3ebcf.tar.bz2
historical-c9d74d3fb3dfa1235817385fe19924d2bbe3ebcf.zip
Add unicode nepomuk fix from packager list
Package-Manager: portage-2.1.10.31/cvs/Linux x86_64
Diffstat (limited to 'kde-base/kdelibs')
-rw-r--r--kde-base/kdelibs/ChangeLog8
-rw-r--r--kde-base/kdelibs/files/kdelibs-4.7.2-nepomuk-unicode.patch65
-rw-r--r--kde-base/kdelibs/kdelibs-4.7.2-r1.ebuild (renamed from kde-base/kdelibs/kdelibs-4.7.2.ebuild)3
3 files changed, 74 insertions, 2 deletions
diff --git a/kde-base/kdelibs/ChangeLog b/kde-base/kdelibs/ChangeLog
index 551005f38611..1419c1a1aeb0 100644
--- a/kde-base/kdelibs/ChangeLog
+++ b/kde-base/kdelibs/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for kde-base/kdelibs
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/kde-base/kdelibs/ChangeLog,v 1.800 2011/10/28 19:03:25 dilfridge Exp $
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kdelibs/ChangeLog,v 1.801 2011/10/29 18:30:18 dilfridge Exp $
+
+*kdelibs-4.7.2-r1 (29 Oct 2011)
+
+ 29 Oct 2011; Andreas K. Huettel <dilfridge@gentoo.org> -kdelibs-4.7.2.ebuild,
+ +kdelibs-4.7.2-r1.ebuild, +files/kdelibs-4.7.2-nepomuk-unicode.patch:
+ Add unicode nepomuk fix from packager list
28 Oct 2011; Andreas K. Huettel <dilfridge@gentoo.org>
-kdelibs-4.7.1-r3.ebuild:
diff --git a/kde-base/kdelibs/files/kdelibs-4.7.2-nepomuk-unicode.patch b/kde-base/kdelibs/files/kdelibs-4.7.2-nepomuk-unicode.patch
new file mode 100644
index 000000000000..819a429304ee
--- /dev/null
+++ b/kde-base/kdelibs/files/kdelibs-4.7.2-nepomuk-unicode.patch
@@ -0,0 +1,65 @@
+diff --git a/nepomuk/query/querybuilderdata_p.h b/nepomuk/query/querybuilderdata_p.h
+index 055482e..3880e13 100644
+--- a/nepomuk/query/querybuilderdata_p.h
++++ b/nepomuk/query/querybuilderdata_p.h
+@@ -32,6 +32,28 @@
+ #include "query_p.h"
+ #include "groupterm_p.h"
+
++namespace {
++/// A hack to avoid passing extended chars to the bif:search_excerpts method which cannot handle
++/// utf8 chars which use more than one char, ie. wide chars.
++/// Thus, we simply truncate each term at the first wide char.
++QStringList stripExtendedCharsHack(const QStringList& terms) {
++ QStringList newTerms;
++ foreach(const QString& term, terms) {
++ int i = 0;
++ while(i < term.length()) {
++ if(term[i].unicode() > 0x7f) {
++ break;
++ }
++ ++i;
++ }
++ if(i > 0) {
++ newTerms.append(term.left(i));
++ }
++ }
++ return newTerms;
++}
++}
++
+ namespace Nepomuk {
+ namespace Query {
+ class QueryBuilderData
+@@ -246,16 +268,23 @@ namespace Nepomuk {
+ for( QHash<QString, QStringList>::const_iterator it = m_fullTextSearchTerms.constBegin();
+ it != m_fullTextSearchTerms.constEnd(); ++it ) {
+ const QString& varName = it.key();
+- const QStringList& terms = it.value();
+- // bif:search_excerpt wants a vector of all search terms
+- excerptParts
+- << QString::fromLatin1("bif:search_excerpt(bif:vector(bif:charset_recode('%1', '_WIDE_', 'UTF-8')), %2)")
+- .arg( terms.join(QLatin1String("','")),
+- varName );
++ const QStringList terms = stripExtendedCharsHack(it.value());
++ if(terms.count()) {
++ // bif:search_excerpt wants a vector of all search terms
++ excerptParts
++ << QString::fromLatin1("bif:search_excerpt(bif:vector('%1'), %2)")
++ .arg( terms.join(QLatin1String("','")),
++ varName );
++ }
+ }
+
+- return QString::fromLatin1("(bif:concat(%1)) as ?_n_f_t_m_ex_")
+- .arg(excerptParts.join(QLatin1String(",")));
++ if(excerptParts.count()) {
++ return QString::fromLatin1("(bif:concat(%1)) as ?_n_f_t_m_ex_")
++ .arg(excerptParts.join(QLatin1String(",")));
++ }
++ else {
++ return QString();
++ }
+ }
+ else {
+ return QString();
diff --git a/kde-base/kdelibs/kdelibs-4.7.2.ebuild b/kde-base/kdelibs/kdelibs-4.7.2-r1.ebuild
index 71b5d1ded61f..4d46481f72d4 100644
--- a/kde-base/kdelibs/kdelibs-4.7.2.ebuild
+++ b/kde-base/kdelibs/kdelibs-4.7.2-r1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/kde-base/kdelibs/kdelibs-4.7.2.ebuild,v 1.2 2011/10/19 21:43:32 dilfridge Exp $
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kdelibs/kdelibs-4.7.2-r1.ebuild,v 1.1 2011/10/29 18:30:18 dilfridge Exp $
EAPI=4
@@ -126,6 +126,7 @@ PATCHES=(
"${FILESDIR}/${PN}-4.4.90-xslt.patch"
"${FILESDIR}/${PN}-4.6.3-no_suid_kdeinit.patch"
"${FILESDIR}/${PN}-4.6.3-bytecode.patch"
+ "${FILESDIR}/${PN}-4.7.2-nepomuk-unicode.patch"
)
pkg_pretend() {