Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 750527 | Differences between
and this patch

Collapse All | Expand All

(-)a/dev-qt/qt-creator/Manifest (+4 lines)
Lines 1-6 Link Here
1
AUX qt-creator-4.12.0-dylib-fix.patch 4022 BLAKE2B ea5d2b4a5daabc76515c1777a5df1738800d5cf79e9b52b60bb0d3d1c923b6d0daeb1f1a7e77f1e707aa7948f2a673f637e1e66bd3aa30f47c19ef89351114c5 SHA512 a81ed8b5616f816bc4ade87c159997f33a55c07417b93cbcbfc29f32fb36060370bf05f85cc94ac64297a7b33cf2852b3be2a8c7b99b58914085acd9dc533808
1
AUX qt-creator-4.12.0-dylib-fix.patch 4022 BLAKE2B ea5d2b4a5daabc76515c1777a5df1738800d5cf79e9b52b60bb0d3d1c923b6d0daeb1f1a7e77f1e707aa7948f2a673f637e1e66bd3aa30f47c19ef89351114c5 SHA512 a81ed8b5616f816bc4ade87c159997f33a55c07417b93cbcbfc29f32fb36060370bf05f85cc94ac64297a7b33cf2852b3be2a8c7b99b58914085acd9dc533808
2
AUX qt-creator-4.12.0-libclangformat-ide.patch 2463 BLAKE2B a99fc6e1354fde03ddbf60e5115fbec46fc5074353b5512973bb3802bb65d3401a4ac51e41a5d113ffea14faf85b48f334d97f21e210d173b534c6e2fdfec328 SHA512 f08a95d5e0e9201792f5c16e3b2a61e9a54f08a885e214ea237d3e49bad8d2d94a59cbdc35703641a1ed1ee4037f64bf7d6d6bbd4dab11fa153a3ac4ef67e050
2
AUX qt-creator-4.12.0-libclangformat-ide.patch 2463 BLAKE2B a99fc6e1354fde03ddbf60e5115fbec46fc5074353b5512973bb3802bb65d3401a4ac51e41a5d113ffea14faf85b48f334d97f21e210d173b534c6e2fdfec328 SHA512 f08a95d5e0e9201792f5c16e3b2a61e9a54f08a885e214ea237d3e49bad8d2d94a59cbdc35703641a1ed1ee4037f64bf7d6d6bbd4dab11fa153a3ac4ef67e050
3
AUX qt-creator-4.13.0-dylib-fix.patch 4013 BLAKE2B 1fd0338c05b1b5c05aadf42dce11b248c55320e70e07112a5744217c50619a3109756cad7e0b59e961840aec3ea0da1c0b519ace39676e907b6eece06dafbc6f SHA512 e1f28bb5c5838c046df3ac68f5b56e5ce5cab9c9b654a7d71deb41d19ce3b1b6408f588e7e26121df79e0963060bb8799468267fa8d6a59f08e20fa87c0e65d4
4
AUX qt-creator-4.13.0-libclangformat-ide.patch 3203 BLAKE2B 8126c70fc8d142d43135484aece129c887b1ba3da8ee6b131c743149d8a423963bccf97a90b84f451ae0849db57748fd6ccc1d07fb4f96b6ba6c7b93c5011630 SHA512 4d393690098f6c82c302dba23c149d8082d27550562681a16f6162d43bef807b86c7115c62a14d96581c58edec46afcea91dbcac4aa0b1aa0156ea169f8fa2bc
3
DIST qt-creator-opensource-src-4.12.3.tar.xz 34351356 BLAKE2B 7f1302df09bae10ebe1882552abd25333788d7185280e9a0c73e7da6fb8b4d929da326e42c500385fba3e044350cd46c2cf2e33e49b0cca2d9c3b4d68693115d SHA512 48cd5839cff724300516f78deba3b1a7199d46d6f9a6a4c662bf2f581db167e4376a9bdd544544071591c4ee43c319c92ffcaf5ebb85412297f4144c3c7db7bf
5
DIST qt-creator-opensource-src-4.12.3.tar.xz 34351356 BLAKE2B 7f1302df09bae10ebe1882552abd25333788d7185280e9a0c73e7da6fb8b4d929da326e42c500385fba3e044350cd46c2cf2e33e49b0cca2d9c3b4d68693115d SHA512 48cd5839cff724300516f78deba3b1a7199d46d6f9a6a4c662bf2f581db167e4376a9bdd544544071591c4ee43c319c92ffcaf5ebb85412297f4144c3c7db7bf
6
DIST qt-creator-opensource-src-4.13.2.tar.xz 39783044 BLAKE2B e09122e2794ac95fb61914e0e5341b574e1e12ecb9cef95bd05d049d7cce3ce1124c00252883b60552baa1d5c5995574ee01e40e41dd0e6651e097499318df55 SHA512 d99e19f6a121440ef37b44944a967b994ebaa952574bfee32c6dcef744226109b65988d33585d32b0e1d9022a03009ab442fade29e1d763560c64ea32eafc90c
4
EBUILD qt-creator-4.12.3.ebuild 7162 BLAKE2B db1e02471e668298bfdda0e69c7451afd1f1833e85f5c9fb50c1c67ed05ff1e6c59b41f2210d23dd28387d763a54a8c5c3959e91c9cabe8c547acd8d50b74b05 SHA512 8f533d94d39213eb8fdc958334e37af1193a3f7c6829fc8975397c71258c294b545f726115e8d7a50ebc0930e21cedc61794b50b757c951d7ce34c7eaff73713
7
EBUILD qt-creator-4.12.3.ebuild 7162 BLAKE2B db1e02471e668298bfdda0e69c7451afd1f1833e85f5c9fb50c1c67ed05ff1e6c59b41f2210d23dd28387d763a54a8c5c3959e91c9cabe8c547acd8d50b74b05 SHA512 8f533d94d39213eb8fdc958334e37af1193a3f7c6829fc8975397c71258c294b545f726115e8d7a50ebc0930e21cedc61794b50b757c951d7ce34c7eaff73713
8
EBUILD qt-creator-4.13.2.ebuild 7292 BLAKE2B 3d2ae0cc7889d83c549a203f6bf1af96be66fb898a9ff71e52e8fb3308c922315e947b47ba0bea93cea33531bfb59c3d19904bc72c927f60eb8d0aaf45ef84d0 SHA512 cde3efe8e6892683fbe02e715210fef00e814797d47d80fc184bbefc368cd5cf760b22640dbb439a9d8546762b3bc0c353bbb6e1c4a5d0ec00a090828f34779a
5
EBUILD qt-creator-9999.ebuild 7431 BLAKE2B e001aa963ea858b78cc7bac329431ab91eac07a8f1df7f912c3633c200194674fd89bb59322d3b633a19cb2df82b54819e8b3fd04f1500041405664846311d3c SHA512 90538041ce2e16ca7b0dd8743d653b0ea6a237f36d2860b4c23e37e0e5a3130dfd7cae3405ac532901495fe4eacf87090dbf0d49152be772685eae6c8d6da923
9
EBUILD qt-creator-9999.ebuild 7431 BLAKE2B e001aa963ea858b78cc7bac329431ab91eac07a8f1df7f912c3633c200194674fd89bb59322d3b633a19cb2df82b54819e8b3fd04f1500041405664846311d3c SHA512 90538041ce2e16ca7b0dd8743d653b0ea6a237f36d2860b4c23e37e0e5a3130dfd7cae3405ac532901495fe4eacf87090dbf0d49152be772685eae6c8d6da923
6
MISC metadata.xml 3518 BLAKE2B 4153006d68c5a4689e66f39cbaa9762ff1787f88676dc88878e38f5b8376bd28714b78f86449f037eb52cd81b0b91273516e852c34a5460fb0a7081adf0c1e67 SHA512 2cb8d121b8fc6685bcb9fb09c7f39487ba067ba8b5aad8b0f82b0b512290436bcf57b587505f856dd729a1e0bee9f4fc94b5fd28735f255b1cae5ae1e79f44ba
10
MISC metadata.xml 3518 BLAKE2B 4153006d68c5a4689e66f39cbaa9762ff1787f88676dc88878e38f5b8376bd28714b78f86449f037eb52cd81b0b91273516e852c34a5460fb0a7081adf0c1e67 SHA512 2cb8d121b8fc6685bcb9fb09c7f39487ba067ba8b5aad8b0f82b0b512290436bcf57b587505f856dd729a1e0bee9f4fc94b5fd28735f255b1cae5ae1e79f44ba
(-)a/dev-qt/qt-creator/files/qt-creator-4.13.0-dylib-fix.patch (+83 lines)
Line 0 Link Here
1
From 1c5faa6dcf16135ee31252d13766d01536a69405 Mon Sep 17 00:00:00 2001
2
From: Peter Levine <plevine457@gmail.com>
3
Date: Tue, 5 May 2020 03:45:35 -0400
4
Subject: [PATCH] Fix building against clang configured with
5
 CLANG_LINK_CLANG_DYLIB
6
7
LLVM/Clang upstream only officially supports building shared
8
components as a single dynamic library (via
9
LLVM_BUILD_LLVM_DYLIB=ON, CLANG_LINK_CLANG_DYLIB=ON, etc..).
10
Linux distros like Fedora and Gentoo have followed suit.
11
12
Unfortunately, QT-Creator's src/shared/clang/clang_installation.pri
13
file assumes clang is built with separate component libraries
14
and the build fails.
15
16
This change alters the build to check for the existence
17
of clang component libraries and, if found, link to them, or
18
otherwise to libclang-cpp.
19
20
Task-number: QTCREATORBUG-23172
21
Change-Id: I17df5822d7aeb471227f21f2cf4a71871d6f9b86
22
---
23
 src/shared/clang/clang_installation.pri | 35 +++++++++++++++----------
24
 1 file changed, 21 insertions(+), 14 deletions(-)
25
26
diff --git a/src/shared/clang/clang_installation.pri b/src/shared/clang/clang_installation.pri
27
index 2ef2cb42..24afbed8 100644
28
--- a/src/shared/clang/clang_installation.pri
29
+++ b/src/shared/clang/clang_installation.pri
30
@@ -206,19 +206,6 @@ isEmpty(LLVM_VERSION) {
31
         }
32
     }
33
 
34
-    isEmpty(QTC_CLANG_BUILDMODE_MISMATCH)|!equals(QTC_CLANG_BUILDMODE_MISMATCH, 1) {
35
-        CLANGFORMAT_MAIN_HEADER = $$LLVM_INCLUDEPATH/clang/Format/Format.h
36
-        exists($$CLANGFORMAT_MAIN_HEADER) {
37
-            CLANGFORMAT_LIBS=-lclangFormat -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangLex -lclangBasic
38
-            ALL_CLANG_LIBS=-lclangFormat -lclangToolingInclusions -lclangTooling -lclangToolingCore \
39
-                           -lclangRewrite -lclangIndex -lclangFrontend -lclangParse -lclangSerialization \
40
-                           -lclangSema -lclangEdit -lclangAnalysis -lclangDriver -lclangDynamicASTMatchers \
41
-                           -lclangASTMatchers -lclangAST -lclangLex -lclangBasic
42
-            win32:CLANGFORMAT_LIBS += -lversion
43
-        }
44
-    }
45
-    win32:ALL_CLANG_LIBS += -lversion
46
-
47
     LIBCLANG_MAIN_HEADER = $$LLVM_INCLUDEPATH/clang-c/Index.h
48
     !exists($$LIBCLANG_MAIN_HEADER) {
49
         $$llvmWarningOrError(\
50
@@ -239,11 +226,31 @@ isEmpty(LLVM_VERSION) {
51
     LIBCLANG_LIBS += $${CLANG_LIB}
52
 
53
     isEmpty(QTC_CLANG_BUILDMODE_MISMATCH)|!equals(QTC_CLANG_BUILDMODE_MISMATCH, 1) {
54
+        CLANGFORMAT_MAIN_HEADER = $$LLVM_INCLUDEPATH/clang/Format/Format.h
55
+        exists($$CLANGFORMAT_MAIN_HEADER) {
56
+            exists($${LLVM_LIBDIR}/libclangFormat.so*)|exists($${LLVM_LIBDIR}/libclangFormat.dylib) {
57
+                CLANGFORMAT_LIBS=-lclangFormat -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangLex -lclangBasic
58
+                ALL_CLANG_LIBS=-lclangFormat -lclangToolingInclusions -lclangTooling -lclangToolingCore \
59
+                           -lclangRewrite -lclangIndex -lclangFrontend -lclangParse -lclangSerialization \
60
+                           -lclangSema -lclangEdit -lclangAnalysis -lclangDriver -lclangDynamicASTMatchers \
61
+                           -lclangASTMatchers -lclangAST -lclangLex -lclangBasic
62
+                win32:CLANGFORMAT_LIBS += -lversion
63
+                win32:ALL_CLANG_LIBS += -lversion
64
+            } else {
65
+                CLANGFORMAT_LIBS=-lclang-cpp
66
+                ALL_CLANG_LIBS=-lclang-cpp
67
+            }
68
+        }
69
+
70
         QTC_ENABLE_CLANG_REFACTORING=$$(QTC_ENABLE_CLANG_REFACTORING)
71
         !isEmpty(QTC_ENABLE_CLANG_REFACTORING) {
72
             !contains(QMAKE_DEFAULT_LIBDIRS, $$LLVM_LIBDIR): LIBTOOLING_LIBS = -L$${LLVM_LIBDIR}
73
-            LIBTOOLING_LIBS += $$CLANGTOOLING_LIBS $$LLVM_STATIC_LIBS
74
+            exists($${LLVM_LIBDIR}/libclangTooling.so*)|exists($${LLVM_LIBDIR}/libclangTooling.dylib) {
75
+                LIBTOOLING_LIBS += $$CLANGTOOLING_LIBS $$LLVM_STATIC_LIBS
76
+            } else {
77
+                LIBTOOLING_LIBS += -lclang-cpp $$LLVM_STATIC_LIBS
78
+            }
79
         }
80
     }
81
 
82
-- 
83
2.26.2
(-)a/dev-qt/qt-creator/files/qt-creator-4.13.0-libclangformat-ide.patch (+74 lines)
Line 0 Link Here
1
diff --git a/src/plugins/clangformat/clangformatbaseindenter.h b/src/plugins/clangformat/clangformatbaseindenter.h
2
index 00dc3e9c..2c1cf48f 100644
3
--- a/src/plugins/clangformat/clangformatbaseindenter.h
4
+++ b/src/plugins/clangformat/clangformatbaseindenter.h
5
@@ -27,7 +27,7 @@
6
 
7
 #include <texteditor/indenter.h>
8
 
9
-#include <clang/Format/Format.h>
10
+#include <clang/Format/FormatIDE.h>
11
 
12
 namespace ClangFormat {
13
 
14
diff --git a/src/plugins/clangformat/clangformatconfigwidget.cpp b/src/plugins/clangformat/clangformatconfigwidget.cpp
15
index f1fa2c82..b2e552e9 100644
16
--- a/src/plugins/clangformat/clangformatconfigwidget.cpp
17
+++ b/src/plugins/clangformat/clangformatconfigwidget.cpp
18
@@ -32,7 +32,7 @@
19
 #include "ui_clangformatchecks.h"
20
 #include "ui_clangformatconfigwidget.h"
21
 
22
-#include <clang/Format/Format.h>
23
+#include <clang/Format/FormatIDE.h>
24
 
25
 #include <coreplugin/icore.h>
26
 #include <cppeditor/cpphighlighter.h>
27
diff --git a/src/plugins/clangformat/clangformatplugin.cpp b/src/plugins/clangformat/clangformatplugin.cpp
28
index 9b76a086..840efe1f 100644
29
--- a/src/plugins/clangformat/clangformatplugin.cpp
30
+++ b/src/plugins/clangformat/clangformatplugin.cpp
31
@@ -56,7 +56,7 @@
32
 #include <texteditor/icodestylepreferences.h>
33
 #include <texteditor/texteditorsettings.h>
34
 
35
-#include <clang/Format/Format.h>
36
+#include <clang/Format/FormatIDE.h>
37
 
38
 #include <utils/algorithm.h>
39
 
40
diff --git a/src/plugins/clangformat/clangformatutils.h b/src/plugins/clangformat/clangformatutils.h
41
index 74fd84c9..c455d25f 100644
42
--- a/src/plugins/clangformat/clangformatutils.h
43
+++ b/src/plugins/clangformat/clangformatutils.h
44
@@ -28,7 +28,7 @@
45
 #include <utils/fileutils.h>
46
 #include <utils/id.h>
47
 
48
-#include <clang/Format/Format.h>
49
+#include <clang/Format/FormatIDE.h>
50
 
51
 #include <QFile>
52
 
53
diff --git a/src/shared/clang/clang_installation.pri b/src/shared/clang/clang_installation.pri
54
index b1927ca9..2f0b5900 100644
55
--- a/src/shared/clang/clang_installation.pri
56
+++ b/src/shared/clang/clang_installation.pri
57
@@ -229,7 +229,7 @@ isEmpty(LLVM_VERSION) {
58
         CLANGFORMAT_MAIN_HEADER = $$LLVM_INCLUDEPATH/clang/Format/Format.h
59
         exists($$CLANGFORMAT_MAIN_HEADER) {
60
             exists($${LLVM_LIBDIR}/libclangFormat.so*)|exists($${LLVM_LIBDIR}/libclangFormat.dylib) {
61
-                CLANGFORMAT_LIBS=-lclangFormat -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangLex -lclangBasic
62
+                CLANGFORMAT_LIBS=-lclangFormatIDE -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangLex -lclangBasic
63
                 ALL_CLANG_LIBS=-lclangFormat -lclangToolingInclusions -lclangTooling -lclangToolingCore \
64
                            -lclangRewrite -lclangIndex -lclangFrontend -lclangParse -lclangSerialization \
65
                            -lclangSema -lclangEdit -lclangAnalysis -lclangDriver -lclangDynamicASTMatchers \
66
@@ -237,7 +237,7 @@ isEmpty(LLVM_VERSION) {
67
                 win32:CLANGFORMAT_LIBS += -lversion
68
                 win32:ALL_CLANG_LIBS += -lversion
69
             } else {
70
-                CLANGFORMAT_LIBS=-lclang-cpp
71
+                CLANGFORMAT_LIBS=-lclangFormatIDE -lclang-cpp
72
                 ALL_CLANG_LIBS=-lclang-cpp
73
             }
74
         }
(-)a/dev-qt/qt-creator/qt-creator-4.13.2.ebuild (+238 lines)
Line 0 Link Here
1
# Copyright 1999-2020 Gentoo Authors
2
# Distributed under the terms of the GNU General Public License v2
3
4
EAPI=7
5
LLVM_MAX_SLOT=11
6
PLOCALES="cs da de fr ja pl ru sl uk zh-CN zh-TW"
7
8
inherit llvm qmake-utils virtualx xdg
9
10
DESCRIPTION="Lightweight IDE for C++/QML development centering around Qt"
11
HOMEPAGE="https://doc.qt.io/qtcreator/"
12
LICENSE="GPL-3"
13
SLOT="0"
14
15
if [[ ${PV} == *9999 ]]; then
16
	inherit git-r3
17
	EGIT_REPO_URI="https://code.qt.io/${PN}/${PN}.git"
18
else
19
	MY_PV=${PV/_/-}
20
	MY_P=${PN}-opensource-src-${MY_PV}
21
	[[ ${MY_PV} == ${PV} ]] && MY_REL=official || MY_REL=development
22
	SRC_URI="https://download.qt.io/${MY_REL}_releases/${PN/-}/$(ver_cut 1-2)/${MY_PV}/${MY_P}.tar.xz"
23
	KEYWORDS="~amd64 ~arm ~x86"
24
	S=${WORKDIR}/${MY_P}
25
fi
26
27
# TODO: unbundle sqlite
28
29
QTC_PLUGINS=(android +autotest autotools:autotoolsprojectmanager baremetal beautifier boot2qt
30
	'+clang:clangcodemodel|clangformat|clangpchmanager|clangrefactoring|clangtools' clearcase
31
	cmake:cmakeprojectmanager cppcheck ctfvisualizer cvs +designer git glsl:glsleditor +help ios
32
	lsp:languageclient mcu:mcusupport mercurial modeling:modeleditor nim perforce perfprofiler python
33
	qbs:qbsprojectmanager +qmldesigner qmlprofiler qnx remotelinux scxml:scxmleditor serialterminal
34
	silversearcher subversion valgrind webassembly winrt)
35
IUSE="doc systemd test +webengine ${QTC_PLUGINS[@]%:*}"
36
RESTRICT="!test? ( test )"
37
REQUIRED_USE="
38
	boot2qt? ( remotelinux )
39
	clang? ( test? ( qbs ) )
40
	mcu? ( cmake )
41
	python? ( lsp )
42
	qnx? ( remotelinux )
43
"
44
45
# minimum Qt version required
46
QT_PV="5.12.3:5"
47
48
BDEPEND="
49
	>=dev-qt/linguist-tools-${QT_PV}
50
	virtual/pkgconfig
51
	doc? ( >=dev-qt/qdoc-${QT_PV} )
52
"
53
CDEPEND="
54
	>=dev-cpp/yaml-cpp-0.6.2:=
55
	>=dev-qt/qtconcurrent-${QT_PV}
56
	>=dev-qt/qtcore-${QT_PV}
57
	>=dev-qt/qtdeclarative-${QT_PV}[widgets]
58
	>=dev-qt/qtgui-${QT_PV}
59
	>=dev-qt/qtnetwork-${QT_PV}[ssl]
60
	>=dev-qt/qtprintsupport-${QT_PV}
61
	>=dev-qt/qtquickcontrols-${QT_PV}
62
	>=dev-qt/qtscript-${QT_PV}
63
	>=dev-qt/qtsql-${QT_PV}[sqlite]
64
	>=dev-qt/qtsvg-${QT_PV}
65
	>=dev-qt/qtwidgets-${QT_PV}
66
	>=dev-qt/qtx11extras-${QT_PV}
67
	>=dev-qt/qtxml-${QT_PV}
68
	kde-frameworks/syntax-highlighting:5
69
	clang? (
70
		|| (
71
			( sys-devel/clang:11
72
				dev-libs/libclangformat-ide:11 )
73
			( sys-devel/clang:10
74
				dev-libs/libclangformat-ide:10 )
75
			( sys-devel/clang:9
76
				dev-libs/libclangformat-ide:9 )
77
		)
78
		<sys-devel/clang-$((LLVM_MAX_SLOT + 1)):=
79
	)
80
	designer? ( >=dev-qt/designer-${QT_PV} )
81
	help? (
82
		>=dev-qt/qthelp-${QT_PV}
83
		webengine? ( >=dev-qt/qtwebengine-${QT_PV}[widgets] )
84
	)
85
	perfprofiler? ( dev-libs/elfutils )
86
	qbs? ( >=dev-util/qbs-1.13.1 )
87
	serialterminal? ( >=dev-qt/qtserialport-${QT_PV} )
88
	systemd? ( sys-apps/systemd:= )
89
"
90
DEPEND="${CDEPEND}
91
	test? (
92
		>=dev-qt/qtdeclarative-${QT_PV}[localstorage]
93
		>=dev-qt/qtquickcontrols2-${QT_PV}
94
		>=dev-qt/qttest-${QT_PV}
95
		>=dev-qt/qtxmlpatterns-${QT_PV}[qml]
96
	)
97
"
98
RDEPEND="${CDEPEND}
99
	sys-devel/gdb[client,python]
100
	autotools? ( sys-devel/autoconf )
101
	cmake? ( dev-util/cmake )
102
	cppcheck? ( dev-util/cppcheck )
103
	cvs? ( dev-vcs/cvs )
104
	git? ( dev-vcs/git )
105
	mercurial? ( dev-vcs/mercurial )
106
	qmldesigner? ( >=dev-qt/qtquicktimeline-${QT_PV} )
107
	silversearcher? ( sys-apps/the_silver_searcher )
108
	subversion? ( dev-vcs/subversion )
109
	valgrind? ( dev-util/valgrind )
110
"
111
# qt translations must also be installed or qt-creator translations won't be loaded
112
for x in ${PLOCALES}; do
113
	IUSE+=" l10n_${x}"
114
	RDEPEND+=" l10n_${x}? ( >=dev-qt/qttranslations-${QT_PV} )"
115
done
116
unset x
117
118
PATCHES=(
119
	"${FILESDIR}"/${PN}-4.13.0-dylib-fix.patch
120
	"${FILESDIR}"/${PN}-4.13.0-libclangformat-ide.patch
121
)
122
123
llvm_check_deps() {
124
	has_version -d "sys-devel/clang:${LLVM_SLOT}" && \
125
		has_version -d "dev-libs/libclangformat-ide:${LLVM_SLOT}"
126
}
127
128
pkg_setup() {
129
	use clang && llvm_pkg_setup
130
}
131
132
src_prepare() {
133
	default
134
135
	# disable unwanted plugins
136
	for plugin in "${QTC_PLUGINS[@]#[+-]}"; do
137
		if ! use ${plugin%:*}; then
138
			einfo "Disabling ${plugin%:*} plugin"
139
			sed -i -re "s/(^\s+|\s*SUBDIRS\s*\+=.*)\<(${plugin#*:})\>(.*)/\1\3/" \
140
				src/plugins/plugins.pro || die "failed to disable ${plugin%:*} plugin"
141
		fi
142
	done
143
	sed -i -e '/updateinfo/d' src/plugins/plugins.pro || die
144
145
	# avoid building unused support libraries and tools
146
	if ! use clang; then
147
		sed -i -e '/clangsupport/d' src/libs/libs.pro || die
148
		sed -i -e '/clang\(\|pchmanager\|refactoring\)backend/d' src/tools/tools.pro || die
149
	fi
150
	if ! use glsl; then
151
		sed -i -e '/glsl/d' src/libs/libs.pro || die
152
	fi
153
	if ! use lsp; then
154
		sed -i -e '/languageserverprotocol/d' src/libs/libs.pro tests/auto/auto.pro || die
155
	fi
156
	if ! use modeling; then
157
		sed -i -e '/modelinglib/d' src/libs/libs.pro || die
158
	fi
159
	if ! use perfprofiler; then
160
		rm -r src/tools/perfparser || die
161
		if ! use ctfvisualizer && ! use qmlprofiler; then
162
			sed -i -e '/tracing/d' src/libs/libs.pro tests/auto/auto.pro || die
163
		fi
164
	fi
165
	if ! use qmldesigner; then
166
		sed -i -e '/qml2puppet/d' src/tools/tools.pro || die
167
		sed -i -e '/qmldesigner/d' tests/auto/qml/qml.pro || die
168
	fi
169
	if ! use valgrind; then
170
		sed -i -e '/valgrindfake/d' src/tools/tools.pro || die
171
		sed -i -e '/valgrind/d' tests/auto/auto.pro || die
172
	fi
173
174
	# automagic dep on qtwebengine
175
	if ! use webengine; then
176
		sed -i -e 's/isEmpty(QT\.webenginewidgets\.name)/true/' src/plugins/help/help.pro || die
177
	fi
178
179
	# disable broken or unreliable tests
180
	sed -i -e 's/\(manual\|tools\|unit\)//g' tests/tests.pro || die
181
	sed -i -e '/\(dumpers\|namedemangler\)\.pro/d' tests/auto/debugger/debugger.pro || die
182
	sed -i -e '/CONFIG -=/s/$/ testcase/' tests/auto/extensionsystem/pluginmanager/correctplugins1/plugin?/plugin?.pro || die
183
	sed -i -e 's/\<check\>//' tests/auto/qml/codemodel/codemodel.pro || die
184
185
	# do not install test binaries
186
	sed -i -e '/CONFIG +=/s/$/ no_testcase_installs/' tests/auto/{qttest.pri,json/json.pro} || die
187
188
	# fix path to some clang headers
189
	sed -i -e "/^CLANG_RESOURCE_DIR\s*=/s:\$\${LLVM_LIBDIR}:${EPREFIX}/usr/lib:" src/shared/clang/clang_defines.pri || die
190
191
	# fix translations
192
	local lang languages=
193
	for lang in ${PLOCALES}; do
194
		use l10n_${lang} && languages+=" ${lang/-/_}"
195
	done
196
	sed -i -e "/^LANGUAGES\s*=/s:=.*:=${languages}:" share/qtcreator/translations/translations.pro || die
197
198
	# remove bundled syntax-highlighting
199
	rm -r src/libs/3rdparty/syntax-highlighting || die
200
201
	# remove bundled yaml-cpp
202
	rm -r src/libs/3rdparty/yaml-cpp || die
203
204
	# remove bundled qbs
205
	rm -r src/shared/qbs || die
206
}
207
208
src_configure() {
209
	eqmake5 IDE_LIBRARY_BASENAME="$(get_libdir)" \
210
		IDE_PACKAGE_MODE=1 \
211
		KSYNTAXHIGHLIGHTING_LIB_DIR="${EPREFIX}/usr/$(get_libdir)" \
212
		KSYNTAXHIGHLIGHTING_INCLUDE_DIR="${EPREFIX}/usr/include/KF5/KSyntaxHighlighting" \
213
		$(use clang && echo LLVM_INSTALL_DIR="$(get_llvm_prefix ${LLVM_MAX_SLOT})") \
214
		$(use qbs && echo QBS_INSTALL_DIR="${EPREFIX}/usr") \
215
		CONFIG+=qbs_disable_rpath \
216
		CONFIG+=qbs_enable_project_file_updates \
217
		$(use systemd && echo CONFIG+=journald) \
218
		$(use test && echo BUILD_TESTS=1)
219
}
220
221
src_test() {
222
	cd tests/auto && virtx default
223
}
224
225
src_install() {
226
	emake INSTALL_ROOT="${ED}/usr" install
227
228
	dodoc dist/{changes-*,known-issues}
229
230
	# install documentation
231
	if use doc; then
232
		emake docs
233
		# don't use ${PF} or the doc will not be found
234
		insinto /usr/share/doc/qtcreator
235
		doins share/doc/qtcreator/qtcreator{,-dev}.qch
236
		docompress -x /usr/share/doc/qtcreator/qtcreator{,-dev}.qch
237
	fi
238
}

Return to bug 750527