diff options
Diffstat (limited to 'kde-base')
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&g |
