extra/qtcreator to 4.9.0-2

This commit is contained in:
Kevin Mihelich 2019-05-06 19:03:20 +00:00
parent f480e8e3fd
commit 8c5c9fd023
3 changed files with 21 additions and 69 deletions

View file

@ -14,7 +14,7 @@ buildarch=12
pkgname=qtcreator pkgname=qtcreator
pkgver=4.9.0 pkgver=4.9.0
_clangver=8.0.0 _clangver=8.0.0
pkgrel=1 pkgrel=2
pkgdesc='Lightweight, cross-platform integrated development environment' pkgdesc='Lightweight, cross-platform integrated development environment'
arch=(x86_64) arch=(x86_64)
url='https://www.qt.io' url='https://www.qt.io'
@ -32,9 +32,11 @@ optdepends=('qt5-doc: integrated Qt documentation'
'mercurial: mercurial support' 'mercurial: mercurial support'
'bzr: bazaar support') 'bzr: bazaar support')
source=("https://download.qt.io/official_releases/qtcreator/${pkgver%.*}/$pkgver/qt-creator-opensource-src-$pkgver.tar.xz" source=("https://download.qt.io/official_releases/qtcreator/${pkgver%.*}/$pkgver/qt-creator-opensource-src-$pkgver.tar.xz"
qtcreator-clang-plugins.patch) qtcreator-clazy-1.5.patch
qtcreator-preload-plugins.patch)
sha256sums=('46ee1992531b769450f8be96cf63520b609d7dd305df345d7cd8216ac396e6a8' sha256sums=('46ee1992531b769450f8be96cf63520b609d7dd305df345d7cd8216ac396e6a8'
'149ffcd0ab7c53605951c66dba707ff7e0dc17136c921f1a668fc392c5a7f3f2') '1f6998fea92b9a157f42cca783839ce95f70ccc667027078b7881cbb253838f0'
'0e59c98c02d46f93275dda2b22216a0ba467104f0151f35c88ae2172c3858b03')
prepare() { prepare() {
mkdir -p build mkdir -p build
@ -44,10 +46,12 @@ prepare() {
sed -e 's|libexec\/qtcreator|lib\/qtcreator|g' -i qtcreator.pri sed -e 's|libexec\/qtcreator|lib\/qtcreator|g' -i qtcreator.pri
# use system qbs # use system qbs
rm -r src/shared/qbs rm -r src/shared/qbs
# Load analyzer plugins on demand, since upstream clang doesn't link to all plugins # Preload analyzer plugins, since upstream clang doesn't link to all plugins
# see http://code.qt.io/cgit/clang/clang.git/commit/?id=7f349701d3ea0c47be3a43e265699dddd3fd55cf # see http://code.qt.io/cgit/clang/clang.git/commit/?id=7f349701d3ea0c47be3a43e265699dddd3fd55cf
# and https://bugs.archlinux.org/task/59492 # and https://bugs.archlinux.org/task/59492
patch -p1 -i ../qtcreator-clang-plugins.patch patch -p1 -i ../qtcreator-preload-plugins.patch
# Adapt to clazy 1.5 plugin rename
patch -p1 -i ../qtcreator-clazy-1.5.patch
} }
build() { build() {

View file

@ -1,64 +0,0 @@
diff --git a/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp b/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp
index 706c5101a3..dbfaeb8457 100644
--- a/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp
+++ b/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp
@@ -511,6 +511,7 @@ private:
if (tidyMode == Mode::Disabled)
return;
+ m_options.append(CppTools::XclangArgs({"-load", "libclangTidyPlugin.so"}));
m_options.append(CppTools::XclangArgs({"-add-plugin", "clang-tidy"}));
if (tidyMode == Mode::File)
@@ -526,15 +527,15 @@ private:
if (checks.isEmpty())
return;
- m_options.append(CppTools::XclangArgs({"-add-plugin",
- "clang-lazy",
- "-plugin-arg-clang-lazy",
+ m_options.append(CppTools::XclangArgs({"-load", "ClazyPlugin.so", "-add-plugin",
+ "clazy",
+ "-plugin-arg-clazy",
"enable-all-fixits",
- "-plugin-arg-clang-lazy",
+ "-plugin-arg-clazy",
"no-autowrite-fixits",
- "-plugin-arg-clang-lazy",
+ "-plugin-arg-clazy",
checks,
- "-plugin-arg-clang-lazy",
+ "-plugin-arg-clazy",
"ignore-included-files"}));
}
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,13 +86,13 @@ 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",
"clang-lazy",
- "-plugin-arg-clang-lazy",
+ "-plugin-arg-clazy",
"enable-all-fixits",
- "-plugin-arg-clang-lazy",
+ "-plugin-arg-clazy",
"no-autowrite-fixits",
- "-plugin-arg-clang-lazy",
+ "-plugin-arg-clazy",
m_diagnosticConfig.clazyChecks()});
}

View file

@ -0,0 +1,12 @@
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