diff options
Diffstat (limited to 'libre/kdelibs-libre')
-rw-r--r-- | libre/kdelibs-libre/PKGBUILD | 67 | ||||
-rw-r--r-- | libre/kdelibs-libre/fix-xfreepixmap-call.patch | 24 | ||||
-rw-r--r-- | libre/kdelibs-libre/kde-applications-menu.patch | 22 | ||||
-rw-r--r-- | libre/kdelibs-libre/kdelibs.install | 13 | ||||
-rw-r--r-- | libre/kdelibs-libre/khtml-fsdg.diff | 50 | ||||
-rw-r--r-- | libre/kdelibs-libre/qt4.patch | 11 | ||||
-rw-r--r-- | libre/kdelibs-libre/security-fix.patch | 32 |
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) { |