summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libre/qtcreator/PKGBUILD75
-rw-r--r--libre/qtcreator/qtcreator-clang-libs.patch24
-rw-r--r--libre/qtcreator/qtcreator-fix-clang-paths.patch15
-rw-r--r--libre/qtcreator/qtcreator-preload-plugins.patch13
4 files changed, 41 insertions, 86 deletions
diff --git a/libre/qtcreator/PKGBUILD b/libre/qtcreator/PKGBUILD
index 0e8354d87..265c6600d 100644
--- a/libre/qtcreator/PKGBUILD
+++ b/libre/qtcreator/PKGBUILD
@@ -1,6 +1,5 @@
-# Maintainer (Arch): Sven-Hendrik Haase <sh@lutzhaase.com>
# Maintainer (Arch): Antonio Rojas <arojas@archlinux.org>
-# Contributor (Arch): Imanol Celaya <ornitorrincos@archlinux-es.org>
+# Contributor (Arch): Sven-Hendrik Haase <sh@lutzhaase.com># Contributor (Arch): Imanol Celaya <ornitorrincos@archlinux-es.org>
# Contributor (Arch): Lukas Jirkovsky <l.jirkovsky@gmail.com>
# Contributor (Arch): Dan Vratil <progdan@progdansoft.com>
# Contributor (Arch): thotypous <matiasΘarchlinux-br·org>
@@ -15,9 +14,9 @@
pkgname=qtcreator
-pkgver=4.12.4
-_clangver=10.0.1
-pkgrel=1
+pkgver=4.14.0
+_clangver=11.0.1
+pkgrel=4
pkgrel+=.parabola1
pkgdesc='Lightweight, cross-platform integrated development environment'
pkgdesc+=', without nonfree qt5-webengine help viewer'
@@ -25,15 +24,17 @@ arch=(x86_64)
arch+=(i686 armv7h)
url='https://www.qt.io'
license=(LGPL)
-depends=(qt5-tools qt5-quickcontrols qt5-quickcontrols2 qt5-webengine clang=$_clangver qbs clazy syntax-highlighting yaml-cpp desktop-file-utils)
+depends=(qt5-tools qt5-quickcontrols qt5-quickcontrols2 qt5-webengine qt5-svg qt5-quick3d qt5-serialport
+ clang=$_clangver clazy syntax-highlighting yaml-cpp)
depends=( $( sed -E 's/(qt5-webengine|yaml-cpp)//g' <<<${depends[@]} ) )
-makedepends=(llvm python patchelf)
-options=(docs !strip) # https://bugs.archlinux.org/task/66078
+makedepends=(cmake llvm python)
+options=(docs)
optdepends=('qt5-doc: integrated Qt documentation'
'qt5-examples: welcome page examples'
'qt5-translations: for other languages'
'gdb: debugger'
'cmake: cmake project support'
+ 'qbs: QBS project support'
'x11-ssh-askpass: ssh support'
'git: git support'
'mercurial: mercurial support'
@@ -41,56 +42,32 @@ optdepends=('qt5-doc: integrated Qt documentation'
'valgrind: analyze support'
'perf: performer analyzer')
source=("https://download.qt.io/official_releases/qtcreator/${pkgver%.*}/$pkgver/qt-creator-opensource-src-$pkgver.tar.xz"
- qtcreator-preload-plugins.patch
- qtcreator-clang-libs.patch)
-source+=(libre.patch)
-sha256sums=('3f47d83344476b172f0c51a2351f5a9d8ce8dd8dd2eea827a52276763471b97a'
- 'b40e222b30c355d1230160a4e933dbd161b8748125662e3bde312ea52296457a'
- '0f6d0dc41a87aae9ef371b1950f5b9d823db8b5685c6ac04a7a7ac133eb19a3f')
-sha256sums+=('fb3bda8aca0637fb36122706ee06ba051dcda29a2f480ff3053b4ced1c009cc4')
+ qtcreator-fix-clang-paths.patch)
+sha256sums=('d240109351e96446ff149cbd56341ec02ba37bfa50462a85e4d02dfe6b21201e'
+ 'eaaa001d3b2705ca2bdfafca5ffce7919baed8726c50113ae03e1d97da5b8c8d')
prepare() {
- mkdir -p build
-
cd qt-creator-opensource-src-$pkgver
- # fix hardcoded libexec path
- sed -e 's|libexec\/qtcreator|lib\/qtcreator|g' -i qtcreator.pri
- sed -e 's|libexec|lib|g' -i src/tools/tools.pro
- # use system qbs
- rm -r src/shared/qbs
- # 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
- # Fix build with clang 10
- patch -p1 -i ../qtcreator-clang-libs.patch
-
- # remove qt5-webengine support
- patch -Np1 -i "$srcdir"/libre.patch
- rm -rv src/plugins/help/webenginehelpviewer.{cpp,h}
+# use system qbs
+ rm -r src/shared/qbs
+# Fix linking to clang
+ sed -e 's|clangFormat|clang-cpp|' -i src/plugins/clangformat/CMakeLists.txt
+# Fix libexec path
+ sed -e 's|libexec/qtcreator|lib/qtcreator|' -i cmake/QtCreatorAPIInternal.cmake
+# Fix clang include path
+ patch -p1 -i ../qtcreator-fix-clang-paths.patch
}
build() {
- cd build
-
- qmake LLVM_INSTALL_DIR=/usr QBS_INSTALL_DIR=/usr \
- KSYNTAXHIGHLIGHTING_LIB_DIR=/usr/lib KSYNTAXHIGHLIGHTING_INCLUDE_DIR=/usr/include/KF5/KSyntaxHighlighting \
- CONFIG+=journald QMAKE_CFLAGS_ISYSTEM=-I \
- DEFINES+=QBS_ENABLE_PROJECT_FILE_UPDATES \
- "$srcdir"/qt-creator-opensource-src-$pkgver/qtcreator.pro
- make
- make docs
+ cmake -B build -S qt-creator-opensource-src-$pkgver \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DWITH_DOCS=ON
+ cmake --build build
}
package() {
- cd build
-
- make INSTALL_ROOT="$pkgdir/usr/" install
- 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
+ DESTDIR="$pkgdir" cmake --install build
-# Link clazy plugin explicitely
- patchelf --add-needed ClazyPlugin.so "$pkgdir"/usr/lib/qtcreator/clangbackend
+ install -Dm644 qt-creator-opensource-src-$pkgver/LICENSE.GPL3-EXCEPT "$pkgdir"/usr/share/licenses/qtcreator/LICENSE.GPL3-EXCEPT
}
diff --git a/libre/qtcreator/qtcreator-clang-libs.patch b/libre/qtcreator/qtcreator-clang-libs.patch
deleted file mode 100644
index a0cc8c547..000000000
--- a/libre/qtcreator/qtcreator-clang-libs.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/src/shared/clang/clang_installation.pri b/src/shared/clang/clang_installation.pri
-index 08838838bc..bee3779484 100644
---- a/src/shared/clang/clang_installation.pri
-+++ b/src/shared/clang/clang_installation.pri
-@@ -131,9 +131,7 @@ defineReplace(extractWarnings) {
- return($$result)
- }
-
--CLANGTOOLING_LIBS=-lclangTooling -lclangIndex -lclangFrontend -lclangParse -lclangSerialization \
-- -lclangSema -lclangEdit -lclangAnalysis -lclangDriver -lclangDynamicASTMatchers \
-- -lclangASTMatchers -lclangToolingCore -lclangAST -lclangLex -lclangBasic
-+CLANGTOOLING_LIBS=-lclang-cpp
- win32:CLANGTOOLING_LIBS += -lversion
-
- BIN_EXTENSION =
-@@ -207,7 +205,7 @@ isEmpty(LLVM_VERSION) {
- isEmpty(QTC_CLANG_BUILDMODE_MISMATCH)|!equals(QTC_CLANG_BUILDMODE_MISMATCH, 1) {
- CLANGFORMAT_MAIN_HEADER = $$LLVM_INCLUDEPATH/clang/Format/Format.h
- exists($$CLANGFORMAT_MAIN_HEADER) {
-- CLANGFORMAT_LIBS=-lclangFormat -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangLex -lclangBasic
-+ CLANGFORMAT_LIBS=-lclang-cpp
- ALL_CLANG_LIBS=-lclangFormat -lclangToolingInclusions -lclangTooling -lclangToolingCore \
- -lclangRewrite -lclangIndex -lclangFrontend -lclangParse -lclangSerialization \
- -lclangSema -lclangEdit -lclangAnalysis -lclangDriver -lclangDynamicASTMatchers \
diff --git a/libre/qtcreator/qtcreator-fix-clang-paths.patch b/libre/qtcreator/qtcreator-fix-clang-paths.patch
new file mode 100644
index 000000000..84a0a43f6
--- /dev/null
+++ b/libre/qtcreator/qtcreator-fix-clang-paths.patch
@@ -0,0 +1,15 @@
+diff --git a/src/libs/clangsupport/CMakeLists.txt b/src/libs/clangsupport/CMakeLists.txt
+index dcaa464710..01cf7580b7 100644
+--- a/src/libs/clangsupport/CMakeLists.txt
++++ b/src/libs/clangsupport/CMakeLists.txt
+@@ -5,8 +5,8 @@ add_qtc_library(ClangSupport
+ PUBLIC_DEPENDS Utils Sqlite Qt5::Core Qt5::Network
+ PUBLIC_DEFINES
+ CLANG_VERSION="${CLANG_VERSION}"
+- CLANG_INCLUDE_DIR="${IDE_LIBEXEC_PATH}/clang/lib/clang/${CLANG_VERSION}/include"
+- CLANG_BINDIR="${IDE_LIBEXEC_PATH}/clang/bin"
++ CLANG_INCLUDE_DIR="/usr/lib/clang/${CLANG_VERSION}/include"
++ CLANG_BINDIR="/usr/bin"
+ DEFINES CLANGSUPPORT_BUILD_LIB
+ PUBLIC_INCLUDES
+ "${CMAKE_CURRENT_LIST_DIR}"
diff --git a/libre/qtcreator/qtcreator-preload-plugins.patch b/libre/qtcreator/qtcreator-preload-plugins.patch
deleted file mode 100644
index d4ec515fe..000000000
--- a/libre/qtcreator/qtcreator-preload-plugins.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/plugins/clangtools/clangtidyclazyrunner.cpp b/src/plugins/clangtools/clangtidyclazyrunner.cpp
-index 166d1c94e0..de0b9cc67b 100644
---- a/src/plugins/clangtools/clangtidyclazyrunner.cpp
-+++ b/src/plugins/clangtools/clangtidyclazyrunner.cpp
-@@ -67,7 +67,7 @@ static QStringList clazyPluginArguments(const ClangDiagnosticConfig diagnosticCo
- QStringList arguments;
-
- if (diagnosticConfig.isClazyEnabled()) {
-- arguments << XclangArgs({"-add-plugin", "clazy"});
-+ arguments << XclangArgs({"-load", "ClazyPlugin.so", "-add-plugin", "clazy"});
- if (!diagnosticConfig.clazyChecks().isEmpty())
- arguments << XclangArgs({"-plugin-arg-clazy", diagnosticConfig.clazyChecks()});
- }