summaryrefslogtreecommitdiff
path: root/extra/kdelibs
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-12-29 02:13:48 -0800
committerroot <root@rshg054.dnsready.net>2012-12-29 02:13:48 -0800
commit5dd7ed82e788ebad2e920e0f2db7468cc6547cfe (patch)
treef467412e09912ababcd8fe6c05193d829f514dcd /extra/kdelibs
parent3009e8addb4a894329bf8ab3e8fb763361833978 (diff)
Sat Dec 29 02:10:20 PST 2012
Diffstat (limited to 'extra/kdelibs')
-rw-r--r--extra/kdelibs/0001-Revert-Also-check-parent-mimetypes-in-protocolForArc.patch53
-rw-r--r--extra/kdelibs/PKGBUILD65
-rw-r--r--extra/kdelibs/archlinux-menu.patch22
-rw-r--r--extra/kdelibs/fix-crash-on-open-with.patch19
-rw-r--r--extra/kdelibs/kde-applications-menu.patch22
-rw-r--r--extra/kdelibs/kdelibs.install13
6 files changed, 194 insertions, 0 deletions
diff --git a/extra/kdelibs/0001-Revert-Also-check-parent-mimetypes-in-protocolForArc.patch b/extra/kdelibs/0001-Revert-Also-check-parent-mimetypes-in-protocolForArc.patch
new file mode 100644
index 000000000..5aadeb883
--- /dev/null
+++ b/extra/kdelibs/0001-Revert-Also-check-parent-mimetypes-in-protocolForArc.patch
@@ -0,0 +1,53 @@
+From 73283f1332e90fbb6fe0caa39a038cb16b83a54c Mon Sep 17 00:00:00 2001
+From: David Faure <faure@kde.org>
+Date: Wed, 5 Dec 2012 22:42:25 +0100
+Subject: [PATCH] Revert "Also check parent mimetypes in
+ protocolForArchiveMimetype()."
+
+This reverts commit 4f296cfbced2c4ad54beec8f500ed2d3fc04ee05.
+It breaks opening odt and other zip-based files in external apps.
+That's what I get for delegating the testing :-)
+BUG: 311214
+---
+ kio/kio/kprotocolmanager.cpp | 19 +------------------
+ 1 files changed, 1 insertions(+), 18 deletions(-)
+
+diff --git a/kio/kio/kprotocolmanager.cpp b/kio/kio/kprotocolmanager.cpp
+index 3f1cadd..502a3e6 100644
+--- a/kio/kio/kprotocolmanager.cpp
++++ b/kio/kio/kprotocolmanager.cpp
+@@ -47,7 +47,6 @@
+ #include <ksharedconfig.h>
+ #include <kstandarddirs.h>
+ #include <kurl.h>
+-#include <kmimetype.h>
+ #include <kmimetypetrader.h>
+ #include <kprotocolinfofactory.h>
+
+@@ -1190,23 +1189,7 @@ QString KProtocolManager::protocolForArchiveMimetype( const QString& mimeType )
+ }
+ }
+ }
+- const QString prot = d->protocolForArchiveMimetypes.value(mimeType);
+- if (!prot.isEmpty())
+- return prot;
+-
+- // Check parent mimetypes
+- KMimeType::Ptr mime = KMimeType::mimeType(mimeType);
+- if (mime) {
+- const QStringList parentMimeTypes = mime->allParentMimeTypes();
+- Q_FOREACH(const QString& parentMimeType, parentMimeTypes) {
+- const QString res = d->protocolForArchiveMimetypes.value(parentMimeType);
+- if (!res.isEmpty()) {
+- return res;
+- }
+- }
+- }
+-
+- return QString();
++ return d->protocolForArchiveMimetypes.value(mimeType);
+ }
+
+ #undef PRIVATE_DATA
+--
+1.7.7
diff --git a/extra/kdelibs/PKGBUILD b/extra/kdelibs/PKGBUILD
new file mode 100644
index 000000000..4d7f51fa5
--- /dev/null
+++ b/extra/kdelibs/PKGBUILD
@@ -0,0 +1,65 @@
+# $Id: PKGBUILD 173891 2012-12-27 10:11:14Z andrea $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org
+# Contributor: Pierre Schmitz <pierre@archlinux.de>
+
+pkgname=kdelibs
+pkgver=4.9.4
+pkgrel=4
+pkgdesc="KDE Core Libraries"
+arch=('i686' 'x86_64')
+url='https://projects.kde.org/projects/kde/kdelibs'
+license=('GPL' 'LGPL' 'FDL')
+depends=('strigi' 'attica' 'libxss' 'soprano' 'krb5' 'grantlee'
+ 'shared-desktop-ontologies' 'qca' 'libdbusmenu-qt' 'polkit-qt'
+ 'shared-mime-info' 'enchant' 'giflib' 'jasper' 'openexr'
+ 'docbook-xsl' 'upower' 'udisks' 'libxcursor' 'phonon' 'qtwebkit'
+ 'media-player-info' 'libxtst' 'libutempter')
+makedepends=('cmake' 'automoc4' 'avahi' 'libgl' 'hspell' 'mesa')
+install=${pkgname}.install
+source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz"
+ 'kde-applications-menu.patch' 'archlinux-menu.patch'
+ '0001-Revert-Also-check-parent-mimetypes-in-protocolForArc.patch'
+ 'fix-crash-on-open-with.patch')
+sha1sums=('b2fe70261207a96a26b5d8789379f134e3e070be'
+ '86ee8c8660f19de8141ac99cd6943964d97a1ed7'
+ '63a850ab4196b9d06934f2b4a13acd9f7739bc67'
+ 'f5d203932f67ab6d87c794e9cb78a3b1a22ef747'
+ '8faa5984ba37e9c6da04bc64f1fe21cd24f1cf07')
+
+build() {
+ cd "${srcdir}"/${pkgname}-${pkgver}
+
+ # avoid file conflict with gnome-menus
+ patch -p1 -i "${srcdir}"/kde-applications-menu.patch
+ # add Archlinux menu entry
+ patch -p1 -i "${srcdir}"/archlinux-menu.patch
+
+ # Fixed upstream
+ patch -p1 -i "${srcdir}"/0001-Revert-Also-check-parent-mimetypes-in-protocolForArc.patch
+ patch -p1 -i "${srcdir}"/fix-crash-on-open-with.patch
+
+ cd "${srcdir}"
+ mkdir build
+ cd build
+ cmake ../${pkgname}-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DKDE_DISTRIBUTION_TEXT='Arch Linux' \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DSYSCONF_INSTALL_DIR=/etc \
+ -DHTML_INSTALL_DIR=/usr/share/doc/kde/html \
+ -DKDE_DEFAULT_HOME='.kde4' \
+ -DWITH_FAM=OFF \
+ -DWITH_HUpnp=OFF
+ make
+}
+
+package() {
+ cd "${srcdir}"/build
+ make DESTDIR="${pkgdir}" install
+
+ # cert bundle seems to be hardcoded
+ # link it to the one from ca-certificates
+ rm -f "${pkgdir}"/usr/share/apps/kssl/ca-bundle.crt
+ ln -sf /etc/ssl/certs/ca-certificates.crt "${pkgdir}"/usr/share/apps/kssl/ca-bundle.crt
+}
diff --git a/extra/kdelibs/archlinux-menu.patch b/extra/kdelibs/archlinux-menu.patch
new file mode 100644
index 000000000..546784fa2
--- /dev/null
+++ b/extra/kdelibs/archlinux-menu.patch
@@ -0,0 +1,22 @@
+--- kdelibs-4.3.98/kded/applications.menu 2010-01-31 19:28:11.000000000 +0000
++++ kdelibs-4.3.98/kded/applications.menu 2010-01-31 22:25:53.556043077 +0000
+@@ -16,11 +16,19 @@
+ </DefaultLayout>
+ <Layout>
+ <Merge type="menus"/>
++ <Menuname>Arch Linux</Menuname>
+ <Menuname>Applications</Menuname>
+ <Merge type="files"/>
+ </Layout>
+
+ <Menu>
++ <Name>Arch Linux</Name>
++ <Directory>Archlinux.directory</Directory>
++ <Include>
++ <Category>Archlinux</Category>
++ </Include>
++ </Menu>
++ <Menu>
+ <Name>Applications</Name>
+ <Directory>kde-unknown.directory</Directory>
+ <OnlyUnallocated/>
diff --git a/extra/kdelibs/fix-crash-on-open-with.patch b/extra/kdelibs/fix-crash-on-open-with.patch
new file mode 100644
index 000000000..60556386d
--- /dev/null
+++ b/extra/kdelibs/fix-crash-on-open-with.patch
@@ -0,0 +1,19 @@
+commit 0820b3173aff4f0f3c803a9e75e726024da38ee5
+Author: David Faure <faure@kde.org>
+Date: Thu Dec 6 11:55:05 2012 +0100
+
+ Fix crash when no service was selected (user clicked on "Open With...")
+
+diff --git a/kparts/browserrun.cpp b/kparts/browserrun.cpp
+index 6d84800..6de0380 100644
+--- a/kparts/browserrun.cpp
++++ b/kparts/browserrun.cpp
+@@ -304,7 +304,7 @@ BrowserRun::NonEmbeddableResult BrowserRun::handleNonEmbeddable(const QString& _
+ this, SLOT(slotCopyToTempFileResult(KJob*)) );
+ return Delayed; // We'll continue after the job has finished
+ }
+- if (selectedService) {
++ if (selectedService && question.selectedService()) {
+ *selectedService = question.selectedService();
+ // KRun will use this when starting an app
+ KRun::setPreferredService(question.selectedService()->desktopEntryName());
diff --git a/extra/kdelibs/kde-applications-menu.patch b/extra/kdelibs/kde-applications-menu.patch
new file mode 100644
index 000000000..4b513298a
--- /dev/null
+++ b/extra/kdelibs/kde-applications-menu.patch
@@ -0,0 +1,22 @@
+--- kdelibs-4.3.98/kded/CMakeLists.txt 2009-10-02 14:55:17.000000000 +0000
++++ kdelibs-4.3.98/kded/CMakeLists.txt 2010-01-31 22:16:13.946933892 +0000
+@@ -69,7 +69,7 @@
+ if (WIN32)
+ install( FILES applications.menu DESTINATION ${SHARE_INSTALL_PREFIX}/xdg/menus )
+ else (WIN32)
+-install( FILES applications.menu DESTINATION ${SYSCONF_INSTALL_DIR}/xdg/menus )
++install( FILES applications.menu DESTINATION ${SYSCONF_INSTALL_DIR}/xdg/menus RENAME kde-applications.menu )
+ endif (WIN32)
+ install( FILES kdedmodule.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR} )
+ install( FILES kded.upd DESTINATION ${DATA_INSTALL_DIR}/kconf_update )
+--- kdelibs-4.3.98/kded/kbuildsycoca.cpp 2009-12-04 23:10:18.000000000 +0000
++++ kdelibs-4.3.98/kded/kbuildsycoca.cpp 2010-01-31 22:16:13.962766572 +0000
+@@ -302,7 +302,7 @@
+ if (!m_trackId.isEmpty())
+ g_vfolder->setTrackId(m_trackId);
+
+- VFolderMenu::SubMenu *kdeMenu = g_vfolder->parseMenu("applications.menu", true);
++ VFolderMenu::SubMenu *kdeMenu = g_vfolder->parseMenu("kde-applications.menu", true);
+
+ KServiceGroup::Ptr entry = g_bsgf->addNew("/", kdeMenu->directoryFile, KServiceGroup::Ptr(), false);
+ entry->setLayoutInfo(kdeMenu->layoutList);
diff --git a/extra/kdelibs/kdelibs.install b/extra/kdelibs/kdelibs.install
new file mode 100644
index 000000000..c77e68041
--- /dev/null
+++ b/extra/kdelibs/kdelibs.install
@@ -0,0 +1,13 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-mime-database usr/share/mime &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}