summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>2021-02-13 18:30:46 +0100
committerDenis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>2021-02-14 13:07:53 +0100
commite0a236ce2aaf35673906212a7bcc3ab09ec71de6 (patch)
treedeffc334677ade4909233f22345c779ff763580c
parentce9e323e4ce59976339d2b458101ea3eb8f2718a (diff)
libre: qtcreator: sync from core from 4.12.4-1 to 4.14.0-4
libre.patch seem not to be needed anymore, as merely not having the qt5-webengine dependency during build and/or not having any support for qt5-webengine in various Qt components is enough to build qtcreator. Builds without qt5-webengine seem to be used for running tests. The tests/system/README file inside the qt5-webengine source code has more information on that. The qtcreator package still needs to be tested at runtime to understand if removing the libre.patch has any bad side effects. Without that patch, qtcreator cannot be installed anymore: # pacman -S qtcreator resolving dependencies... warning: cannot resolve "clang=10.0.1", a dependency of "qtcreator" :: The following package cannot be upgraded due to unresolvable dependencies: qtcreator :: Do you want to skip the above package for this upgrade? [y/N] and building a package without the refreshed patch would make it easier for people to test if it works fine. As the patch is pretty easy to refresh it shouldn't be too much time consuming to refresh it if it turns out that it is really needed. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
-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()});
- }