Date: Tuesday, May 7, 2019 @ 18:22:05 Author: arojas Revision: 352732
Link ClazyPlugin in clangbackend instead of preloading Modified: qtcreator/trunk/PKGBUILD qtcreator/trunk/qtcreator-preload-plugins.patch ---------------------------------+ PKGBUILD | 13 ++++++++----- qtcreator-preload-plugins.patch | 33 +++++++++++++++++++++------------ 2 files changed, 29 insertions(+), 17 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2019-05-07 18:20:35 UTC (rev 352731) +++ PKGBUILD 2019-05-07 18:22:05 UTC (rev 352732) @@ -9,13 +9,13 @@ pkgname=qtcreator pkgver=4.9.0 _clangver=8.0.0 -pkgrel=2 +pkgrel=3 pkgdesc='Lightweight, cross-platform integrated development environment' arch=(x86_64) url='https://www.qt.io' license=(LGPL) depends=(qt5-tools qt5-quickcontrols qt5-quickcontrols2 qt5-webengine clang=$_clangver qbs clazy syntax-highlighting desktop-file-utils) -makedepends=(llvm python) +makedepends=(llvm python patchelf) options=(docs) optdepends=('qt5-doc: integrated Qt documentation' 'qt5-examples: welcome page examples' @@ -32,7 +32,7 @@ qtcreator-preload-plugins.patch) sha256sums=('46ee1992531b769450f8be96cf63520b609d7dd305df345d7cd8216ac396e6a8' '1f6998fea92b9a157f42cca783839ce95f70ccc667027078b7881cbb253838f0' - '0e59c98c02d46f93275dda2b22216a0ba467104f0151f35c88ae2172c3858b03') + '150c444e76ec969fc8765774b648984037829623300d0ce9d41a915b2afa792d') prepare() { mkdir -p build @@ -42,12 +42,12 @@ sed -e 's|libexec\/qtcreator|lib\/qtcreator|g' -i qtcreator.pri # use system qbs rm -r src/shared/qbs + # Adapt to clazy 1.5 plugin rename + patch -p1 -i ../qtcreator-clazy-1.5.patch # Preload analyzer plugins, since upstream clang doesn't link to all plugins # see http://code.qt.io/cgit/clang/clang.git/commit/?id=7f349701d3ea0c47be3a43e265699dddd3fd55cf # and https://bugs.archlinux.org/task/59492 patch -p1 -i ../qtcreator-preload-plugins.patch - # Adapt to clazy 1.5 plugin rename - patch -p1 -i ../qtcreator-clazy-1.5.patch } build() { @@ -69,4 +69,7 @@ make INSTALL_ROOT="$pkgdir/usr/" install_docs install -Dm644 "$srcdir"/qt-creator-opensource-src-$pkgver/LICENSE.GPL3-EXCEPT "$pkgdir"/usr/share/licenses/qtcreator/LICENSE.GPL3-EXCEPT + +# Link clazy plugin explicitely + patchelf --add-needed ClazyPlugin.so "$pkgdir"/usr/lib/qtcreator/clangbackend } Modified: qtcreator-preload-plugins.patch =================================================================== --- qtcreator-preload-plugins.patch 2019-05-07 18:20:35 UTC (rev 352731) +++ qtcreator-preload-plugins.patch 2019-05-07 18:22:05 UTC (rev 352732) @@ -1,12 +1,21 @@ -diff --git a/dist/org.qt-project.qtcreator.desktop b/dist/org.qt-project.qtcreator.desktop -index 034721891d..93351f28da 100644 ---- a/dist/org.qt-project.qtcreator.desktop -+++ b/dist/org.qt-project.qtcreator.desktop -@@ -1,6 +1,6 @@ - [Desktop Entry] - Type=Application --Exec=qtcreator %F -+Exec=LD_PRELOAD=ClazyPlugin.so:libclangTidyPlugin.so qtcreator %F - Name=Qt Creator - GenericName=C++ IDE for developing Qt applications - X-KDE-StartupNotify=true +diff --git a/src/plugins/clangtools/clangtidyclazyrunner.cpp b/src/plugins/clangtools/clangtidyclazyrunner.cpp +index a580704243..7a8740a5cc 100644 +--- a/src/plugins/clangtools/clangtidyclazyrunner.cpp ++++ b/src/plugins/clangtools/clangtidyclazyrunner.cpp +@@ -76,6 +76,7 @@ QStringList ClangTidyClazyRunner::constructCommandLineArguments(const QStringLis + + const ClangDiagnosticConfig::TidyMode tidyMode = m_diagnosticConfig.clangTidyMode(); + if (tidyMode != ClangDiagnosticConfig::TidyMode::Disabled) { ++ arguments << XclangArgs({"-load", "libclangTidyPlugin.so"}); + arguments << XclangArgs({"-add-plugin", "clang-tidy"}); + if (tidyMode != ClangDiagnosticConfig::TidyMode::File) { + const QString tidyChecks = m_diagnosticConfig.clangTidyChecks(); +@@ -85,7 +86,7 @@ QStringList ClangTidyClazyRunner::constructCommandLineArguments(const QStringLis + + const QString clazyChecks = m_diagnosticConfig.clazyChecks(); + if (!clazyChecks.isEmpty()) { +- arguments << XclangArgs({"-add-plugin", ++ arguments << XclangArgs({"-load", "ClazyPlugin.so", "-add-plugin", + "clazy", + "-plugin-arg-clazy", + "enable-all-fixits",
