extra/qtcreator to 4.9.0-3

This commit is contained in:
Kevin Mihelich 2019-05-08 00:02:29 +00:00
parent fb08e63bd0
commit 67efda1621
2 changed files with 29 additions and 17 deletions

View file

@ -14,13 +14,13 @@ buildarch=12
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'
@ -36,7 +36,7 @@ source=("https://download.qt.io/official_releases/qtcreator/${pkgver%.*}/$pkgver
qtcreator-preload-plugins.patch)
sha256sums=('46ee1992531b769450f8be96cf63520b609d7dd305df345d7cd8216ac396e6a8'
'1f6998fea92b9a157f42cca783839ce95f70ccc667027078b7881cbb253838f0'
'0e59c98c02d46f93275dda2b22216a0ba467104f0151f35c88ae2172c3858b03')
'150c444e76ec969fc8765774b648984037829623300d0ce9d41a915b2afa792d')
prepare() {
mkdir -p build
@ -46,12 +46,12 @@ prepare() {
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() {
@ -73,4 +73,7 @@ package() {
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
}

View file

@ -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",