[arch-commits] Commit in qtcreator/trunk (PKGBUILD qtcreator-clang-plugins.patch)

Antonio Rojas arojas at archlinux.org
Sun Aug 26 08:43:41 UTC 2018


    Date: Sunday, August 26, 2018 @ 08:43:40
  Author: arojas
Revision: 333020

Load analyzer plugins on demand (FS#59492)

Added:
  qtcreator/trunk/qtcreator-clang-plugins.patch
Modified:
  qtcreator/trunk/PKGBUILD

-------------------------------+
 PKGBUILD                      |   17 +++++++++++------
 qtcreator-clang-plugins.patch |   40 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 51 insertions(+), 6 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2018-08-26 00:20:00 UTC (rev 333019)
+++ PKGBUILD	2018-08-26 08:43:40 UTC (rev 333020)
@@ -10,12 +10,12 @@
 pkgname=qtcreator
 pkgver=4.7.0
 _clangver=6.0.1
-pkgrel=1
+pkgrel=2
 pkgdesc='Lightweight, cross-platform integrated development environment'
 arch=(x86_64)
 url='http://qt-project.org'
 license=(LGPL)
-depends=(qt5-tools qt5-quickcontrols qt5-quickcontrols2 qt5-webengine clang=$_clangver qbs)
+depends=(qt5-tools qt5-quickcontrols qt5-quickcontrols2 qt5-webengine clang=$_clangver qbs clazy)
 makedepends=(git mesa llvm)
 options=(docs)
 optdepends=('qt5-doc: integrated Qt documentation'
@@ -27,10 +27,11 @@
             'git: git support'
             'mercurial: mercurial support'
             'bzr: bazaar support'
-            'valgrind: analyze support'
-            'clazy: code analyzer')
-source=("http://download.qt.io/official_releases/qtcreator/${pkgver%.*}/$pkgver/qt-creator-opensource-src-$pkgver.tar.xz")
-sha256sums=('4b19870bf8d43665deac73a0522a1459d19f5b18b6f52030bb7fbc82d90b759b')
+            'valgrind: analyze support')
+source=("http://download.qt.io/official_releases/qtcreator/${pkgver%.*}/$pkgver/qt-creator-opensource-src-$pkgver.tar.xz"
+        qtcreator-clang-plugins.patch)
+sha256sums=('4b19870bf8d43665deac73a0522a1459d19f5b18b6f52030bb7fbc82d90b759b'
+            '6f19fc9d83964a5460d224b3d44ce580553847960181fe0364e2ce26e1efd2e6')
 
 prepare() {
   mkdir -p build
@@ -40,6 +41,10 @@
   sed -e 's|libexec\/qtcreator|lib\/qtcreator|g' -i qtcreator.pri
   # use system qbs
   rm -r src/shared/qbs
+  # Load analyzer plugins on demand, 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-clang-plugins.patch
 }
 
 build() {

Added: qtcreator-clang-plugins.patch
===================================================================
--- qtcreator-clang-plugins.patch	                        (rev 0)
+++ qtcreator-clang-plugins.patch	2018-08-26 08:43:40 UTC (rev 333020)
@@ -0,0 +1,40 @@
+diff --git a/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp b/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp
+index 25054f14ec..b0e17c3260 100644
+--- a/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp
++++ b/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp
+@@ -524,6 +524,7 @@ private:
+         if (tidyMode == Mode::Disabled)
+             return;
+ 
++        addXclangArg("-load", "libclangTidyPlugin.so");
+         addXclangArg("-add-plugin", "clang-tidy");
+ 
+         if (tidyMode == Mode::File)
+@@ -539,6 +540,7 @@ private:
+         if (checks.isEmpty())
+             return;
+ 
++        addXclangArg("-load", "ClangLazy.so");
+         addXclangArg("-add-plugin", "clang-lazy");
+         addXclangArg("-plugin-arg-clang-lazy", "enable-all-fixits");
+         addXclangArg("-plugin-arg-clang-lazy", "no-autowrite-fixits");
+diff --git a/src/plugins/clangtools/clangtidyclazyrunner.cpp b/src/plugins/clangtools/clangtidyclazyrunner.cpp
+index d91724392e..75e1692f49 100644
+--- a/src/plugins/clangtools/clangtidyclazyrunner.cpp
++++ b/src/plugins/clangtools/clangtidyclazyrunner.cpp
+@@ -83,6 +83,7 @@ QStringList ClangTidyClazyRunner::constructCommandLineArguments(const QStringLis
+ 
+     const ClangDiagnosticConfig::TidyMode tidyMode = m_diagnosticConfig.clangTidyMode();
+     if (tidyMode != ClangDiagnosticConfig::TidyMode::Disabled) {
++        addXclangArg(arguments, QString("-load"), QString("libclangTidyPlugin.so"));
+         addXclangArg(arguments, QString("-add-plugin"), QString("clang-tidy"));
+         if (tidyMode != ClangDiagnosticConfig::TidyMode::File) {
+             const QString tidyChecks = m_diagnosticConfig.clangTidyChecks();
+@@ -92,6 +93,7 @@ QStringList ClangTidyClazyRunner::constructCommandLineArguments(const QStringLis
+ 
+     const QString clazyChecks = m_diagnosticConfig.clazyChecks();
+     if (!clazyChecks.isEmpty()) {
++        addXclangArg(arguments, QString("-load"), QString("ClangLazy.so"));
+         addXclangArg(arguments, QString("-add-plugin"), QString("clang-lazy"));
+         addXclangArg(arguments, QString("-plugin-arg-clang-lazy"), QString("enable-all-fixits"));
+         addXclangArg(arguments, QString("-plugin-arg-clang-lazy"), QString("no-autowrite-fixits"));



More information about the arch-commits mailing list