summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kde-base/kdelibs/Manifest18
-rw-r--r--kde-base/kdelibs/files/kdelibs-4.3.1-kdeui_util_kkeyserver_mac.patch56
-rw-r--r--kde-base/kdelibs/files/kdelibs-4.3.1-macos-kinit-fork.patch36
-rw-r--r--kde-base/kdelibs/files/kdelibs-4.3.1-macos-unbundle.patch118
-rw-r--r--kde-base/kdelibs/files/kdelibs-4.3.1-module-suffix.patch108
-rw-r--r--kde-base/kdelibs/files/kdelibs-4.3.2-solaris-fileunix.patch40
-rw-r--r--kde-base/kdelibs/files/kdelibs-4.3.2-solaris-getgrouplist.patch109
-rw-r--r--kde-base/kdelibs/files/kdelibs-4.3.2-solaris-ksyscoca.patch16
-rw-r--r--kde-base/kdelibs/files/kdelibs-4.3.3-klauncher_kdeinit.patch31
-rw-r--r--kde-base/kdelibs/files/kdelibs-4.3.3-klauncher_kioslave.patch77
-rw-r--r--kde-base/kdelibs/files/kdelibs-4.3.3-klauncher_mac.patch33
-rw-r--r--kde-base/kdelibs/files/kdelibs-4.3.80-kdeui_util_kkeyserver_mac.patch46
-rw-r--r--kde-base/kdelibs/files/kdelibs-4.3.80-module-suffix.patch105
-rw-r--r--kde-base/kdelibs/kdelibs-4.3.80.ebuild114
-rw-r--r--kde-base/kdelibs/kdelibs-4.3.9999.ebuild118
-rw-r--r--kde-base/kdelibs/kdelibs-9999.ebuild114
16 files changed, 1070 insertions, 69 deletions
diff --git a/kde-base/kdelibs/Manifest b/kde-base/kdelibs/Manifest
index b747fe72322..79ca0caf9b3 100644
--- a/kde-base/kdelibs/Manifest
+++ b/kde-base/kdelibs/Manifest
@@ -1,8 +1,20 @@
AUX dist/01_gentoo_set_xdg_menu_prefix.patch 606 RMD160 37290ce06adf1cf43b0006c02804d7fe762ed609 SHA1 8e86e06a70438c12085a595fd66e2354141fb056 SHA256 9c64b093340d7d25ce6c28d298cd62f3f4da141b762c663df9cd9b5b7722f7d3
AUX dist/02_gentoo_append_xdg_config_dirs.patch 919 RMD160 1406b23f317710bf039aa6020f55781b6f2c2f6a SHA1 cc589b31277e5bb6322df0240389fa8423d8d942 SHA256 e0be8da02ea48eb6ad4dcb0d723bf2a619cc7ed57dd41f456018116fb05162f6
AUX dist/23_solid_no_double_build.patch 838 RMD160 24bea0cd76edd2709edcdc654b74ebf1566e7ef7 SHA1 534aef07069b9b89ff3ff80619eb35f0fd588b61 SHA256 1ef6f6e7fe4b31b79126fd0cefaadab03f0e6a4bd9194fc8f4bee4750620c4ad
+AUX kdelibs-4.3.1-kdeui_util_kkeyserver_mac.patch 2405 RMD160 abac7f17176246ad3f2b36b6c6ff9d19bd914e7f SHA1 525d5947c9ba5d341da216f4b517931d97591b26 SHA256 2f30e3b82989caf5d3d30ef27af565093856b145fe9976d643c975b762b6600c
+AUX kdelibs-4.3.1-macos-kinit-fork.patch 1361 RMD160 9f60caf379991e9490c32a79e54680ed929af6e5 SHA1 acee0ffc11013bee8b80c16225a88b28cebde5c2 SHA256 a47b8469e5d6c8f763d385b0bdbaf541f5affdabb787bda8e5a56b8693d29857
+AUX kdelibs-4.3.1-macos-unbundle.patch 4132 RMD160 da97df90e4eb45d362b862694037ba0e039dd375 SHA1 85735e3772c1293b43ee906f0cc75702c6a3881a SHA256 fc9fff7113277f82f5aaa9aecbc4385c6c48c2f6fd945d4de838d3edb4657e7c
+AUX kdelibs-4.3.1-module-suffix.patch 3578 RMD160 36d8baecb4e35bdd72addef19b610548c031b7c0 SHA1 2bc2eda8d2e57a6001daf3baed91610c3a14eee4 SHA256 585d05d82e72ebe8d80312f180726c53284861796dc725a7530376fe973d1b74
+AUX kdelibs-4.3.2-solaris-fileunix.patch 1703 RMD160 6a221210bb0660781dfaa8c0102ae86cc678f97f SHA1 36b525e32c1b86892a9975a69ca8467e595e85d7 SHA256 162cc6e14570f90e69811241ce07a4968e786cbed017fd22a8347371cdd7ffb8
+AUX kdelibs-4.3.2-solaris-getgrouplist.patch 3718 RMD160 881e19f21534b4fbeab50c0628113b569185affd SHA1 04acb8ce4ad92893e76a2fe7b51d5ffcaf9d33fa SHA256 ce5c322f184a60aab3cab40035d654de12c95158ac4d0b474af91e1f77379c28
+AUX kdelibs-4.3.2-solaris-ksyscoca.patch 464 RMD160 d836036ba64201cbc84ff84a833e52a5b63a8f86 SHA1 48ac12ddcafc2253d35780821ce73a1ca079dc54 SHA256 421c1689866d18df49af23bb923a6137ff58d2fa7332cd7f804734ec0006e0da
+AUX kdelibs-4.3.3-klauncher_kdeinit.patch 1084 RMD160 4a4360e4a6f5834a7a0a9ed033659dcdd12a6326 SHA1 46aa4fe91a5e5d21eedbd8687b4266c0c86f22fb SHA256 b3f83270523580aa57fae67b611e270a60614a385499a151fd402cdfb7a1e982
+AUX kdelibs-4.3.3-klauncher_kioslave.patch 2038 RMD160 d31c2fb97a11f3d03a266991fa66749c285ed197 SHA1 db2f8c0eaf2f3226ee2a99d8d4c67a9b536b1fee SHA256 6908f559aeb8299cd45f28b48958cfbb855b8b2ebf79d752e9583713052bfabe
+AUX kdelibs-4.3.3-klauncher_mac.patch 1126 RMD160 073d2ce7fc431257dec40617f7269fd26d6a3ab8 SHA1 fecb5a3d4a31480816748efb58032d3772dd4822 SHA256 91720c55135a97dab5a9a3a9dd433bb7606e67fd27c8bec8dc76aa297da33703
+AUX kdelibs-4.3.80-kdeui_util_kkeyserver_mac.patch 2210 RMD160 c7f53343cb8713bb2c7d195563d5fe399adb9939 SHA1 03e60a01c7665e9074ddc412c90f157a044ce9ba SHA256 3602e079a4788feceff27f7f6bcaeff33828c259a81d0357f7df092000f98a6a
+AUX kdelibs-4.3.80-module-suffix.patch 3919 RMD160 ed225d685594d53df9792b1472925a371bbc41da SHA1 efa963a74c60dcc23c3f925a479cf753b6247ccf SHA256 06fedf486f3a459cb3366fe1865583863924b48f78f0d5f6b327a42438c83976
DIST kdelibs-4.3.80.tar.bz2 12789356 RMD160 b49736412294df3f08724138d3ccb399fd8fde44 SHA1 004200a6546e9ef0221e6e949ee95adda55a3cb9 SHA256 c9012702bb2602f1a8d1489e9462c17f776f51eec1f0009e1b6859fdc8e02c07
-EBUILD kdelibs-4.3.80.ebuild 6651 RMD160 3b615c2770cad193a22d0cc2803c767cf23292e1 SHA1 861a30ddd3fc1178d4c3d81d38f447c06bc69cd7 SHA256 d6b41e738f11d6e8fbc3f18f952f966c255964dc1d67a691784ffa5cdabbda67
-EBUILD kdelibs-4.3.9999.ebuild 6400 RMD160 3810b50fabf5912763c9c06ede7b5b171293254f SHA1 9d73a3a2cb21eb2c53de57f7490c52cea1d5f337 SHA256 1dcbde52a08f4be09d792acf53d2f1beb70210a89fe5ef4f6614f660f8b7b769
-EBUILD kdelibs-9999.ebuild 6522 RMD160 3ba45ea27f29c41b78631ae4469eef9cad13487d SHA1 f16b5e2e83a562e00a84bce1042c3e94a4b99527 SHA256 7e4f0cf07abcda4344475b47ad4ae04149f063e0e1bffb549a9b8dce12d98289
+EBUILD kdelibs-4.3.80.ebuild 9200 RMD160 0c5dd55470bff40b6d922e318676ea103ec368ec SHA1 1c06dc5228dca0ce2a37163f0ff56298e3cf73ea SHA256 1f0885eeda8e3e0ba774d9ee680b01a330124e9da9735de755d77c441804d490
+EBUILD kdelibs-4.3.9999.ebuild 9100 RMD160 769ff15544cfe35dfd2729a762fac93a7ac970e6 SHA1 09d238b7a11a06f0b39d08e4b66fffa544816af3 SHA256 7db11e1be5f5880bd5e61d938ffecd6cc14482243c266d7865b06d259dd56e5f
+EBUILD kdelibs-9999.ebuild 9071 RMD160 fac7f4fcf9295aa7dc04f9c3075dd317834b2d18 SHA1 d3ddb7a14ec37d67995c252a1811604c2849913d SHA256 9283e7f36690d2196dd8024ea053687949304dc5059f710bf3be8518bac1809f
MISC metadata.xml 374 RMD160 18c1efe3720891a6e37eea57b1a3ea5d31353174 SHA1 0a4b4de13c94ad5bcd7e9790f023f0274f979ca0 SHA256 1d1a0ee494881f69a23c3416e04de031e504bb84f0886095668396c7a1a4625a
diff --git a/kde-base/kdelibs/files/kdelibs-4.3.1-kdeui_util_kkeyserver_mac.patch b/kde-base/kdelibs/files/kdelibs-4.3.1-kdeui_util_kkeyserver_mac.patch
new file mode 100644
index 00000000000..b03f7a09a89
--- /dev/null
+++ b/kde-base/kdelibs/files/kdelibs-4.3.1-kdeui_util_kkeyserver_mac.patch
@@ -0,0 +1,56 @@
+There's some non 64-bit supported code in here. So try to redo it in a 640bit
+compatible way.
+
+Author: Heiko Przybyl <zuxez@cs.tu-berlin.de>
+
+--- kdelibs-4.3.1/work/kdelibs-4.3.1/kdeui/util/kkeyserver_mac.cpp.orig 2009-09-24 15:59:10 +0200
++++ kdelibs-4.3.1/work/kdelibs-4.3.1/kdeui/util/kkeyserver_mac.cpp 2009-09-24 16:48:46 +0200
+@@ -65,11 +65,11 @@ namespace KKeyServer {
+
+ static QMultiMap<int, uint> scancodes;
+ static long lastLayoutID = -1;
+- static KeyboardLayoutRef lastLayout = NULL;
++ static TISInputSourceRef lastLayout = NULL;
+
+ void updateScancodes() {
+- KeyboardLayoutRef layout;
+- if (KLGetCurrentKeyboardLayout(&layout) != noErr) {
++ TISInputSourceRef layout = TISCopyCurrentKeyboardLayoutInputSource();
++ if (layout == NULL) {
+ kWarning() << "Error retrieving current layout";
+ }
+ if (layout != lastLayout) {
+@@ -80,16 +80,27 @@ namespace KKeyServer {
+ #endif
+ lastLayout = layout;
+ scancodes.clear();
+- void *kchr;
+- if (KLGetKeyboardLayoutProperty(layout, kKLKCHRData, const_cast<const void**>(&kchr)) != noErr) {
++ UCKeyboardLayout *uchr = (UCKeyboardLayout *)TISGetInputSourceProperty(layout, kTISPropertyUnicodeKeyLayoutData);
++ if (uchr == NULL) {
+ kWarning() << "Couldn't load active keyboard layout";
+ } else {
+ for (int i = 0; i < 128; i++) {
+ UInt32 tmpState = 0;
+- UInt32 chr = KeyTranslate(kchr, i, &tmpState);
+- if (chr && chr != kFunctionKeyCharCode) {
+- scancodes.insert(chr, i);
+- }
++ UInt32 deadKeyState = 0;
++ UInt32 flags = 0;
++ UniCharCount maxStringLength = 255;
++ UniCharCount actualStringLength = 0;
++ UniChar unicodeString[maxStringLength];
++
++ UCKeyTranslate(uchr, i, kUCKeyActionDown,
++ flags, LMGetKbdType(),
++ 1, &deadKeyState, maxStringLength, &actualStringLength, unicodeString);
++ fprintf(stderr, "Got key: %s\n", unicodeString);
++ fflush(stderr);
++ //UInt32 chr = KeyTranslate(kchr, i, &tmpState);
++ //if (chr && chr != kFunctionKeyCharCode) {
++ // scancodes.insert(chr, i);
++ //}
+ }
+ }
+ }
diff --git a/kde-base/kdelibs/files/kdelibs-4.3.1-macos-kinit-fork.patch b/kde-base/kdelibs/files/kdelibs-4.3.1-macos-kinit-fork.patch
new file mode 100644
index 00000000000..85b006ed3bb
--- /dev/null
+++ b/kde-base/kdelibs/files/kdelibs-4.3.1-macos-kinit-fork.patch
@@ -0,0 +1,36 @@
+This patch avoids calling of QDesktopServices::storageLocation() to workaround
+the abort(USING_FORK_WITHOUT_EXEC_IS_NOT_SUPPORTED_BY_FILE_MANAGER) on kdeinit4
+startup.
+
+--- kdelibs-4.3.2/kinit/kinit.cpp.orig 2009-10-09 18:46:20 +0200
++++ kdelibs-4.3.2/kinit/kinit.cpp 2009-10-09 18:46:51 +0200
+@@ -46,6 +46,7 @@
+
+ #include <QtCore/QLibrary>
+ #include <QtCore/QString>
++#include <QtCore/QDir>
+ #include <QtCore/QFile>
+ #include <QtCore/QDate>
+ #include <QtCore/QFileInfo>
+--- kdelibs-4.3.2/kinit/kinit.cpp.orig 2009-10-09 18:28:59 +0200
++++ kdelibs-4.3.2/kinit/kinit.cpp 2009-10-09 18:29:05 +0200
+@@ -513,7 +513,7 @@ static pid_t launch(int argc, const char
+ if (cwd && *cwd) {
+ (void)chdir(cwd);
+ } else {
+- const QByteArray docPath = QFile::encodeName(KGlobalSettings::documentPath());
++ const QByteArray docPath = QFile::encodeName(QDir::homePath());
+ (void)chdir(docPath.constData());
+ }
+
+--- kdelibs-4.3.2/kinit/klauncher_main.cpp.orig 2009-10-09 19:11:17 +0200
++++ kdelibs-4.3.2/kinit/klauncher_main.cpp 2009-10-09 19:11:24 +0200
+@@ -62,7 +62,7 @@ extern "C" KDE_EXPORT int kdemain( int a
+ #endif
+
+ KComponentData componentData("klauncher", "kdelibs4");
+- KGlobal::locale();
++ //KGlobal::locale();
+
+ // WABA: Make sure not to enable session management.
+ putenv(strdup("SESSION_MANAGER="));
diff --git a/kde-base/kdelibs/files/kdelibs-4.3.1-macos-unbundle.patch b/kde-base/kdelibs/files/kdelibs-4.3.1-macos-unbundle.patch
new file mode 100644
index 00000000000..4551e279271
--- /dev/null
+++ b/kde-base/kdelibs/files/kdelibs-4.3.1-macos-unbundle.patch
@@ -0,0 +1,118 @@
+KDE is smart, too smart. We don't want application bundles. And since our Qt is
+configured to not build application bundles, since wouldn't even work. So this
+patch disables KDE's smartness regarding application bundles.
+
+Author: Heiko Przybyl <zuxez@cs.tu-berlin.de>
+
+--- kdelibs-4.3.1/kdecore/kernel/kstandarddirs.cpp.orig 2009-09-28 02:05:37 +0200
++++ kdelibs-4.3.1/kdecore/kernel/kstandarddirs.cpp 2009-09-28 02:22:20 +0200
+@@ -1207,32 +1207,8 @@ QStringList KStandardDirs::systemPaths(
+ return exePaths;
+ }
+
+-#ifdef Q_WS_MAC
+-static QString getBundle( const QString& path, bool ignore )
+-{
+- kDebug(180) << "getBundle(" << path << ", " << ignore << ") called";
+- QFileInfo info;
+- QString bundle = path;
+- bundle += ".app/Contents/MacOS/" + bundle.section('/', -1);
+- info.setFile( bundle );
+- if ( info.exists() && ( ignore || info.isExecutable() )
+- && ( info.isFile() || info.isSymLink() ) ) {
+- kDebug(180) << "getBundle(): returning " << bundle;
+- return bundle;
+- }
+- return QString();
+-}
+-#endif
+-
+ static QString checkExecutable( const QString& path, bool ignoreExecBit )
+ {
+-#ifdef Q_WS_MAC
+- QString bundle = getBundle( path, ignoreExecBit );
+- if ( !bundle.isEmpty() ) {
+- //kDebug(180) << "findExe(): returning " << bundle;
+- return bundle;
+- }
+-#endif
+ QFileInfo info( path );
+ QFileInfo orig = info;
+ if( info.exists() && info.isSymLink() )
+@@ -1327,14 +1303,6 @@ int KStandardDirs::findAllExe( QStringLi
+ p = (*it) + '/';
+ p += real_appname;
+
+-#ifdef Q_WS_MAC
+- QString bundle = getBundle( p, (options & IgnoreExecBit) );
+- if ( !bundle.isEmpty() ) {
+- //kDebug(180) << "findExe(): returning " << bundle;
+- list.append( bundle );
+- }
+-#endif
+-
+ info.setFile( p );
+
+ if( info.exists() && ( ( options & IgnoreExecBit ) || info.isExecutable())
+@@ -1636,18 +1604,6 @@ void KStandardDirs::addKDEDefaults()
+ addPrefix(localKdeDir);
+ }
+
+-#ifdef Q_WS_MACX
+- // Adds the "Contents" directory of the current application bundle to
+- // the search path. This way bundled resources can be found.
+- QDir bundleDir(mac_app_filename());
+- if (bundleDir.dirName() == "MacOS") { // just to be sure we're in a bundle
+- bundleDir.cdUp();
+- // now dirName should be "Contents". In there we can find our normal
+- // dir-structure, beginning with "share"
+- addPrefix(bundleDir.absolutePath());
+- }
+-#endif
+-
+ QStringList::ConstIterator end(kdedirList.end());
+ for (QStringList::ConstIterator it = kdedirList.constBegin();
+ it != kdedirList.constEnd(); ++it)
+@@ -1680,11 +1636,7 @@ void KStandardDirs::addKDEDefaults()
+ }
+ else
+ {
+-#ifdef Q_WS_MACX
+- localXdgDir = QDir::homePath() + "/Library/Preferences/XDG/";
+-#else
+ localXdgDir = QDir::homePath() + "/.config/";
+-#endif
+ }
+
+ localXdgDir = KShell::tildeExpand(localXdgDir);
+--- ./kinit/kinit.cpp.orig 2009-09-28 12:38:02 +0200
++++ ./kinit/kinit.cpp 2009-09-28 12:40:02 +0200
+@@ -551,14 +551,7 @@ static pid_t launch(int argc, const char
+ QByteArray procTitle;
+ d.argv = (char **) malloc(sizeof(char *) * (argc+1));
+ d.argv[0] = (char *) _name;
+-#ifdef Q_WS_MAC
+- QString argvexe = s_instance->dirs()->findExe(QString::fromLatin1(d.argv[0]));
+- if (!argvexe.isEmpty()) {
+- QByteArray cstr = argvexe.toLocal8Bit();
+- kDebug(7016) << "kdeinit4: launch() setting argv: " << cstr.data();
+- d.argv[0] = strdup(cstr.data());
+- }
+-#endif
++
+ for (int i = 1; i < argc; i++)
+ {
+ d.argv[i] = (char *) args;
+@@ -627,12 +620,6 @@ static pid_t launch(int argc, const char
+ setup_tty( tty );
+
+ QByteArray executable = execpath;
+-#ifdef Q_WS_MAC
+- QString bundlepath = s_instance->dirs()->findExe(QFile::decodeName(executable));
+- if (!bundlepath.isEmpty())
+- executable = QFile::encodeName(bundlepath);
+-#endif
+-
+ if (!executable.isEmpty())
+ execvp(executable, d.argv);
+
diff --git a/kde-base/kdelibs/files/kdelibs-4.3.1-module-suffix.patch b/kde-base/kdelibs/files/kdelibs-4.3.1-module-suffix.patch
new file mode 100644
index 00000000000..5ec4c2d9f35
--- /dev/null
+++ b/kde-base/kdelibs/files/kdelibs-4.3.1-module-suffix.patch
@@ -0,0 +1,108 @@
+The current approach to load shared objects in KDE4 sucks, so
+just use the cmake provided shared object extensions for the
+KPluginLoader as the preferred extension.
+
+Author: Heiko Przybyl <zuxez@cs.tu-berlin.de>
+
+--- kdelibs-4.3.1/config.h.cmake 2009-02-04 16:44:05 +0100
++++ kdelibs-4.3.1/config.h.cmake 2009-02-04 16:43:43 +0100
+@@ -12,6 +12,7 @@
+ #define kde_socklen_t socklen_t
+
+ #define KDELIBSUFF "${KDELIBSUFF}"
++#define KDE_MODULE_SUFFIX "${CMAKE_SHARED_MODULE_SUFFIX}"
+
+ /****************************/
+
+--- kdelibs-4.3.1/kdecore/util/kpluginloader.cpp 2009-09-28 13:52:23 +0200
++++ kdelibs-4.3.1/kdecore/util/kpluginloader.cpp 2009-09-28 14:57:15 +0200
+@@ -27,6 +27,8 @@
+ #include "klibrary.h"
+ #include <kdebug.h>
+
++#include <config.h>
++
+ #include <QtCore/QLibrary>
+ #include <QtCore/QDir>
+ #include <QtCore/QFileInfo>
+@@ -53,25 +55,37 @@ protected:
+ KLibrary *lib;
+ };
+
+-inline QString makeLibName( const QString &libname )
++inline QString makeLibName( const QString &libname, const QString &type )
+ {
+ #ifdef Q_OS_WIN
+ if (!libname.endsWith(".dll"))
+ return libname + ".dll";
+ return libname;
+-#else
++#else // Q_OS_WIN
+ int pos = libname.lastIndexOf('/');
+ if (pos < 0)
+ pos = 0;
+ if (libname.indexOf('.', pos) < 0) {
+- const char* const extList[] = { ".so", ".dylib", ".bundle", ".sl" };
++#ifdef Q_OS_MAC
++ // Libraries are always .dylib
++ if (type.compare("lib") == 0) {
++ return libname + ".dylib";
++ }
++ // Modules mostly go .bundle but we'll use CMake smartness
++ else {
++ return libname + KDE_MODULE_SUFFIX;
++ }
++#else // Q_OS_MAC
++ // Prefer the value specified by cmake for the target, fall back to standard
++ const char* const extList[] = { KDE_MODULE_SUFFIX, ".so", ".sl" };
+ for (uint i = 0; i < sizeof(extList) / sizeof(*extList); ++i) {
+ if (QLibrary::isLibrary(libname + extList[i]))
+ return libname + extList[i];
+ }
++#endif // Q_OS_MAC
+ }
+ return libname;
+-#endif
++#endif // Q_OS_WIN
+ }
+
+ #ifdef Q_OS_WIN
+@@ -80,13 +94,13 @@ extern QString fixLibPrefix(const QStrin
+
+ QString findLibraryInternal(const QString &name, const KComponentData &cData)
+ {
+- // Convert name to a valid platform libname
+- QString libname = makeLibName(name);
+-
+ QFileInfo fileinfo(name);
+ bool hasPrefix = fileinfo.fileName().startsWith("lib");
+ bool kdeinit = fileinfo.fileName().startsWith("libkdeinit4_");
+
++ // Convert name to a valid platform libname depending on requested type.
++ QString libname = makeLibName(name, kdeinit ? "lib" : "module");
++
+ if (hasPrefix && !kdeinit)
+ kDebug(150) << "plugins should not have a 'lib' prefix:" << libname;
+ #ifdef Q_OS_WIN
+--- kdelibs-4.3.1/kdecore/util/klibloader.cpp 2009-09-28 13:57:03 +0200
++++ kdelibs-4.3.1/kdecore/util/klibloader.cpp 2009-09-28 13:57:46 +0200
+@@ -57,7 +57,7 @@ KLibLoader::~KLibLoader()
+ {
+ }
+
+-extern QString makeLibName( const QString &libname );
++extern QString makeLibName( const QString &libname, const QString &type );
+
+ extern QString findLibrary(const QString &name, const KComponentData &cData);
+
+--- kdelibs-4.3.1/kdecore/util/klibrary.cpp 2009-09-28 13:57:13 +0200
++++ kdelibs-4.3.1/kdecore/util/klibrary.cpp 2009-09-28 13:58:04 +0200
+@@ -27,7 +27,7 @@
+ #include <kpluginfactory.h>
+ #include <kdebug.h>
+
+-extern QString makeLibName( const QString &libname );
++extern QString makeLibName( const QString &libname, const QString &type );
+
+ extern QString findLibraryInternal(const QString &name, const KComponentData &cData);
+
diff --git a/kde-base/kdelibs/files/kdelibs-4.3.2-solaris-fileunix.patch b/kde-base/kdelibs/files/kdelibs-4.3.2-solaris-fileunix.patch
new file mode 100644
index 00000000000..c03620637dc
--- /dev/null
+++ b/kde-base/kdelibs/files/kdelibs-4.3.2-solaris-fileunix.patch
@@ -0,0 +1,40 @@
+Solaris has no d_type element in dir_ent.
+
+Please refer to
+ https://solaris.bionicmutton.org/hg/kde4-specs-432/rev/be96f7fc958a
+
+--- kioslave/file/file_unix.cpp.orig 2009-03-10 13:26:04.000000000 +0100
++++ kioslave/file/file_unix.cpp 2009-05-04 03:27:15.231305077 +0200
+@@ -42,7 +42,7 @@
+ #include <grp.h>
+ #include <utime.h>
+ #include <pwd.h>
+-
++#include <sys/stat.h>
+ #if defined(HAVE_LIMITS_H)
+ #include <limits.h> // PATH_MAX
+ #endif
+@@ -338,15 +338,20 @@
+ // files where QFile::encodeName(QFile::decodeName(a)) != a.
+ QList<QByteArray> entryNames;
+ KDE_struct_dirent *ep;
++ KDE_struct_stat hajmaep;
+ if (details == 0) {
+ // Fast path (for recursive deletion, mostly)
+ // Simply emit the name and file type, nothing else.
+ while ( ( ep = KDE_readdir( dp ) ) != 0 ) {
+ entry.clear();
+ entry.insert(KIO::UDSEntry::UDS_NAME, QFile::decodeName(ep->d_name));
+- entry.insert(KIO::UDSEntry::UDS_FILE_TYPE,
+- (ep->d_type & DT_DIR) ? S_IFDIR : S_IFREG );
+- if (ep->d_type & DT_LNK) {
++// entry.insert(KIO::UDSEntry::UDS_FILE_TYPE,
++// (ep->d_type & DT_DIR) ? S_IFDIR : S_IFREG );
++KDE_lstat( ep->d_name, &hajmaep );
++entry.insert(KIO::UDSEntry::UDS_FILE_TYPE,
++(S_ISDIR(hajmaep.st_mode)) ? S_IFDIR : S_IFREG );
++// if (ep->d_type & DT_LNK) {
++if (S_ISLNK(hajmaep.st_mode)) {
+ // for symlinks obey the UDSEntry contract and provide UDS_LINK_DEST
+ // even if we don't know the link dest (and DeleteJob doesn't care...)
+ entry.insert(KIO::UDSEntry::UDS_LINK_DEST, QLatin1String("Dummy Link Target"));
diff --git a/kde-base/kdelibs/files/kdelibs-4.3.2-solaris-getgrouplist.patch b/kde-base/kdelibs/files/kdelibs-4.3.2-solaris-getgrouplist.patch
new file mode 100644
index 00000000000..59ab862d5f6
--- /dev/null
+++ b/kde-base/kdelibs/files/kdelibs-4.3.2-solaris-getgrouplist.patch
@@ -0,0 +1,109 @@
+Solaris does not provide getgrouplist().
+
+Please refer to
+ https://solaris.bionicmutton.org/hg/kde4-specs-432/file/539d9ed6c7b5/specs/patches/kdelibs-getgrouplist.diff
+
+--- ./kio/kfile/kpropertiesdialog.cpp.orig Tue Apr 14 23:40:16 2009
++++ ./kio/kfile/kpropertiesdialog.cpp Tue Apr 14 23:40:29 2009
+@@ -141,6 +141,101 @@
+ #endif
+ #endif
+
++/*-
++ * Copyright (c) 1991, 1993
++ * The Regents of the University of California. All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * 1. Redistributions of source code must retain the above copyright
++ * notice, this list of conditions and the following disclaimer.
++ * 2. Redistributions in binary form must reproduce the above copyright
++ * notice, this list of conditions and the following disclaimer in the
++ * documentation and/or other materials provided with the distribution.
++ * 3. All advertising materials mentioning features or use of this software
++ * must display the following acknowledgement:
++ * This product includes software developed by the University of
++ * California, Berkeley and its contributors.
++ * 4. Neither the name of the University nor the names of its contributors
++ * may be used to endorse or promote products derived from this software
++ * without specific prior written permission.
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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.
++ */
++
++#if 0
++#if defined(LIBC_SCCS) && !defined(lint)
++static char sccsid[] = "@(#)getgrouplist.c 8.2 (Berkeley) 12/8/94";
++#endif /* LIBC_SCCS and not lint */
++#include <sys/cdefs.h>
++__FBSDID("$FreeBSD: src/lib/libc/gen/getgrouplist.c,v 1.14 2005/05/03 16:20:03 delphij Exp $");
++#endif
++
++/*
++ * get credential
++ */
++#include <sys/types.h>
++
++#include <grp.h>
++#include <string.h>
++#include <unistd.h>
++
++int
++getgrouplist(const char *uname, gid_t agroup, gid_t *groups, int *grpcnt)
++{
++ const struct group *grp;
++ int i, maxgroups, ngroups, ret;
++
++ ret = 0;
++ ngroups = 0;
++ maxgroups = *grpcnt;
++ /*
++ * When installing primary group, duplicate it;
++ * the first element of groups is the effective gid
++ * and will be overwritten when a setgid file is executed.
++ */
++ groups ? groups[ngroups++] = agroup : ngroups++;
++ if (maxgroups > 1)
++ groups ? groups[ngroups++] = agroup : ngroups++;
++ /*
++ * Scan the group file to find additional groups.
++ */
++ setgrent();
++ while ((grp = getgrent()) != NULL) {
++ if (groups) {
++ for (i = 0; i < ngroups; i++) {
++ if (grp->gr_gid == groups[i])
++ goto skip;
++ }
++ }
++ for (i = 0; grp->gr_mem[i]; i++) {
++ if (!strcmp(grp->gr_mem[i], uname)) {
++ if (ngroups >= maxgroups) {
++ ret = -1;
++ break;
++ }
++ groups ? groups[ngroups++] = grp->gr_gid : ngroups++;
++ break;
++ }
++ }
++skip:
++ ;
++ }
++ endgrent();
++ *grpcnt = ngroups;
++ return (ret);
++}
+ using namespace KDEPrivate;
+
+ static QString nameFromFileName(QString nameStr)
diff --git a/kde-base/kdelibs/files/kdelibs-4.3.2-solaris-ksyscoca.patch b/kde-base/kdelibs/files/kdelibs-4.3.2-solaris-ksyscoca.patch
new file mode 100644
index 00000000000..64da2e6cc90
--- /dev/null
+++ b/kde-base/kdelibs/files/kdelibs-4.3.2-solaris-ksyscoca.patch
@@ -0,0 +1,16 @@
+Desc: Add needed include for mmap() on Solaris.
+Author: Daniel Vergien
+
+--- kdelibs-4.3.2/kdecore/sycoca/ksycoca.cpp.orig 2009-10-14 12:12:45.697358506 +0200
++++ kdelibs-4.3.2/kdecore/sycoca/ksycoca.cpp 2009-10-14 12:13:16.082152232 +0200
+@@ -46,6 +46,10 @@
+
+ #include "ksycocadevices_p.h"
+
++/* needed on solaris 10 for mmap */
++
++#include <sys/mman.h>
++
+ // TODO: remove mmap() from kdewin32 and use QFile::mmap() when needed
+ #ifdef Q_WS_WIN
+ #undef HAVE_MMAP
diff --git a/kde-base/kdelibs/files/kdelibs-4.3.3-klauncher_kdeinit.patch b/kde-base/kdelibs/files/kdelibs-4.3.3-klauncher_kdeinit.patch
new file mode 100644
index 00000000000..24d6f1632f3
--- /dev/null
+++ b/kde-base/kdelibs/files/kdelibs-4.3.3-klauncher_kdeinit.patch
@@ -0,0 +1,31 @@
+Please refer to
+ https://bugs.kde.org/show_bug.cgi?id=209903
+
+ http://bugsfiles.kde.org/attachment.cgi?id=37552
+
+Index: kdelibs-4.3.2/kinit/kinit.cpp
+===================================================================
+--- kdelibs-4.3.2.orig/kinit/kinit.cpp 2009-10-13 07:31:16.000000000 +0200
++++ kdelibs-4.3.2/kinit/kinit.cpp 2009-10-13 07:31:52.000000000 +0200
+@@ -489,6 +489,13 @@
+ init_startup_info( startup_id, name, envc, envs );
+ #endif
+
++ // Don't run this inside the child process, it crashes on OS/X 10.6
++ const QByteArray docPath = QFile::encodeName(KGlobalSettings::documentPath());
++#ifdef Q_WS_MAC
++ QString bundlepath = s_instance->dirs()->findExe(QFile::decodeName(execpath));
++ QString argvexe = s_instance->dirs()->findExe(QString::fromLatin1(_name));
++#endif
++
+ d.errorMsg = 0;
+ d.fork = fork();
+ switch(d.fork) {
+@@ -513,7 +520,6 @@
+ if (cwd && *cwd) {
+ (void)chdir(cwd);
+ } else {
+- const QByteArray docPath = QFile::encodeName(KGlobalSettings::documentPath());
+ (void)chdir(docPath.constData());
+ }
+
diff --git a/kde-base/kdelibs/files/kdelibs-4.3.3-klauncher_kioslave.patch b/kde-base/kdelibs/files/kdelibs-4.3.3-klauncher_kioslave.patch
new file mode 100644
index 00000000000..788e8025a70
--- /dev/null
+++ b/kde-base/kdelibs/files/kdelibs-4.3.3-klauncher_kioslave.patch
@@ -0,0 +1,77 @@
+Please refer to
+ https://bugs.kde.org/show_bug.cgi?id=209903
+
+ http://www.davidfaure.fr/2009/klauncher_kioslave.diff
+
+Index: klauncher.cpp
+===================================================================
+--- kdelibs-4.3.3/kinit/klauncher.cpp (revision 1034932)
++++ kdelibs-4.3.3/kinit/klauncher.cpp (working copy)
+@@ -621,7 +621,7 @@
+ void
+ KLauncher::requestStart(KLaunchRequest *request)
+ {
+-#ifdef Q_WS_WIN
++#ifdef USE_KPROCESS_FOR_KIOSLAVES
+ requestList.append( request );
+ lastRequest = request;
+
+@@ -1126,12 +1126,15 @@
+ }
+
+ QStringList arg_list;
+-#ifdef Q_WS_WIN
++#ifdef USE_KPROCESS_FOR_KIOSLAVES
+ arg_list << name;
+ arg_list << protocol;
+ arg_list << mConnectionServer.address();
+ arg_list << app_socket;
+ name = KStandardDirs::findExe(QLatin1String("kioslave"));
++#ifdef Q_OS_UNIX
++ QString arg1 = protocol;
++#endif
+ #else
+ QString arg1 = protocol;
+ QString arg2 = mConnectionServer.address();
+@@ -1268,7 +1268,7 @@
+ slave->reparseConfiguration();
+ }
+
+-#ifdef Q_WS_WIN
++#ifdef USE_KPROCESS_FOR_KIOSLAVES
+ void
+ KLauncher::slotGotOutput()
+ {
+Index: klauncher.h
+===================================================================
+--- kdelibs-4.3.3/kinit/klauncher.h (revision 1034932)
++++ kdelibs-4.3.3/kinit/klauncher.h (working copy)
+@@ -31,6 +31,10 @@
+ #include <fixx11h.h>
+ #endif
+
++#if defined(Q_WS_WIN) || defined(Q_WS_MAC)
++#define USE_KPROCESS_FOR_KIOSLAVES
++#endif
++
+ #include <QtCore/QString>
+ #include <QtCore/QSocketNotifier>
+ #include <QtCore/QTimer>
+@@ -105,7 +105,7 @@ public:
+ #endif
+ QStringList envs; // env. variables to be app's environment
+ QString cwd;
+-#ifdef Q_WS_WIN
++#ifdef USE_KPROCESS_FOR_KIOSLAVES
+ protected:
+ KProcess *process;
+ friend class KLauncher;
+@@ -286,7 +290,7 @@
+ void processRequestReturn(int status, const QByteArray &requestData);
+
+ protected Q_SLOTS:
+-#ifdef Q_WS_WIN
++#ifdef USE_KPROCESS_FOR_KIOSLAVES
+ void slotGotOutput();
+ void slotFinished(int exitCode, QProcess::ExitStatus exitStatus);
+ #endif
diff --git a/kde-base/kdelibs/files/kdelibs-4.3.3-klauncher_mac.patch b/kde-base/kdelibs/files/kdelibs-4.3.3-klauncher_mac.patch
new file mode 100644
index 00000000000..83d415703fa
--- /dev/null
+++ b/kde-base/kdelibs/files/kdelibs-4.3.3-klauncher_mac.patch
@@ -0,0 +1,33 @@
+Please refer to
+ https://bugs.kde.org/show_bug.cgi?id=209903
+
+ http://www.davidfaure.fr/2009/klauncher_mac.diff
+
+Index: klauncher.cpp
+===================================================================
+--- kdelibs-4.3.3/kinit/klauncher.cpp (revision 1034932)
++++ kdelibs-4.3.3/kinit/klauncher.cpp (working copy)
+@@ -1144,6 +1144,12 @@
+ kDebug(7016) << "KLauncher: launching new slave " << name << " with protocol=" << protocol
+ << " args=" << arg_list << endl;
+
++#ifdef Q_WS_MAC
++ arg_list.prepend(KLibLoader::findLibrary(name));
++ name = KStandardDirs::locate("exe", QString::fromLatin1("kioslave"));
++ arg_list.prepend(name);
++#endif
++
+ #ifdef Q_OS_UNIX
+ if (mSlaveDebug == arg1)
+ {
+@@ -1154,8 +1160,10 @@
+ }
+ if (mSlaveValgrind == arg1)
+ {
++#ifndef Q_WS_MAC
+ arg_list.prepend(KLibLoader::findLibrary(name));
+ arg_list.prepend(KStandardDirs::locate("exe", QString::fromLatin1("kioslave")));
++#endif
+ name = QString::fromLatin1("valgrind");
+ if (!mSlaveValgrindSkin.isEmpty()) {
+ arg_list.prepend(QLatin1String("--tool=") + mSlaveValgrindSkin);
diff --git a/kde-base/kdelibs/files/kdelibs-4.3.80-kdeui_util_kkeyserver_mac.patch b/kde-base/kdelibs/files/kdelibs-4.3.80-kdeui_util_kkeyserver_mac.patch
new file mode 100644
index 00000000000..22e6279e63a
--- /dev/null
+++ b/kde-base/kdelibs/files/kdelibs-4.3.80-kdeui_util_kkeyserver_mac.patch
@@ -0,0 +1,46 @@
+diff -purN kdelibs-4.3.80.orig/kdeui/util/kkeyserver_mac.cpp kdelibs-4.3.80/kdeui/util/kkeyserver_mac.cpp
+--- kdelibs-4.3.80.orig/kdeui/util/kkeyserver_mac.cpp 2009-12-14 17:05:26.284881642 -0500
++++ kdelibs-4.3.80/kdeui/util/kkeyserver_mac.cpp 2009-12-14 17:11:23.393094384 -0500
+@@ -68,7 +68,7 @@ namespace KKeyServer {
+ #ifdef QT_MAC_USE_COCOA
+ static TISInputSourceRef lastLayout = 0;
+ #else
+- static KeyboardLayoutRef lastLayout = NULL;
++ static TISInputSourceRef lastLayout = NULL;
+ #endif
+
+ void updateScancodes() {
+@@ -125,16 +125,27 @@ namespace KKeyServer {
+ #endif
+ lastLayout = layout;
+ scancodes.clear();
+- void *kchr;
+- if (KLGetKeyboardLayoutProperty(layout, kKLKCHRData, const_cast<const void**>(&kchr)) != noErr) {
++ UCKeyboardLayout *uchr = (UCKeyboardLayout *)TISGetInputSourceProperty(layout, kTISPropertyUnicodeKeyLayoutData);
++ if (uchr == NULL) {
+ kWarning() << "Couldn't load active keyboard layout";
+ } else {
+ for (int i = 0; i < 128; i++) {
+ UInt32 tmpState = 0;
+- UInt32 chr = KeyTranslate(kchr, i, &tmpState);
+- if (chr && chr != kFunctionKeyCharCode) {
+- scancodes.insert(chr, i);
+- }
++ UInt32 deadKeyState = 0;
++ UInt32 flags = 0;
++ UniCharCount maxStringLength = 255;
++ UniCharCount actualStringLength = 0;
++ UniChar unicodeString[maxStringLength];
++
++ UCKeyTranslate(uchr, i, kUCKeyActionDown,
++ flags, LMGetKbdType(),
++ 1, &deadKeyState, maxStringLength, &actualStringLength, unicodeString);
++ fprintf(stderr, "Got key: %s\n", unicodeString);
++ fflush(stderr);
++ //UInt32 chr = KeyTranslate(kchr, i, &tmpState);
++ //if (chr && chr != kFunctionKeyCharCode) {
++ // scancodes.insert(chr, i);
++ //}
+ }
+ }
+ }
diff --git a/kde-base/kdelibs/files/kdelibs-4.3.80-module-suffix.patch b/kde-base/kdelibs/files/kdelibs-4.3.80-module-suffix.patch
new file mode 100644
index 00000000000..395cacbfee5
--- /dev/null
+++ b/kde-base/kdelibs/files/kdelibs-4.3.80-module-suffix.patch
@@ -0,0 +1,105 @@
+diff -purN kdelibs-4.3.80.orig/config.h.cmake kdelibs-4.3.80/config.h.cmake
+--- kdelibs-4.3.80.orig/config.h.cmake 2009-10-26 05:15:52.000000000 -0400
++++ kdelibs-4.3.80/config.h.cmake 2009-12-14 16:56:15.667194286 -0500
+@@ -12,6 +12,7 @@
+ #define kde_socklen_t socklen_t
+
+ #define KDELIBSUFF "${KDELIBSUFF}"
++#define KDE_MODULE_SUFFIX "${CMAKE_SHARED_MODULE_SUFFIX}"
+
+ /****************************/
+
+diff -purN kdelibs-4.3.80.orig/kdecore/util/klibloader.cpp kdelibs-4.3.80/kdecore/util/klibloader.cpp
+--- kdelibs-4.3.80.orig/kdecore/util/klibloader.cpp 2008-05-21 07:09:15.000000000 -0400
++++ kdelibs-4.3.80/kdecore/util/klibloader.cpp 2009-12-14 16:56:15.668194094 -0500
+@@ -57,7 +57,7 @@ KLibLoader::~KLibLoader()
+ {
+ }
+
+-extern QString makeLibName( const QString &libname );
++extern QString makeLibName( const QString &libname, const QString &type );
+
+ extern QString findLibrary(const QString &name, const KComponentData &cData);
+
+diff -purN kdelibs-4.3.80.orig/kdecore/util/klibrary.cpp kdelibs-4.3.80/kdecore/util/klibrary.cpp
+--- kdelibs-4.3.80.orig/kdecore/util/klibrary.cpp 2009-10-02 10:55:11.000000000 -0400
++++ kdelibs-4.3.80/kdecore/util/klibrary.cpp 2009-12-14 16:57:24.317056608 -0500
+@@ -27,7 +27,7 @@
+ #include <kpluginfactory.h>
+ #include <kdebug.h>
+
+-extern QString makeLibName( const QString &libname );
++extern QString makeLibName( const QString &libname, const QString &type );
+ extern QString findLibraryInternal(const QSt