summaryrefslogtreecommitdiffstats
path: root/deps/akonadi
diff options
context:
space:
mode:
author Eric Hameleers <alien@slackware.com>2014-12-22 14:56:40 +0100
committer Eric Hameleers <alien@slackware.com>2014-12-22 14:56:40 +0100
commit290362d91d840ad6feed5b59191a058f5e998d3c (patch)
tree0627e989dab744a67ee2b8a073964c1c5c5b66b9 /deps/akonadi
downloadktown-290362d91d840ad6feed5b59191a058f5e998d3c.tar.gz
ktown-290362d91d840ad6feed5b59191a058f5e998d3c.tar.xz
KDE 4.6.5 for Slackware 13.37 (07jul2011)4.6.5
Diffstat (limited to 'deps/akonadi')
-rwxr-xr-xdeps/akonadi/akonadi.SlackBuild110
-rw-r--r--deps/akonadi/akonadi.agentpluginloader.diff64
-rw-r--r--deps/akonadi/doinst.sh.gzbin0 -> 110 bytes
-rw-r--r--deps/akonadi/slack-desc19
4 files changed, 193 insertions, 0 deletions
diff --git a/deps/akonadi/akonadi.SlackBuild b/deps/akonadi/akonadi.SlackBuild
new file mode 100755
index 0000000..fdebfb0
--- /dev/null
+++ b/deps/akonadi/akonadi.SlackBuild
@@ -0,0 +1,110 @@
+#!/bin/sh
+
+# Slackware build script for akonadi
+
+# Copyright 2008 Robby Workman, Northport, Alabama, USA
+# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=akonadi
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-2}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:--j6}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+# Fix a crash of akonadi when logging out of KDE:
+cat $CWD/akonadi.agentpluginloader.diff | patch -p1 --verbose || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+mkdir -p build
+cd build
+ cmake \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ ..
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd -
+
+if [ -d $PKG/usr/man ]; then
+ gzip -9 $PKG/usr/man/man?/*
+fi
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS INSTALL README lgpl-license \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/deps/akonadi/akonadi.agentpluginloader.diff b/deps/akonadi/akonadi.agentpluginloader.diff
new file mode 100644
index 0000000..49228ef
--- /dev/null
+++ b/deps/akonadi/akonadi.agentpluginloader.diff
@@ -0,0 +1,64 @@
+commit c8e45b10c32679bf070af5b7ad9a22b91eb9a02c
+Author: Sergio Martins <iamsergio@gmail.com>
+Date: Mon Sep 12 13:48:33 2011 +0100
+
+ Fix crash on agent_launcher exit.
+
+ Don't unload plugins here. They will be unloaded on application exit,
+ so it's redundant.
+
+ Seems they are being unloaded too early, before QThreadStorage
+ cleanup occurs:
+
+ ==18802== Invalid read of size 8
+ ==18802== at 0x53178AE: QThreadStorage<QFontCache*>::deleteData(void*) (in
+ /data/installation/qt/qt-4.7/lib/libQtGui.so.4.7.1)
+ ==18802== by 0x5E8F8CF: QThreadStorageData::set(void*)
+ (qthreadstorage.cpp:165)
+ ==18802== by 0x5317940: void
+ qThreadStorage_setLocalData<QFontCache>(QThreadStorageData&, QFontCache**)
+ (qthreadstorage.h:92)
+ ==18802== by 0x53165BA:
+ QThreadStorage<QFontCache*>::setLocalData(QFontCache*) (qthreadstorage.h:148)
+ ==18802== by 0x531407A: QFontCache::cleanup() (qfont.cpp:2632)
+ ==18802== by 0x5406536: QFont::cleanup() (qfont_x11.cpp:182)
+ ==18802== by 0x5104E35: qt_cleanup() (qapplication_x11.cpp:2647)
+ ==18802== by 0x50603B2: QApplication::~QApplication()
+ (qapplication.cpp:1172)
+ ==18802== by 0x41B1F6: main (agentlauncher.cpp:28)
+ ==18802== Address 0x11a090b0 is not stack'd, malloc'd or (recently) free'd
+
+ CCBUG: 261788
+
+diff --git a/agentserver/agentpluginloader.cpp b/agentserver/agentpluginloader.cpp
+index 2d62d3b..456a124 100644
+--- a/agentserver/agentpluginloader.cpp
++++ b/agentserver/agentpluginloader.cpp
+@@ -25,13 +25,8 @@ using namespace Akonadi;
+
+ AgentPluginLoader::~AgentPluginLoader()
+ {
+- QHash<QString, QPluginLoader*>::iterator it = m_pluginLoaders.begin();
+- while ( it != m_pluginLoaders.end() ) {
+- it.value()->unload();
+- ++it;
+- }
+-
+ qDeleteAll( m_pluginLoaders );
++ m_pluginLoaders.clear();
+ }
+
+ QPluginLoader *AgentPluginLoader::load( const QString &pluginName )
+diff --git a/agentserver/agentpluginloader.h b/agentserver/agentpluginloader.h
+index 77f5de9..c8c815f 100644
+--- a/agentserver/agentpluginloader.h
++++ b/agentserver/agentpluginloader.h
+@@ -26,7 +26,7 @@ class AgentPluginLoader
+ {
+ public:
+ /**
+- Unloads and deletes all instantiated QPluginLoaders.
++ Deletes all instantiated QPluginLoaders.
+ */
+ ~AgentPluginLoader();
+
diff --git a/deps/akonadi/doinst.sh.gz b/deps/akonadi/doinst.sh.gz
new file mode 100644
index 0000000..bedb7a0
--- /dev/null
+++ b/deps/akonadi/doinst.sh.gz
Binary files differ
diff --git a/deps/akonadi/slack-desc b/deps/akonadi/slack-desc
new file mode 100644
index 0000000..a120ceb
--- /dev/null
+++ b/deps/akonadi/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler-----------------------------------------------------|
+akonadi: akonadi (PIM storage service)
+akonadi:
+akonadi: akonadi is an extensible cross-desktop storage service for PIM data
+akonadi: and meta data providing concurrent read, write, and query access.
+akonadi: It will provide a unique desktop wide object identification and
+akonadi: retrieval.
+akonadi:
+akonadi:
+akonadi:
+akonadi: Homepage: http://www.kdepim.org/akonadi/
+akonadi: