<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[135470] trunk/dports/kde/kde4-runtime</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="https://trac.macports.org/changeset/135470">135470</a></dd>
<dt>Author</dt> <dd>nicos@macports.org</dd>
<dt>Date</dt> <dd>2015-04-24 07:24:36 -0700 (Fri, 24 Apr 2015)</dd>
</dl>
<h3>Log Message</h3>
<pre>kde4-runtime: update to new version (ticket #46975)</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkdportskdekde4runtimePortfile">trunk/dports/kde/kde4-runtime/Portfile</a></li>
</ul>
<h3>Added Paths</h3>
<ul>
<li><a href="#trunkdportskdekde4runtimefilespatchmakekioexecagentdiff">trunk/dports/kde/kde4-runtime/files/patch-make-kioexec-agent.diff</a></li>
<li><a href="#trunkdportskdekde4runtimefilespatchphononcmakelistsdiff">trunk/dports/kde/kde4-runtime/files/patch-phonon-cmakelists.diff</a></li>
<li><a href="#trunkdportskdekde4runtimefilespatchsupportforlldbdiff">trunk/dports/kde/kde4-runtime/files/patch-support-for-lldb.diff</a></li>
</ul>
<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkdportskdekde4runtimefilespatchkwalletddiff">trunk/dports/kde/kde4-runtime/files/patch-kwalletd.diff</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkdportskdekde4runtimePortfile"></a>
<div class="modfile"><h4>Modified: trunk/dports/kde/kde4-runtime/Portfile (135469 => 135470)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/kde/kde4-runtime/Portfile        2015-04-24 14:19:37 UTC (rev 135469)
+++ trunk/dports/kde/kde4-runtime/Portfile        2015-04-24 14:24:36 UTC (rev 135470)
</span><span class="lines">@@ -4,8 +4,12 @@
</span><span class="cx"> PortSystem 1.0
</span><span class="cx"> PortGroup kde4 1.1
</span><span class="cx">
</span><ins>+fetch.type git
+git.url git://anongit.kde.org/kde-runtime
+git.branch e08a9f70
+
</ins><span class="cx"> name kde4-runtime
</span><del>-version 4.14.3
</del><ins>+version 4.14.4.20150225
</ins><span class="cx"> categories kde kde4
</span><span class="cx"> maintainers nicos
</span><span class="cx"> license GPL-2+ LGPL-2.1+
</span><span class="lines">@@ -16,18 +20,14 @@
</span><span class="cx"> homepage http://www.kde.org
</span><span class="cx"> master_sites kde:stable/${version}/src/
</span><span class="cx"> use_xz yes
</span><del>-distname kde-runtime-${version}
</del><span class="cx">
</span><del>-checksums rmd160 dcbc8624066d83cc8dca85d5ceeb5b4cc327a8fa \
- sha256 78a74e519b4e897ffcee14be98eebd7b672ad2bb6e71a4aa2fe77682b5bc8605
-
</del><span class="cx"> #Binaries do not link directly to openssl, nor use the ssl backend of kdelibs4,
</span><span class="cx"> #nor links to libkimap or libmailtransport from kdepimlibs4
</span><span class="cx"> license_noconflict openssl
</span><span class="cx">
</span><del>-#kwalletd: Fully removing X11 only function to prevent automoc to include it
-#DrKonqi: Fix issues with Dr Konqi during bug reporting on OSX (see https://git.reviewboard.kde.org/r/119498/)
-patchfiles patch-kwalletd.diff
</del><ins>+patchfiles patch-support-for-lldb.diff \
+ patch-make-kioexec-agent.diff \
+ patch-phonon-cmakelists.diff
</ins><span class="cx">
</span><span class="cx"> #Blacklist gcc42 and llvm-gcc-42 (does not build with gcc, ticket #37574)
</span><span class="cx"> compiler.blacklist gcc-4.2 apple-gcc-4.2 llvm-gcc-4.2 macports-llvm-gcc-4.2
</span><span class="lines">@@ -47,6 +47,7 @@
</span><span class="cx"> port:raptor2 \
</span><span class="cx"> port:webp \
</span><span class="cx"> port:bison \
</span><ins>+ port:samba3 \
</ins><span class="cx"> port:shared-mime-info \
</span><span class="cx"> port:gpgme port:attica \
</span><span class="cx"> port:libgcrypt port:openexr \
</span><span class="lines">@@ -60,14 +61,14 @@
</span><span class="cx"> #automatically deactivated if not available (ticket #41773)
</span><span class="cx"> depends_skip_archcheck virtuoso
</span><span class="cx">
</span><del>-configure.args-append -DWITH_PulseAudio=OFF \
- -DXINE_INCLUDE_DIR=\"\" \
</del><ins>+configure.args-append -DXINE_INCLUDE_DIR=\"\" \
</ins><span class="cx"> -DXINE_LIBRARY=\"\" \
</span><span class="cx"> -DWITH_ALSA=OFF \
</span><span class="cx"> -DWITH_QZeitgeist=OFF \
</span><span class="cx"> -DWITH_QNtrack=OFF \
</span><del>- -DWITH_Samba=OFF \
- -DKDEBASE_DISABLE_MULTIMEDIA=ON
</del><ins>+ -DWITH_Samba=ON \
+ -DKDEBASE_DISABLE_MULTIMEDIA=OFF \
+ -DKDERUNTIME_BUILD_NEPOMUK=ON
</ins><span class="cx">
</span><span class="cx"> variant xine description "Enable xine support" {
</span><span class="cx"> # Unsupported. Don't report bugs, unless it comes with a patch :-)
</span><span class="lines">@@ -80,6 +81,8 @@
</span><span class="cx"> universal_variant no
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+configure.args-append -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo -DCMAKE_STRIP:FILEPATH=/bin/echo
+
</ins><span class="cx"> post-destroot {
</span><span class="cx"> # Remove this file as it conflicts with hicolor-icon-theme
</span><span class="cx"> file delete ${destroot}${prefix}/share/icons/hicolor/index.theme
</span><span class="lines">@@ -87,5 +90,4 @@
</span><span class="cx"> file delete ${destroot}${prefix}/include/nepomuk/resourcewatcher.h
</span><span class="cx"> }
</span><span class="cx">
</span><del>-livecheck.url http://kde.mirrors.hoobly.com/stable/
-livecheck.regex (\\d+(\\.\\d+)+)
</del><ins>+livecheck.type none
</ins></span></pre></div>
<a id="trunkdportskdekde4runtimefilespatchkwalletddiff"></a>
<div class="delfile"><h4>Deleted: trunk/dports/kde/kde4-runtime/files/patch-kwalletd.diff (135469 => 135470)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/kde/kde4-runtime/files/patch-kwalletd.diff        2015-04-24 14:19:37 UTC (rev 135469)
+++ trunk/dports/kde/kde4-runtime/files/patch-kwalletd.diff        2015-04-24 14:24:36 UTC (rev 135470)
</span><span class="lines">@@ -1,12 +0,0 @@
</span><del>---- kwalletd/kwalletd.h.orig        2013-10-04 23:16:16.000000000 +0900
-+++ kwalletd/kwalletd.h        2013-10-04 23:16:26.000000000 +0900
-@@ -183,9 +183,6 @@
-                 void notifyFailures();
-                 void processTransactions();
-                 void activatePasswordDialog();
--#ifdef Q_WS_X11
-- void connectToScreenSaver();
--#endif
-
-         private:
-                 // Internal - open a wallet
</del></span></pre></div>
<a id="trunkdportskdekde4runtimefilespatchmakekioexecagentdiff"></a>
<div class="addfile"><h4>Added: trunk/dports/kde/kde4-runtime/files/patch-make-kioexec-agent.diff (0 => 135470)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/kde/kde4-runtime/files/patch-make-kioexec-agent.diff         (rev 0)
+++ trunk/dports/kde/kde4-runtime/files/patch-make-kioexec-agent.diff        2015-04-24 14:24:36 UTC (rev 135470)
</span><span class="lines">@@ -0,0 +1,45 @@
</span><ins>+diff --git kioexec/main.cpp kioexec/main.cpp
+index 06cd8f3..699e94f 100644
+--- kioexec/main.cpp
++++ kioexec/main.cpp
+@@ -21,6 +21,17 @@
+
+ #include "main.h"
+
++#ifdef Q_OS_MAC
++// kioexec is declared NOGUI in its CMakeLists.txt file, which on OS X means
++// it is *not* created as an AppBundle (which we don't want). It can however
++// also mean the KApplication instance will be created with GUIenabled=false
++// (depending on the patches installed), which is not appropriate for kioexec.
++// Undefining KDE_WITHOUT_GUI restores the pre 4.14.1 default behaviour (GUIenabled=true)
++// (when included before kapplication.h ...)
++#undef KDE_WITHOUT_GUI
++#include <CoreFoundation/CoreFoundation.h>
++#endif
++
+ #include <QtCore/QFile>
+ #include <QtCore/Q_PID>
+
+@@ -250,6 +261,21 @@ void KIOExec::slotRunApp()
+
+ int main( int argc, char **argv )
+ {
++#ifdef Q_OS_MAC
++ CFBundleRef mainBundle = CFBundleGetMainBundle();
++ if (mainBundle) {
++ // get the application's Info Dictionary. For app bundles this would live in the bundle's Info.plist,
++ // for regular executables it is obtained in another way.
++ CFMutableDictionaryRef infoDict = (CFMutableDictionaryRef) CFBundleGetInfoDictionary(mainBundle);
++ if (infoDict) {
++ // Add or set the "LSUIElement" key with/to value "1". This can simply be a CFString.
++ CFDictionarySetValue(infoDict, CFSTR("LSUIElement"), CFSTR("1"));
++ // That's it. We're now considered as an "agent" by the window server, and thus will have
++ // neither menubar nor presence in the Dock or App Switcher.
++ }
++ }
++#endif
++
+ KAboutData aboutData( "kioexec", "kioexec", ki18n("KIOExec"),
+ KDE_VERSION_STRING, ki18n(description), KAboutData::License_GPL,
+ ki18n("(c) 1998-2000,2003 The KFM/Konqueror Developers"));
+
</ins></span></pre></div>
<a id="trunkdportskdekde4runtimefilespatchphononcmakelistsdiff"></a>
<div class="addfile"><h4>Added: trunk/dports/kde/kde4-runtime/files/patch-phonon-cmakelists.diff (0 => 135470)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/kde/kde4-runtime/files/patch-phonon-cmakelists.diff         (rev 0)
+++ trunk/dports/kde/kde4-runtime/files/patch-phonon-cmakelists.diff        2015-04-24 14:24:36 UTC (rev 135470)
</span><span class="lines">@@ -0,0 +1,66 @@
</span><ins>+diff --git phonon/CMakeLists.txt phonon/CMakeLists.txt
+index b6ba4ec..34b417f 100644
+--- phonon/CMakeLists.txt
++++ phonon/CMakeLists.txt
+@@ -47,12 +47,12 @@ else(KDEBASE_DISABLE_MULTIMEDIA)
+ endif(ALSA_VERSION_STR MATCHES "^1\\.(0\\.(1[4-9]|[2-9][0-9]+)|[1-9][0-9]*\\.)")
+ endif(ALSA_VERSION_STR AND NOT WIN32)
+ endif(ALSA_FOUND)
+- if(NOT WIN32)
++ if(NOT WIN32 AND NOT APPLE)
+ add_feature_info("Dmix and virtual device listing" HAVE_CURRENT_ALSA
+ "The ALSA library (http://www.alsa-project.org) is needed for building
+ some additional Phonon features"
+ )
+- endif(NOT WIN32)
++ endif(NOT WIN32 AND NOT APPLE)
+
+ add_subdirectory(kded-module)
+ add_subdirectory(platform_kde)
+
+diff --git phonon/kcm/CMakeLists.txt phonon/kcm/CMakeLists.txt
+index 3b421e0..2b3b604 100644
+--- phonon/kcm/CMakeLists.txt
++++ phonon/kcm/CMakeLists.txt
+@@ -1,21 +1,23 @@
+-macro_optional_find_package(PulseAudio 0.9.16)
+-set_package_properties(PulseAudio PROPERTIES DESCRIPTION "PulseAudio Audio Server"
+- URL "http://www.pulseaudio.org/"
+- TYPE OPTIONAL
+- PURPOSE "libpulse is needed for audio setup GUI"
+- )
+-
+-find_package(GLIB2)
+-set_package_properties(GLIB2 PROPERTIES DESCRIPTION "Low-level core library for data structure handling, portability wrappers, etc."
+- URL "http://www.gtk.org"
+- TYPE OPTIONAL
+- )
+-
+-pkg_check_modules(CANBERRA libcanberra)
+-add_feature_info ("Audio setup GUI" CANBERRA_FOUND
+- "libcanberra is needed for audio setup GUI
+- * http://0pointer.de/lennart/projects/libcanberra"
+- )
++if(NOT APPLE)
++ macro_optional_find_package(PulseAudio 0.9.16)
++ set_package_properties(PulseAudio PROPERTIES DESCRIPTION "PulseAudio Audio Server"
++ URL "http://www.pulseaudio.org/"
++ TYPE OPTIONAL
++ PURPOSE "libpulse is needed for audio setup GUI"
++ )
++
++ find_package(GLIB2)
++ set_package_properties(GLIB2 PROPERTIES DESCRIPTION "Low-level core library for data structure handling, portability wrappers, etc."
++ URL "http://www.gtk.org"
++ TYPE OPTIONAL
++ )
++
++ pkg_check_modules(CANBERRA libcanberra)
++ add_feature_info ("Audio setup GUI" CANBERRA_FOUND
++ "libcanberra is needed for audio setup GUI
++ * http://0pointer.de/lennart/projects/libcanberra"
++ )
++endif(NOT APPLE)
+
+ set(kcmphonon_SRCS main.cpp devicepreference.cpp backendselection.cpp)
+ kde4_add_ui_files(kcmphonon_SRCS devicepreference.ui backendselection.ui)
</ins></span></pre></div>
<a id="trunkdportskdekde4runtimefilespatchsupportforlldbdiff"></a>
<div class="addfile"><h4>Added: trunk/dports/kde/kde4-runtime/files/patch-support-for-lldb.diff (0 => 135470)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/kde/kde4-runtime/files/patch-support-for-lldb.diff         (rev 0)
+++ trunk/dports/kde/kde4-runtime/files/patch-support-for-lldb.diff        2015-04-24 14:24:36 UTC (rev 135470)
</span><span class="lines">@@ -0,0 +1,255 @@
</span><ins>+diff --git drkonqi/backtracegenerator.cpp drkonqi/backtracegenerator.cpp
+index 1107e11..8347ca6 100644
+--- drkonqi/backtracegenerator.cpp
++++ drkonqi/backtracegenerator.cpp
+@@ -94,6 +94,11 @@ bool BacktraceGenerator::start()
+ *m_proc << KShell::splitArgs(str);
+ m_proc->setOutputChannelMode(KProcess::OnlyStdoutChannel);
+ m_proc->setNextOpenMode(QIODevice::ReadWrite | QIODevice::Text);
++ QString stdinFile = m_debugger.backendValueOfParameter(QLatin1String("ExecInputFile"));
++ Debugger::expandString(stdinFile, Debugger::ExpansionUsageShell, m_temp->fileName());
++ if (!stdinFile.isEmpty()) {
++ m_proc->setStandardInputFile(stdinFile);
++ }
+ connect(m_proc, SIGNAL(readyReadStandardOutput()),
+ SLOT(slotReadInput()));
+ connect(m_proc, SIGNAL(finished(int,QProcess::ExitStatus)),
+diff --git drkonqi/data/debuggers/external/lldbrc drkonqi/data/debuggers/external/lldbrc
+new file mode 100644
+index 0000000..c8ef63b
+--- /dev/null
++++ drkonqi/data/debuggers/external/lldbrc
+@@ -0,0 +1,8 @@
++[General]
++Name=lldb
++TryExec=lldb
++Backends=KCrash
++
++[KCrash]
++Exec=konsole --nofork -e lldb -p %pid
++Terminal=true
+diff --git drkonqi/data/debuggers/internal/lldbrc drkonqi/data/debuggers/internal/lldbrc
+new file mode 100644
+index 0000000..1b44430
+--- /dev/null
++++ drkonqi/data/debuggers/internal/lldbrc
+@@ -0,0 +1,9 @@
++[General]
++Name=lldb
++TryExec=lldb
++Backends=KCrash
++
++[KCrash]
++Exec=lldb -p %pid
++ExecInputFile=%tempfile
++BatchCommands=set set term-width 200\nthread info\nbt all\ndetach\nquit
+diff --git drkonqi/debugger.cpp drkonqi/debugger.cpp
+index 26ca338..ce32a82 100644
+--- drkonqi/debugger.cpp
++++ drkonqi/debugger.cpp
+@@ -106,6 +106,15 @@ bool Debugger::runInTerminal() const
+ }
+ }
+
++QString Debugger::backendValueOfParameter(const QString &key) const
++{
++ if (!isValid() || !m_config->hasGroup(m_backend)) {
++ return QString();
++ } else {
++ return m_config->group(m_backend).readEntry(key, QString());
++ }
++}
++
+ //static
+ void Debugger::expandString(QString & str, ExpandStringUsage usage, const QString & tempFile)
+ {
+diff --git drkonqi/debugger.h drkonqi/debugger.h
+index 1451397..4de773a 100644
+--- drkonqi/debugger.h
++++ drkonqi/debugger.h
+@@ -70,6 +70,8 @@ public:
+ /** If this is an external debugger, it returns whether it should be run in a terminal or not */
+ bool runInTerminal() const;
+
++ /** Returns the value of the arbitrary configuration parameter @param key, or an empty QString if @param key isn't defined */
++ QString backendValueOfParameter(const QString &key) const;
+
+ enum ExpandStringUsage {
+ ExpansionUsagePlainText,
+diff --git drkonqi/drkonqibackends.cpp drkonqi/drkonqibackends.cpp
+index 064d07d..90de626 100644
+--- drkonqi/drkonqibackends.cpp
++++ drkonqi/drkonqibackends.cpp
+@@ -38,6 +38,10 @@
+ #include "debuggermanager.h"
+ #include "backtracegenerator.h"
+
++#ifdef Q_OS_MAC
++#include <AvailabilityMacros.h>
++#endif
++
+ AbstractDrKonqiBackend::~AbstractDrKonqiBackend()
+ {
+ }
+@@ -168,7 +172,9 @@ DebuggerManager *KCrashBackend::constructDebuggerManager()
+ {
+ QList<Debugger> internalDebuggers = Debugger::availableInternalDebuggers("KCrash");
+ KConfigGroup config(KGlobal::config(), "DrKonqi");
+-#ifndef Q_OS_WIN
++#if defined(__MAC_OS_X_VERSION_MAX_ALLOWED) && __MAC_OS_X_VERSION_MAX_ALLOWED > 1070
++ QString defaultDebuggerName = config.readEntry("Debugger", QString("lldb"));
++#elif !defined(Q_OS_WIN)
+ QString defaultDebuggerName = config.readEntry("Debugger", QString("gdb"));
+ #else
+ QString defaultDebuggerName = config.readEntry("Debugger", QString("kdbgwin"));
+diff --git drkonqi/parser/CMakeLists.txt drkonqi/parser/CMakeLists.txt
+index d08d0d7..e6e3a8c 100644
+--- drkonqi/parser/CMakeLists.txt
++++ drkonqi/parser/CMakeLists.txt
+@@ -3,6 +3,7 @@ set(BACKTRACEPARSER_SRCS
+ backtraceparsergdb.cpp
+ backtraceparserkdbgwin.cpp
+ backtraceparsernull.cpp
++ backtraceparserlldb.cpp
+ )
+
+ kde4_add_library(drkonqi_backtrace_parser STATIC ${BACKTRACEPARSER_SRCS})
+diff --git drkonqi/parser/backtraceparser.cpp drkonqi/parser/backtraceparser.cpp
+index 7f62c97..10d863b 100644
+--- drkonqi/parser/backtraceparser.cpp
++++ drkonqi/parser/backtraceparser.cpp
+@@ -18,6 +18,7 @@
+ #include "backtraceparser_p.h"
+ #include "backtraceparsergdb.h"
+ #include "backtraceparserkdbgwin.h"
++#include "backtraceparserlldb.h"
+ #include "backtraceparsernull.h"
+ #include <QtCore/QRegExp>
+ #include <QtCore/QMetaEnum>
+@@ -30,6 +31,8 @@ BacktraceParser *BacktraceParser::newParser(const QString & debuggerName, QObjec
+ return new BacktraceParserGdb(parent);
+ } else if (debuggerName == "kdbgwin") {
+ return new BacktraceParserKdbgwin(parent);
++ } else if (debuggerName == "lldb") {
++ return new BacktraceParserLldb(parent);
+ } else {
+ return new BacktraceParserNull(parent);
+ }
+@@ -198,6 +201,10 @@ static bool lineShouldBeIgnored(const BacktraceLine & line)
+ || line.functionName().startsWith(QLatin1String("*__GI_")) //glibc2.9 uses *__GI_ as prefix
+ || line.libraryName().contains("libpthread.so")
+ || line.libraryName().contains("libglib-2.0.so")
++#ifdef Q_OS_MAC
++ || (line.libraryName().startsWith(QLatin1String("libsystem_")) && line.libraryName().endsWith(QLatin1String(".dylib")))
++ || line.libraryName().contains(QLatin1String("Foundation`"))
++#endif
+ || line.libraryName().contains("ntdll.dll")
+ || line.libraryName().contains("kernel32.dll")
+ || line.functionName().contains("_tmain")
+diff --git drkonqi/parser/backtraceparserlldb.cpp drkonqi/parser/backtraceparserlldb.cpp
+new file mode 100644
+index 0000000..914c12f
+--- /dev/null
++++ drkonqi/parser/backtraceparserlldb.cpp
+@@ -0,0 +1,59 @@
++/*
++ Copyright (C) 2014 René J.V. Bertin <rjvbertin@gmail.com>
++
++ This program is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation; either version 2 of the License, or
++ (at your option) any later version.
++
++ This program is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU General Public License for more details.
++
++ You should have received a copy of the GNU General Public License along
++ with this program; if not, write to the Free Software Foundation, Inc.,
++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
++*/
++#include "backtraceparserlldb.h"
++#include "backtraceparser_p.h"
++
++//BEGIN BacktraceParserLldb
++
++class BacktraceLineLldb : public BacktraceLine
++{
++public:
++ BacktraceLineLldb(const QString & line);
++};
++
++BacktraceLineLldb::BacktraceLineLldb(const QString & line)
++ : BacktraceLine()
++{
++ d->m_line = line;
++ // For now we'll have faith that lldb provides useful information, and that it would
++ // be unwarranted to give it a rating of "MissingEverything".
++ d->m_rating = Good;
++}
++
++//END BacktraceLineLldb
++
++//BEGIN BacktraceParserLldb
++
++BacktraceParserLldb::BacktraceParserLldb(QObject *parent) : BacktraceParser(parent) {}
++
++BacktraceParserPrivate *BacktraceParserLldb::constructPrivate() const
++{
++ BacktraceParserPrivate *d = BacktraceParser::constructPrivate();
++ d->m_usefulness = MayBeUseful;
++ return d;
++}
++
++void BacktraceParserLldb::newLine(const QString & lineStr)
++{
++ d_ptr->m_linesList.append(BacktraceLineLldb(lineStr));
++}
++
++
++//END BacktraceParserLldb
++
++#include "backtraceparserlldb.moc"
+diff --git drkonqi/parser/backtraceparserlldb.h drkonqi/parser/backtraceparserlldb.h
+new file mode 100644
+index 0000000..8ac7dd7
+--- /dev/null
++++ drkonqi/parser/backtraceparserlldb.h
+@@ -0,0 +1,36 @@
++/*
++ Copyright (C) 2014 René J.V. Bertin <rjvbertin@gmail.com>
++
++ This program is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation; either version 2 of the License, or
++ (at your option) any later version.
++
++ This program is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU General Public License for more details.
++
++ You should have received a copy of the GNU General Public License along
++ with this program; if not, write to the Free Software Foundation, Inc.,
++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
++*/
++#ifndef BACKTRACEPARSERLLDB_H
++#define BACKTRACEPARSERLLDB_H
++
++#include "backtraceparser.h"
++
++class BacktraceParserLldb : public BacktraceParser
++{
++ Q_OBJECT
++public:
++ explicit BacktraceParserLldb(QObject *parent = 0);
++
++protected Q_SLOTS:
++ virtual void newLine(const QString & lineStr);
++
++protected:
++ virtual BacktraceParserPrivate *constructPrivate() const;
++};
++
++#endif // BACKTRACEPARSERLLDB_H
</ins></span></pre>
</div>
</div>
</body>
</html>