diff --git a/extra/kdelibs/PKGBUILD b/extra/kdelibs/PKGBUILD new file mode 100644 index 000000000..6b73719b0 --- /dev/null +++ b/extra/kdelibs/PKGBUILD @@ -0,0 +1,68 @@ +# $Id$ +# Maintainer: Andrea Scarpino + +# ALARM: Kevin Mihelich +# - patch to fix unclickable plasmoid buttons on ARM + +pkgname=kdelibs +pkgver=4.11.3 +pkgrel=1.1 +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' 'udisks2' 'libxcursor' 'phonon' + 'media-player-info' 'libxtst' 'libutempter' 'qtwebkit') +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' 'qt4.patch' + 'arm-coronaoffscreen-input-fixes.diff') +sha1sums=('42bda7ca352b3f700af91262636380aa71d07519' + '86ee8c8660f19de8141ac99cd6943964d97a1ed7' + '63a850ab4196b9d06934f2b4a13acd9f7739bc67' + 'ed1f57ee661e5c7440efcaba7e51d2554709701c' + '855150096763600c970aa307c8241b96da33b9ed') + +prepare() { + cd ${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 + # qmake refers to Qt5 + patch -p1 -i "${srcdir}"/qt4.patch + # fix unclickable plasmoid buttons on ARM + patch -p1 -i "${srcdir}"/arm-coronaoffscreen-input-fixes.diff +} + +build() { + mkdir build + cd build + cmake ../${pkgname}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DKDE4_BUILD_TESTS=OFF \ + -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_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/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 @@ + + + ++ Arch Linux + Applications + + + + ++ Arch Linux ++ Archlinux.directory ++ ++ Archlinux ++ ++ ++ + Applications + kde-unknown.directory + diff --git a/extra/kdelibs/arm-coronaoffscreen-input-fixes.diff b/extra/kdelibs/arm-coronaoffscreen-input-fixes.diff new file mode 100644 index 000000000..a5bcc7328 --- /dev/null +++ b/extra/kdelibs/arm-coronaoffscreen-input-fixes.diff @@ -0,0 +1,14 @@ +diff --git a/plasma/corona.cpp b/plasma/corona.cpp +index 5c90aa4..7dff075 100644 +--- a/plasma/corona.cpp ++++ b/plasma/corona.cpp +@@ -388,7 +388,7 @@ void Corona::addOffscreenWidget(QGraphicsWidget *widget) + } + + d->offscreenWidgets[i] = widget; +- widget->setPos((-i - 1) * QWIDGETSIZE_MAX, -QWIDGETSIZE_MAX); ++ widget->setPos((-i - 1) * 2000, -2000); + + QGraphicsWidget *pw = widget->parentWidget(); + widget->setParentItem(0); + 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 +} diff --git a/extra/kdelibs/qt4.patch b/extra/kdelibs/qt4.patch new file mode 100644 index 000000000..bb4312d40 --- /dev/null +++ b/extra/kdelibs/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"