summaryrefslogtreecommitdiff
path: root/libre/kdelibs-libre
diff options
context:
space:
mode:
Diffstat (limited to 'libre/kdelibs-libre')
-rw-r--r--libre/kdelibs-libre/PKGBUILD67
-rw-r--r--libre/kdelibs-libre/fix-xfreepixmap-call.patch24
-rw-r--r--libre/kdelibs-libre/kde-applications-menu.patch22
-rw-r--r--libre/kdelibs-libre/kdelibs.install13
-rw-r--r--libre/kdelibs-libre/khtml-fsdg.diff50
-rw-r--r--libre/kdelibs-libre/qt4.patch11
-rw-r--r--libre/kdelibs-libre/security-fix.patch32
7 files changed, 219 insertions, 0 deletions
diff --git a/libre/kdelibs-libre/PKGBUILD b/libre/kdelibs-libre/PKGBUILD
new file mode 100644
index 000000000..c1936476d
--- /dev/null
+++ b/libre/kdelibs-libre/PKGBUILD
@@ -0,0 +1,67 @@
+# $Id: PKGBUILD 205088 2014-02-04 13:47:15Z svenstaro $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org
+# Contributor: Pierre Schmitz <pierre@archlinux.de>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgname=kdelibs
+pkgname=kdelibs-libre
+pkgver=4.12.2
+pkgrel=1
+pkgdesc="KDE Core Libraries, without nonfree plugins recommendation support"
+arch=('i686' 'x86_64' 'mips64el')
+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' 'udisks2' 'libxcursor' 'phonon-qt4'
+ 'media-player-info' 'libxtst' 'libutempter' 'qtwebkit')
+makedepends=('cmake' 'automoc4' 'avahi' 'libgl' 'hspell' 'mesa')
+provides=("kdelibs=$pkgver")
+replaces=('kdelibs')
+conflicts=('kdelibs')
+install=${_pkgname}.install
+source=("http://download.kde.org/stable/${pkgver}/src/${_pkgname}-${pkgver}.tar.xz"
+ 'kde-applications-menu.patch' 'qt4.patch'
+ 'khtml-fsdg.diff')
+sha1sums=('05e324af3752953ca637c2a51d989155f9f6bb8a'
+ '86ee8c8660f19de8141ac99cd6943964d97a1ed7'
+ 'ed1f57ee661e5c7440efcaba7e51d2554709701c'
+ 'a1502a964081ad583a00cf90c56e74bf60121830')
+
+prepare() {
+ cd ${_pkgname}-${pkgver}
+ # avoid file conflict with gnome-menus
+ patch -p1 -i "${srcdir}"/kde-applications-menu.patch
+ # qmake refers to Qt5
+ patch -p1 -i "${srcdir}"/qt4.patch
+ # Don't ask the user to download a plugin, it's probably nonfree.
+ patch -p1 -i "${srcdir}"/khtml-fsdg.diff
+}
+
+build() {
+ mkdir build
+ cd build
+ cmake ../${_pkgname}-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DKDE4_BUILD_TESTS=OFF \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DKDE_DISTRIBUTION_TEXT='Parabola GNU/Linux-libre' \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DSYSCONF_INSTALL_DIR=/etc \
+ -DHTML_INSTALL_DIR=/usr/share/doc/kde/html \
+ -DKDE_DEFAULT_HOME='.kde4' \
+ -DWITH_FAM=OFF \
+ -DWITH_SOLID_UDISKS2=ON
+ 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/libre/kdelibs-libre/fix-xfreepixmap-call.patch b/libre/kdelibs-libre/fix-xfreepixmap-call.patch
new file mode 100644
index 000000000..5f5354633
--- /dev/null
+++ b/libre/kdelibs-libre/fix-xfreepixmap-call.patch
@@ -0,0 +1,24 @@
+commit 9323adac35d40da69e3cb18504340e984c4afd05
+Author: Anne-Marie Mahfouf <annma@kde.org>
+Date: Fri May 10 17:12:33 2013 +0200
+
+ Fix crash when quitting apps
+
+ Backport to 4.10 branch
+
+ CCBUG: 319137
+
+diff --git a/plasma/private/dialogshadows.cpp b/plasma/private/dialogshadows.cpp
+index b54fb1a..1925670 100644
+--- a/plasma/private/dialogshadows.cpp
++++ b/plasma/private/dialogshadows.cpp
+@@ -336,6 +336,9 @@ void DialogShadows::Private::freeX11Pixmaps()
+ {
+ #ifdef Q_WS_X11
+ foreach (const QPixmap &pixmap, m_shadowPixmaps) {
++ if (!QX11Info::display()) {
++ return;
++ }
+ if (!pixmap.isNull()) {
+ XFreePixmap(QX11Info::display(), pixmap.handle());
+ }
diff --git a/libre/kdelibs-libre/kde-applications-menu.patch b/libre/kdelibs-libre/kde-applications-menu.patch
new file mode 100644
index 000000000..4b513298a
--- /dev/null
+++ b/libre/kdelibs-libre/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/libre/kdelibs-libre/kdelibs.install b/libre/kdelibs-libre/kdelibs.install
new file mode 100644
index 000000000..c77e68041
--- /dev/null
+++ b/libre/kdelibs-libre/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
+}
diff --git a/libre/kdelibs-libre/khtml-fsdg.diff b/libre/kdelibs-libre/khtml-fsdg.diff
new file mode 100644
index 000000000..1a531b3c8
--- /dev/null
+++ b/libre/kdelibs-libre/khtml-fsdg.diff
@@ -0,0 +1,50 @@
+diff -ru kdelibs-4.8.0.orig/khtml/html/html_objectimpl.cpp kdelibs-4.8.0/khtml/html/html_objectimpl.cpp
+--- kdelibs-4.8.0.orig/khtml/html/html_objectimpl.cpp 2012-01-30 19:46:27.684114289 +0100
++++ kdelibs-4.8.0/khtml/html/html_objectimpl.cpp 2012-01-30 19:47:47.222111046 +0100
+@@ -577,46 +577,6 @@
+
+ void HTMLObjectBaseElementImpl::slotPartLoadingErrorNotify()
+ {
+- // If we have an embed, we may be able to tell the user where to
+- // download the plugin.
+-
+- HTMLEmbedElementImpl *embed = relevantEmbed();
+- QString serviceType; // shadows ours, but we don't care.
+-
+- if (!embed)
+- return;
+-
+- serviceType = embed->serviceType;
+-
+- KHTMLPart* part = document()->part();
+- KParts::BrowserExtension *ext = part->browserExtension();
+-
+- if(!embed->pluginPage.isEmpty() && ext) {
+- // Prepare the mimetype to show in the question (comment if available, name as fallback)
+- QString mimeName = serviceType;
+- KMimeType::Ptr mime = KMimeType::mimeType(serviceType, KMimeType::ResolveAliases);
+- if ( mime && mime->name() != KMimeType::defaultMimeType() )
+- mimeName = mime->comment();
+-
+- // Check if we already asked the user, for this page
+- if (!mimeName.isEmpty() && !part->pluginPageQuestionAsked(serviceType))
+- {
+- part->setPluginPageQuestionAsked(serviceType);
+-
+- // Prepare the URL to show in the question (host only if http, to make it short)
+- KUrl pluginPageURL(embed->pluginPage);
+- QString shortURL = pluginPageURL.protocol() == "http" ? pluginPageURL.host() : pluginPageURL.prettyUrl();
+- int res = KMessageBox::questionYesNo( part->view(),
+- i18n("No plugin found for '%1'.\nDo you want to download one from %2?", mimeName, shortURL),
+- i18n("Missing Plugin"), KGuiItem(i18n("Download")), KGuiItem(i18n("Do Not Download")), QString("plugin-")+serviceType);
+- if (res == KMessageBox::Yes)
+- {
+- // Display vendor download page
+- ext->createNewWindow(pluginPageURL);
+- return;
+- }
+- }
+- }
+ }
+
+
diff --git a/libre/kdelibs-libre/qt4.patch b/libre/kdelibs-libre/qt4.patch
new file mode 100644
index 000000000..bb4312d40
--- /dev/null
+++ b/libre/kdelibs-libre/qt4.patch
@@ -0,0 +1,11 @@
+--- kdelibs-4.10.1/cmake/modules/FindQt4.cmake~ 2013-03-07 16:57:29.735552097 +0000
++++ kdelibs-4.10.1/cmake/modules/FindQt4.cmake 2013-03-07 16:57:52.038725421 +0000
+@@ -446,7 +446,7 @@
+ # check for qmake
+ # Debian uses qmake-qt4
+ # macports' Qt uses qmake-mac
+-FIND_PROGRAM(QT_QMAKE_EXECUTABLE NAMES qmake qmake4 qmake-qt4 qmake-mac PATHS
++FIND_PROGRAM(QT_QMAKE_EXECUTABLE NAMES qmake4 qmake-qt4 qmake-mac PATHS
+ "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\4.0.0;InstallDir]/bin"
+ "[HKEY_CURRENT_USER\\Software\\Trolltech\\Versions\\4.0.0;InstallDir]/bin"
+ "[HKEY_CURRENT_USER\\Software\\Trolltech\\Versions\\${qt_install_version};InstallDir]/bin"
diff --git a/libre/kdelibs-libre/security-fix.patch b/libre/kdelibs-libre/security-fix.patch
new file mode 100644
index 000000000..3d98a47ae
--- /dev/null
+++ b/libre/kdelibs-libre/security-fix.patch
@@ -0,0 +1,32 @@
+commit 65d736dab592bced4410ccfa4699de89f78c96ca
+Author: Grégory Oestreicher <greg@kamago.net>
+Date: Wed May 8 23:16:00 2013 +0200
+
+ Don't show passwords contained in HTTP URLs in error messages
+ BUG: 319428
+
+diff --git a/kioslave/http/http.cpp b/kioslave/http/http.cpp
+index 2d139a9..129fc7b 100644
+--- a/kioslave/http/http.cpp
++++ b/kioslave/http/http.cpp
+@@ -3056,7 +3056,7 @@ try_again:
+ ; // Ignore error
+ } else {
+ if (!sendErrorPageNotification()) {
+- error(ERR_INTERNAL_SERVER, m_request.url.url());
++ error(ERR_INTERNAL_SERVER, m_request.url.prettyUrl());
+ return false;
+ }
+ }
+@@ -3072,9 +3072,9 @@ try_again:
+ // Tell that we will only get an error page here.
+ if (!sendErrorPageNotification()) {
+ if (m_request.responseCode == 403)
+- error(ERR_ACCESS_DENIED, m_request.url.url());
++ error(ERR_ACCESS_DENIED, m_request.url.prettyUrl());
+ else
+- error(ERR_DOES_NOT_EXIST, m_request.url.url());
++ error(ERR_DOES_NOT_EXIST, m_request.url.prettyUrl());
+ return false;
+ }
+ } else if (m_request.responseCode >= 301 && m_request.responseCode<= 303) {