[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