From 270c1ba7053478dbd1c632eea18d6e54d51e4ecc Mon Sep 17 00:00:00 2001 From: Eric Hameleers Date: Mon, 22 Dec 2014 15:03:24 +0100 Subject: KDE 4.7.4 for Slackware 13.37 (06dec2011) --- kde/patch/README | 18 +++ kde/patch/kde-workspace.patch | 9 ++ .../kdebase-workspace.kdm.server.timeout.diff.gz | Bin 0 -> 247 bytes ...base-workspace.kwin.effects.performance.diff.gz | Bin 0 -> 1019 bytes kde/patch/kdelibs.patch | 13 +++ kde/patch/kdelibs/kdelibs.docbook.patch.gz | Bin 0 -> 361 bytes kde/patch/kdelibs/kdelibs.klocale.numberfix.patch | 130 +++++++++++++++++++++ kde/patch/kdelibs/kdelibs.kssl.CVE-2011-3365.patch | 24 ++++ kde/patch/kdelibs/kdelibs.nepomuk.unicode.patch | 65 +++++++++++ kde/patch/kdepim-runtime.patch | 7 ++ ...1-Ignore-items-with-empty-remote-ids-here.patch | 36 ++++++ ...igration-from-previous-version_bug-283467.patch | 76 ++++++++++++ kde/patch/kdepim.patch | 6 + .../kdepim/kdepim-4.5.85-install-headers.patch | 124 ++++++++++++++++++++ kde/patch/kdepim/kdepim-4.7.1_memleak.patch | 22 ++++ kde/patch/kdewebdev.patch | 5 + kde/patch/kdewebdev/include-tidy.patch.gz | Bin 0 -> 260 bytes 17 files changed, 535 insertions(+) create mode 100644 kde/patch/README create mode 100644 kde/patch/kde-workspace.patch create mode 100644 kde/patch/kde-workspace/kdebase-workspace.kdm.server.timeout.diff.gz create mode 100644 kde/patch/kde-workspace/kdebase-workspace.kwin.effects.performance.diff.gz create mode 100644 kde/patch/kdelibs.patch create mode 100644 kde/patch/kdelibs/kdelibs.docbook.patch.gz create mode 100644 kde/patch/kdelibs/kdelibs.klocale.numberfix.patch create mode 100644 kde/patch/kdelibs/kdelibs.kssl.CVE-2011-3365.patch create mode 100644 kde/patch/kdelibs/kdelibs.nepomuk.unicode.patch create mode 100644 kde/patch/kdepim-runtime.patch create mode 100644 kde/patch/kdepim-runtime/0001-Ignore-items-with-empty-remote-ids-here.patch create mode 100644 kde/patch/kdepim-runtime/Kmail-has-duplicated-folders-after-migration-from-previous-version_bug-283467.patch create mode 100644 kde/patch/kdepim.patch create mode 100644 kde/patch/kdepim/kdepim-4.5.85-install-headers.patch create mode 100644 kde/patch/kdepim/kdepim-4.7.1_memleak.patch create mode 100644 kde/patch/kdewebdev.patch create mode 100644 kde/patch/kdewebdev/include-tidy.patch.gz (limited to 'kde/patch') diff --git a/kde/patch/README b/kde/patch/README new file mode 100644 index 0000000..2478e45 --- /dev/null +++ b/kde/patch/README @@ -0,0 +1,18 @@ + +IMPORTANT! + +To fail/exit a script, use this: + +[command that fails] || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; } + +DO NOT USE THIS: + +[command that fails] || exit 1 + +as it will cause the parent script to exit in the wrong location and possibly +silently skip building some packages. + +Thanks, + +The Management + diff --git a/kde/patch/kde-workspace.patch b/kde/patch/kde-workspace.patch new file mode 100644 index 0000000..3168d72 --- /dev/null +++ b/kde/patch/kde-workspace.patch @@ -0,0 +1,9 @@ +# Increase the timeout to accomodate slow-to-initialize video chipset drivers: +zcat $CWD/patch/kde-workspace/kdebase-workspace.kdm.server.timeout.diff.gz | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; } + +## Patch for the shutdown issue with KDE 4.6.2 (in Linux, only "halt" +## understands the '-p' parameter): +#sed -i -e 's/shutdown -p now/shutdown -h -P now/' kdm/config.def + +# Fix a long-standing performance issue (since 4.0) in kwin (not needed for KDE >= 4.7.2): +#zcat $CWD/patch/kde-workspace/kdebase-workspace.kwin.effects.performance.diff | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; } diff --git a/kde/patch/kde-workspace/kdebase-workspace.kdm.server.timeout.diff.gz b/kde/patch/kde-workspace/kdebase-workspace.kdm.server.timeout.diff.gz new file mode 100644 index 0000000..a9c2bae Binary files /dev/null and b/kde/patch/kde-workspace/kdebase-workspace.kdm.server.timeout.diff.gz differ diff --git a/kde/patch/kde-workspace/kdebase-workspace.kwin.effects.performance.diff.gz b/kde/patch/kde-workspace/kdebase-workspace.kwin.effects.performance.diff.gz new file mode 100644 index 0000000..7596c2e Binary files /dev/null and b/kde/patch/kde-workspace/kdebase-workspace.kwin.effects.performance.diff.gz differ diff --git a/kde/patch/kdelibs.patch b/kde/patch/kdelibs.patch new file mode 100644 index 0000000..1b0fd96 --- /dev/null +++ b/kde/patch/kdelibs.patch @@ -0,0 +1,13 @@ +# Slackware ships a different version of XML DTDs: +zcat $CWD/patch/kdelibs/kdelibs.docbook.patch.gz | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; } + +# Fix for CVE-2011-3365 (not needed for KDE >= 4.7.2): +#cat $CWD/patch/kdelibs/kdelibs.kssl.CVE-2011-3365.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; } + +# Fix a bug introduced in kdelibs-4.7.2 which was intended as a fix but +# prevents any query which does NOT use wide unicode characters to fail: +#cat $CWD/patch/kdelibs/kdelibs.nepomuk.unicode.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; } + +# Fix broken number entry (fixed in KDE >= 4.7.5) +cat $CWD/patch/kdelibs/kdelibs.klocale.numberfix.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; } + diff --git a/kde/patch/kdelibs/kdelibs.docbook.patch.gz b/kde/patch/kdelibs/kdelibs.docbook.patch.gz new file mode 100644 index 0000000..2de9a66 Binary files /dev/null and b/kde/patch/kdelibs/kdelibs.docbook.patch.gz differ diff --git a/kde/patch/kdelibs/kdelibs.klocale.numberfix.patch b/kde/patch/kdelibs/kdelibs.klocale.numberfix.patch new file mode 100644 index 0000000..d27c2a3 --- /dev/null +++ b/kde/patch/kdelibs/kdelibs.klocale.numberfix.patch @@ -0,0 +1,130 @@ +commit 2993b24bc21a340695ad35b4f014a684f4d0c651 +Author: John Layt +Date: Sat Dec 17 16:27:51 2011 +0000 + + KLocale: Fix readNumber() and readMoney() for lenient group parsing + + Restore the old pre-4.7 behaviour of accepting as valid any numbers + that do not contain any group separators but strictly enforce group + rules when the number contains 1 or more group separators. + + Distro's will really want to backport this fix to all versions of 4.7 + as previously number entry for all KDE apps would have been seriously + broken. + + I'm amazed I wasn't beaten up for this earlier! + + BUG: 288963 + FIXED-IN: 4.7.5 + CCMAIL: kde-packager@kde.org + +diff --git a/kdecore/localization/klocale_kde.cpp b/kdecore/localization/klocale_kde.cpp +index 6cf85f9..6690f4a 100644 +--- a/kdecore/localization/klocale_kde.cpp ++++ b/kdecore/localization/klocale_kde.cpp +@@ -1894,7 +1894,10 @@ double KLocalePrivate::readNumber(const QString &_str, bool * ok) const + + // Remove group separators + bool groupOk = true; +- str = parseDigitGroup(str, thousandsSeparator(), decimalSymbol(), numericDigitGrouping(), &groupOk); ++ if(str.contains(thousandsSeparator())) { ++ str = parseDigitGroup(str, thousandsSeparator(), decimalSymbol(), ++ numericDigitGrouping(), &groupOk); ++ } + + if (!groupOk) { + if (ok) { +@@ -2013,7 +2016,10 @@ double KLocalePrivate::readMoney(const QString &_str, bool *ok) const + + // Remove group separators + bool groupOk = true; +- str = parseDigitGroup(str, monetaryThousandsSeparator(), monetaryDecimalSymbol(), monetaryDigitGrouping(), &groupOk); ++ if(str.contains(monetaryThousandsSeparator())) { ++ str = parseDigitGroup(str, monetaryThousandsSeparator(), monetaryDecimalSymbol(), ++ monetaryDigitGrouping(), &groupOk); ++ } + + if (!groupOk) { + if (ok) { +diff --git a/kdecore/tests/klocaletest.cpp b/kdecore/tests/klocaletest.cpp +index 97a3bce..f80de85 100644 +--- a/kdecore/tests/klocaletest.cpp ++++ b/kdecore/tests/klocaletest.cpp +@@ -180,9 +180,13 @@ KLocaleTest::readNumber() + QVERIFY(!ok); + QCOMPARE(locale.readNumber(QString("123,456,789.01"), &ok), 0.0); + QVERIFY(!ok); +- QCOMPARE(locale.readNumber(QString("123456789"), &ok), 0.0); ++ QCOMPARE(locale.readNumber(QString("123456789"), &ok), 123456789.0); ++ QVERIFY(ok); ++ QCOMPARE(locale.readNumber(QString("123456789.01"), &ok), 123456789.01); ++ QVERIFY(ok); ++ QCOMPARE(locale.readNumber(QString("123456,789"), &ok), 0.0); + QVERIFY(!ok); +- QCOMPARE(locale.readNumber(QString("123456789.01"), &ok), 0.0); ++ QCOMPARE(locale.readNumber(QString("123456,789.01"), &ok), 0.0); + QVERIFY(!ok); + + //Test it parses correctly with an empty separator. +@@ -204,6 +208,14 @@ KLocaleTest::readNumber() + QVERIFY(ok); + QCOMPARE(locale.readNumber(QString("123 456 789.01"), &ok), 123456789.01); + QVERIFY(ok); ++ QCOMPARE(locale.readNumber(QString("123456789"), &ok), 123456789.0); ++ QVERIFY(ok); ++ QCOMPARE(locale.readNumber(QString("123456789.01"), &ok), 123456789.01); ++ QVERIFY(ok); ++ QCOMPARE(locale.readNumber(QString("123456 789"), &ok), 0.0); ++ QVERIFY(!ok); ++ QCOMPARE(locale.readNumber(QString("123456 789.01"), &ok), 0.0); ++ QVERIFY(!ok); + QCOMPARE(locale.readNumber(QString("123,456,789"), &ok), 0.0); + QVERIFY(!ok); + QCOMPARE(locale.readNumber(QString("123,456,789.01"), &ok), 0.0); +@@ -479,6 +491,10 @@ void KLocaleTest::readMoney() + QVERIFY(ok); + QCOMPARE(locale.readMoney("$ 987,654,321.12", &ok), 987654321.12); + QVERIFY(ok); ++ QCOMPARE(locale.readMoney("$ 987654321.12", &ok), 987654321.12); ++ QVERIFY(ok); ++ QCOMPARE(locale.readMoney("$ 987654,321.12", &ok), 0.0); ++ QVERIFY(!ok); + + QCOMPARE(locale.readMoney( "$ -1.12", &ok), -1.12); + QVERIFY(ok); +@@ -498,6 +514,10 @@ void KLocaleTest::readMoney() + QVERIFY(ok); + QCOMPARE(locale.readMoney("$ -987,654,321.12", &ok), -987654321.12); + QVERIFY(ok); ++ QCOMPARE(locale.readMoney("$ -987654321.12", &ok), -987654321.12); ++ QVERIFY(ok); ++ QCOMPARE(locale.readMoney("$ -987654,321.12", &ok), 0.0); ++ QVERIFY(!ok); + + // Test incomplete formats + QCOMPARE(locale.readMoney( "$ 1", &ok), 1.00); +@@ -521,17 +541,21 @@ void KLocaleTest::readMoney() + + // Test Grouping + locale.d->setMonetaryDigitGrouping(QList()); +- QCOMPARE(locale.readMoney( "$ 987654321.12", &ok), 987654321.12); ++ QCOMPARE(locale.readMoney("$ 987654321.12", &ok), 987654321.12); + QVERIFY(ok); + QCOMPARE(locale.readMoney("$ -987654321.12", &ok), -987654321.12); + QVERIFY(ok); + locale.d->setMonetaryDigitGrouping(QList() << 3 << 2); +- QCOMPARE(locale.readMoney( "$ 98,76,54,321.12", &ok), 987654321.12); ++ QCOMPARE(locale.readMoney("$ 98,76,54,321.12", &ok), 987654321.12); + QVERIFY(ok); + QCOMPARE(locale.readMoney("$ -98,76,54,321.12", &ok), -987654321.12); + QVERIFY(ok); ++ QCOMPARE(locale.readMoney("$ 987654321.12", &ok), 987654321.12); ++ QVERIFY(ok); ++ QCOMPARE(locale.readMoney("$ -987654321.12", &ok), -987654321.12); ++ QVERIFY(ok); + locale.d->setMonetaryDigitGrouping(QList() << 3 << -1); +- QCOMPARE(locale.readMoney( "$ 987654,321.12", &ok), 987654321.12); ++ QCOMPARE(locale.readMoney("$ 987654,321.12", &ok), 987654321.12); + QVERIFY(ok); + QCOMPARE(locale.readMoney("$ -987654,321.12", &ok), -987654321.12); + QVERIFY(ok); diff --git a/kde/patch/kdelibs/kdelibs.kssl.CVE-2011-3365.patch b/kde/patch/kdelibs/kdelibs.kssl.CVE-2011-3365.patch new file mode 100644 index 0000000..b44b865 --- /dev/null +++ b/kde/patch/kdelibs/kdelibs.kssl.CVE-2011-3365.patch @@ -0,0 +1,24 @@ +commit bd70d4e589711fda9ab07738c46e37eee8376214 +Author: David Faure +Date: Thu Jun 30 23:43:45 2011 +0200 + + Security fix: don't interpret html tags + + Credits to Tim Brown for the find. + +diff --git a/kio/kssl/ksslcertificatebox.cpp b/kio/kssl/ksslcertificatebox.cpp +index 4ffc613..094787a 100644 +--- a/kio/kssl/ksslcertificatebox.cpp ++++ b/kio/kssl/ksslcertificatebox.cpp +@@ -36,6 +36,10 @@ KSslCertificateBox::KSslCertificateBox(QWidget *parent) + d(new KSslCertificateBoxPrivate()) + { + d->ui.setupUi(this); ++ // No fooling us with html tags ++ Q_FOREACH(QLabel* label, qFindChildren(this)) { ++ label->setTextFormat(Qt::PlainText); ++ } + } + + + diff --git a/kde/patch/kdelibs/kdelibs.nepomuk.unicode.patch b/kde/patch/kdelibs/kdelibs.nepomuk.unicode.patch new file mode 100644 index 0000000..819a429 --- /dev/null +++ b/kde/patch/kdelibs/kdelibs.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::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/patch/kdepim-runtime.patch b/kde/patch/kdepim-runtime.patch new file mode 100644 index 0000000..0fa7a5a --- /dev/null +++ b/kde/patch/kdepim-runtime.patch @@ -0,0 +1,7 @@ +# Fix a bug in kdepim-runtime 4.7.1 which can cause an email to be permanently +# lost when downloading from a POP3 account into a maildir-style mailbox: +#cat $CWD/patch/kdepim-runtime/0001-Ignore-items-with-empty-remote-ids-here.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; } + +# Address bug 283467, fixed in KDE 4.7.3: +#cat $CWD/patch/kdepim-runtime/kdepim-runtime/Kmail-has-duplicated-folders-after-migration-from-previous-version_bug-283467.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; } + diff --git a/kde/patch/kdepim-runtime/0001-Ignore-items-with-empty-remote-ids-here.patch b/kde/patch/kdepim-runtime/0001-Ignore-items-with-empty-remote-ids-here.patch new file mode 100644 index 0000000..2a8397d --- /dev/null +++ b/kde/patch/kdepim-runtime/0001-Ignore-items-with-empty-remote-ids-here.patch @@ -0,0 +1,36 @@ +From ccd67f3e65c9ffe32858ca521aa1e56a42b026af Mon Sep 17 00:00:00 2001 +From: Volker Krause +Date: Tue, 20 Sep 2011 10:12:40 +0200 +Subject: [PATCH] Ignore items with empty remote ids here. + +Items with empty remote id are those not yet stored by the resource, +ie. we still have pending change replays for those. So, if we do a sync +during that period (which could happen since the introduction of the +file system watcher), we would remove a random one of those (only one +since the map would only contain one without a remote id). This mostly +affects the POP3 usage pattern. +(cherry picked from commit f814b46a799ea8418ae17cf77d44da473124d12d) +--- + resources/maildir/retrieveitemsjob.cpp | 6 ++++-- + 1 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/resources/maildir/retrieveitemsjob.cpp b/resources/maildir/retrieveitemsjob.cpp +index 7253f7e..f0273ef 100644 +--- a/resources/maildir/retrieveitemsjob.cpp ++++ b/resources/maildir/retrieveitemsjob.cpp +@@ -57,8 +57,10 @@ void RetrieveItemsJob::localListDone ( KJob* job ) + + const Akonadi::Item::List items = qobject_cast( job )->items(); + m_localItems.reserve( items.size() ); +- foreach ( const Akonadi::Item &item, items ) +- m_localItems.insert( item.remoteId(), item ); ++ foreach ( const Akonadi::Item &item, items ) { ++ if ( !item.remoteId().isEmpty() ) ++ m_localItems.insert( item.remoteId(), item ); ++ } + + const QStringList entryList = m_maildir.entryList(); + qint64 previousMtime = m_collection.remoteRevision().toLongLong(); +-- +1.7.1 + diff --git a/kde/patch/kdepim-runtime/Kmail-has-duplicated-folders-after-migration-from-previous-version_bug-283467.patch b/kde/patch/kdepim-runtime/Kmail-has-duplicated-folders-after-migration-from-previous-version_bug-283467.patch new file mode 100644 index 0000000..1c1dcc5 --- /dev/null +++ b/kde/patch/kdepim-runtime/Kmail-has-duplicated-folders-after-migration-from-previous-version_bug-283467.patch @@ -0,0 +1,76 @@ +From: Montel Laurent +Date: Fri, 07 Oct 2011 15:14:06 +0000 +Subject: Fix Bug 283467 - Kmail has duplicated folders after migration from previous version. +X-Git-Url: http://quickgit.kde.org/?p=kdepim-runtime.git&a=commitdiff&h=6bdc6290632be5fc6c103064463d7421b5e3b60d +--- +Fix Bug 283467 - Kmail has duplicated folders after migration from previous version. + +By default in config we don't translate config name. +We use "inbox" "sent-mail" etc. + +BUG: 283467 +FIXED-IN: 4.7.3 +--- + + +--- a/migration/kmail/localfolderscollectionmigrator.cpp ++++ b/migration/kmail/localfolderscollectionmigrator.cpp +@@ -64,23 +64,41 @@ void LocalFoldersCollectionMigrator::set + + const KConfigGroup group( config, QLatin1String( "General" ) ); + +- QString name = group.readEntry( QLatin1String( "inboxFolder" ), i18nc( "mail folder name for role inbox", "inbox" ) ); +- d->mSystemFolders.insert( name, SpecialMailCollections::Inbox ); +- +- name = group.readEntry( QLatin1String( "outboxFolder" ), i18nc( "mail folder name for role outbox", "outbox" ) ); +- d->mSystemFolders.insert( name, SpecialMailCollections::Outbox ); +- +- name = group.readEntry( QLatin1String( "sentFolder" ), i18nc( "mail folder name for role sent-mail", "sent-mail" ) ); +- d->mSystemFolders.insert( name, SpecialMailCollections::SentMail ); +- +- name = group.readEntry( QLatin1String( "trashFolder" ), i18nc( "mail folder name for role trash", "trash" ) ); +- d->mSystemFolders.insert( name, SpecialMailCollections::Trash ); +- +- name = group.readEntry( QLatin1String( "draftsFolder" ), i18nc( "mail folder name for role drafts", "drafts" ) ); +- d->mSystemFolders.insert( name, SpecialMailCollections::Drafts ); +- +- name = group.readEntry( QLatin1String( "templatesFolder" ), i18nc( "mail folder name for role templates", "templates" ) ); +- d->mSystemFolders.insert( name, SpecialMailCollections::Templates ); ++ if ( group.hasKey( QLatin1String( "inboxFolder" ) ) ) { ++ const QString name = group.readEntry( QLatin1String( "inboxFolder" ), i18nc( "mail folder name for role inbox", "inbox" ) ); ++ d->mSystemFolders.insert( name, SpecialMailCollections::Inbox ); ++ } else ++ d->mSystemFolders.insert( QLatin1String( "inbox" ), SpecialMailCollections::Inbox ); ++ ++ if ( group.hasKey( QLatin1String( "outboxFolder" ) ) ) { ++ const QString name = group.readEntry( QLatin1String( "outboxFolder" ), i18nc( "mail folder name for role outbox", "outbox" ) ); ++ d->mSystemFolders.insert( name, SpecialMailCollections::Outbox ); ++ } else ++ d->mSystemFolders.insert( QLatin1String( "outbox" ), SpecialMailCollections::Outbox ); ++ ++ if ( group.hasKey( QLatin1String( "sentFolder" ) ) ) { ++ const QString name = group.readEntry( QLatin1String( "sentFolder" ), i18nc( "mail folder name for role sent-mail", "sent-mail" ) ); ++ d->mSystemFolders.insert( name, SpecialMailCollections::SentMail ); ++ } else ++ d->mSystemFolders.insert( QLatin1String( "sent-mail" ), SpecialMailCollections::SentMail ); ++ ++ if ( group.hasKey( QLatin1String( "trashFolder" ) ) ) { ++ const QString name = group.readEntry( QLatin1String( "trashFolder" ), i18nc( "mail folder name for role trash", "trash" ) ); ++ d->mSystemFolders.insert( name, SpecialMailCollections::Trash ); ++ } else ++ d->mSystemFolders.insert( QLatin1String( "trash" ), SpecialMailCollections::Trash ); ++ ++ if ( group.hasKey( QLatin1String( "draftsFolder" ) ) ) { ++ const QString name = group.readEntry( QLatin1String( "draftsFolder" ), i18nc( "mail folder name for role drafts", "drafts" ) ); ++ d->mSystemFolders.insert( name, SpecialMailCollections::Drafts ); ++ } else ++ d->mSystemFolders.insert( QLatin1String( "drafts" ), SpecialMailCollections::Drafts ); ++ ++ if ( group.hasKey( QLatin1String( "templatesFolder" ) ) ) { ++ const QString name = group.readEntry( QLatin1String( "templatesFolder" ), i18nc( "mail folder name for role templates", "templates" ) ); ++ d->mSystemFolders.insert( name, SpecialMailCollections::Templates ); ++ } else ++ d->mSystemFolders.insert( QLatin1String( "templates" ), SpecialMailCollections::Templates ); + } + + void LocalFoldersCollectionMigrator::migrateCollection( const Collection &collection, const QString &folderId ) diff --git a/kde/patch/kdepim.patch b/kde/patch/kdepim.patch new file mode 100644 index 0000000..b36c707 --- /dev/null +++ b/kde/patch/kdepim.patch @@ -0,0 +1,6 @@ +# Install the kleopatra headers, or else kopete-cryptography will not build: +cat $CWD/patch/kdepim/kdepim-4.5.85-install-headers.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; } + +# Fix a memleak in kdepim 4.7.1 (fixed just too late to be included in the +# 4.7.1 tarball) +#cat $CWD/patch/kdepim/kdepim-4.7.1_memleak.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; } diff --git a/kde/patch/kdepim/kdepim-4.5.85-install-headers.patch b/kde/patch/kdepim/kdepim-4.5.85-install-headers.patch new file mode 100644 index 0000000..aa43059 --- /dev/null +++ b/kde/patch/kdepim/kdepim-4.5.85-install-headers.patch @@ -0,0 +1,124 @@ +diff -ur kdepim-4.5.85/kleopatra/libkleopatraclient/CMakeLists.txt kdepim-4.5.85-install-headers/kleopatra/libkleopatraclient/CMakeLists.txt +--- kdepim-4.5.85/kleopatra/libkleopatraclient/CMakeLists.txt 2010-01-27 01:22:34.000000000 +0100 ++++ kdepim-4.5.85-install-headers/kleopatra/libkleopatraclient/CMakeLists.txt 2010-12-08 14:40:45.000000000 +0100 +@@ -6,3 +6,7 @@ + + add_subdirectory( tests ) + ++install( ++ FILES kleopatraclient_export.h ++ DESTINATION ${INCLUDE_INSTALL_DIR}/libkleopatraclient ++ ) +diff -ur kdepim-4.5.85/kleopatra/libkleopatraclient/core/CMakeLists.txt kdepim-4.5.85-install-headers/kleopatra/libkleopatraclient/core/CMakeLists.txt +--- kdepim-4.5.85/kleopatra/libkleopatraclient/core/CMakeLists.txt 2010-11-19 11:51:51.000000000 +0100 ++++ kdepim-4.5.85-install-headers/kleopatra/libkleopatraclient/core/CMakeLists.txt 2010-12-08 14:42:12.000000000 +0100 +@@ -55,4 +55,12 @@ + DESTINATION ${LIB_INSTALL_DIR} + ) + +- ++install( ++ FILES ++ initialization.h ++ command.h ++ selectcertificatecommand.h ++ signencryptfilescommand.h ++ decryptverifyfilescommand.h ++ DESTINATION ${INCLUDE_INSTALL_DIR}/libkleopatraclient/core ++ ) +diff -ur kdepim-4.5.85/kleopatra/libkleopatraclient/gui/CMakeLists.txt kdepim-4.5.85-install-headers/kleopatra/libkleopatraclient/gui/CMakeLists.txt +--- kdepim-4.5.85/kleopatra/libkleopatraclient/gui/CMakeLists.txt 2010-07-29 11:58:45.000000000 +0200 ++++ kdepim-4.5.85-install-headers/kleopatra/libkleopatraclient/gui/CMakeLists.txt 2010-12-08 14:42:41.000000000 +0100 +@@ -20,3 +20,8 @@ + DESTINATION ${LIB_INSTALL_DIR} + ) + ++install( ++ FILES ++ certificaterequester.h ++ DESTINATION ${INCLUDE_INSTALL_DIR}/libkleopatraclient/gui ++ ) +diff -ur kdepim-4.5.85/libkleo/CMakeLists.txt kdepim-4.5.85-install-headers/libkleo/CMakeLists.txt +--- kdepim-4.5.85/libkleo/CMakeLists.txt 2010-12-01 23:23:12.000000000 +0100 ++++ kdepim-4.5.85-install-headers/libkleo/CMakeLists.txt 2010-12-08 15:22:00.000000000 +0100 +@@ -112,6 +112,64 @@ + set_target_properties(kleo PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} ) + install(TARGETS kleo ${INSTALL_TARGETS_DEFAULT_ARGS}) + ++install( FILES ++ kleo/kleo_export.h ++ kleo/enum.h ++ kleo/oidmap.h ++ kleo/cryptobackend.h ++ kleo/cryptobackendfactory.h ++ kleo/cryptoconfig.h ++ kleo/dn.h ++ kleo/job.h ++ kleo/keylistjob.h ++ kleo/keygenerationjob.h ++ kleo/abstractimportjob.h ++ kleo/importjob.h ++ kleo/importfromkeyserverjob.h ++ kleo/exportjob.h ++ kleo/changeexpiryjob.h ++ kleo/changeownertrustjob.h ++ kleo/downloadjob.h ++ kleo/deletejob.h ++ kleo/encryptjob.h ++ kleo/decryptjob.h ++ kleo/signjob.h ++ kleo/specialjob.h ++ kleo/verifydetachedjob.h ++ kleo/verifyopaquejob.h ++ kleo/decryptverifyjob.h ++ kleo/signencryptjob.h ++ kleo/signkeyjob.h ++ kleo/adduseridjob.h ++ kleo/refreshkeysjob.h ++ kleo/multideletejob.h ++ kleo/hierarchicalkeylistjob.h ++ kleo/keyfilter.h ++ kleo/keyfiltermanager.h ++ kleo/changepasswdjob.h ++ kleo/checksumdefinition.h ++ kleo/exception.h ++ kleo/kconfigbasedkeyfilter.h ++ kleo/listallkeysjob.h ++ kleo/stl_util.h ++ DESTINATION ${INCLUDE_INSTALL_DIR}/kleo COMPONENT Devel) ++ ++install ( FILES ++ ui/kdhorizontalline.h ++ ui/messagebox.h ++ ui/progressbar.h ++ ui/progressdialog.h ++ ui/keylistview.h ++ ui/keyselectiondialog.h ++ ui/keyrequester.h ++ ui/keyapprovaldialog.h ++ ui/dnattributeorderconfigwidget.h ++ ui/cryptoconfigmodule.h ++ ui/cryptoconfigdialog.h ++ ui/directoryserviceswidget.h ++ ui/filenamerequester.h ++ DESTINATION ${INCLUDE_INSTALL_DIR}/kleo/ui COMPONENT Devel) ++ + if ( WIN32 ) + install ( FILES libkleopatrarc-win32.desktop DESTINATION ${CONFIG_INSTALL_DIR} RENAME libkleopatrarc ) + else ( WIN32 ) +diff -ur kdepim-4.5.85/libkpgp/CMakeLists.txt kdepim-4.5.85-install-headers/libkpgp/CMakeLists.txt +--- kdepim-4.5.85/libkpgp/CMakeLists.txt 2010-07-29 11:59:00.000000000 +0200 ++++ kdepim-4.5.85-install-headers/libkpgp/CMakeLists.txt 2010-12-08 14:43:33.000000000 +0100 +@@ -35,3 +35,11 @@ + install(FILES kpgp.upd DESTINATION ${KCONF_UPDATE_INSTALL_DIR}) + install(PROGRAMS kpgp-3.1-upgrade-address-data.pl DESTINATION ${KCONF_UPDATE_INSTALL_DIR}) + ++install(FILES ++ kpgp.h ++ kpgpbase.h ++ kpgpblock.h ++ kpgpkey.h ++ kpgpui.h ++ libkpgp_export.h ++ DESTINATION ${INCLUDE_INSTALL_DIR}/kpgp COMPONENT Devel ) + diff --git a/kde/patch/kdepim/kdepim-4.7.1_memleak.patch b/kde/patch/kdepim/kdepim-4.7.1_memleak.patch new file mode 100644 index 0000000..e959dfa --- /dev/null +++ b/kde/patch/kdepim/kdepim-4.7.1_memleak.patch @@ -0,0 +1,22 @@ +commit 0dbc5c1b233d355dce26868253c0e8f4dede58d4 +Author: Montel Laurent +Date: Mon Sep 5 16:01:10 2011 +0200 + + Fix mem leak (too bad it will not in 4.7.1) + +diff --git a/mailcommon/foldercollection.cpp b/mailcommon/foldercollection.cpp +index 3c31d8e..2d4ca73 100644 +--- a/mailcommon/foldercollection.cpp ++++ b/mailcommon/foldercollection.cpp +@@ -294,8 +294,10 @@ uint FolderCollection::identity() const + OrgKdeAkonadiImapSettingsInterface *imapSettingsInterface = Util::createImapSettingsInterface( mCollection.resource() ); + if ( imapSettingsInterface->isValid() ) { + QDBusReply useDefault = imapSettingsInterface->useDefaultIdentity(); +- if( useDefault.isValid() && useDefault.value() ) ++ if( useDefault.isValid() && useDefault.value() ) { ++ delete imapSettingsInterface; + return mIdentity; ++ } + + QDBusReply remoteAccountIdent = imapSettingsInterface->accountIdentity(); + if ( remoteAccountIdent.isValid() && remoteAccountIdent.value() > 0 ) { diff --git a/kde/patch/kdewebdev.patch b/kde/patch/kdewebdev.patch new file mode 100644 index 0000000..ccac0a7 --- /dev/null +++ b/kde/patch/kdewebdev.patch @@ -0,0 +1,5 @@ +# Make it find tidy: +zcat $CWD/patch/kdewebdev/include-tidy.patch.gz \ + | sed -e "s#/tmp/package-kdewebdev#${SLACK_KDE_BUILD_DIR}/${module}/package-kdewebdev#" \ + | patch -p0 --verbose \ + || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; } diff --git a/kde/patch/kdewebdev/include-tidy.patch.gz b/kde/patch/kdewebdev/include-tidy.patch.gz new file mode 100644 index 0000000..be1d83a Binary files /dev/null and b/kde/patch/kdewebdev/include-tidy.patch.gz differ -- cgit v1.2.3