blob: 0e8354d872a38e02158c3eca15b9a61a99dae3b6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
# 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): Lukas Jirkovsky <l.jirkovsky@gmail.com>
# Contributor (Arch): Dan Vratil <progdan@progdansoft.com>
# Contributor (Arch): thotypous <matiasΘarchlinux-br·org>
# Contributor (Arch): delor <bartekpiech gmail com>
# Maintainer: bill-auger <bill-auger@programmer.net>
# Contributor: André Silva <emulatorman@hyperbola.info>
# Contributor: Theo von Arx <theova@member.fsf.org>
# parabola changes and rationale:
# - removed support for qt5-webengine
pkgname=qtcreator
pkgver=4.12.4
_clangver=10.0.1
pkgrel=1
pkgrel+=.parabola1
pkgdesc='Lightweight, cross-platform integrated development environment'
pkgdesc+=', without nonfree qt5-webengine help viewer'
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=( $( sed -E 's/(qt5-webengine|yaml-cpp)//g' <<<${depends[@]} ) )
makedepends=(llvm python patchelf)
options=(docs !strip) # https://bugs.archlinux.org/task/66078
optdepends=('qt5-doc: integrated Qt documentation'
'qt5-examples: welcome page examples'
'qt5-translations: for other languages'
'gdb: debugger'
'cmake: cmake project support'
'x11-ssh-askpass: ssh support'
'git: git support'
'mercurial: mercurial support'
'bzr: bazaar support'
'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')
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}
}
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
}
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
# Link clazy plugin explicitely
patchelf --add-needed ClazyPlugin.so "$pkgdir"/usr/lib/qtcreator/clangbackend
}
|