Gentoo Archives: gentoo-commits

From: Andreas Sturmlechner <asturm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtgui/files/, dev-qt/qtgui/
Date: Sat, 02 Jan 2021 01:23:07
Message-Id: 1609550551.c1656b6dcec27a716caf2b516e03c9d3fc2558c6.asturm@gentoo
1 commit: c1656b6dcec27a716caf2b516e03c9d3fc2558c6
2 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
3 AuthorDate: Fri Jan 1 16:56:05 2021 +0000
4 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
5 CommitDate: Sat Jan 2 01:22:31 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c1656b6d
7
8 dev-qt/qtgui: Drop bogus xcb-util build dep
9
10 See also: https://bugreports.qt.io/browse/QTBUG-88688
11
12 Package-Manager: Portage-3.0.12, Repoman-3.0.2
13 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
14
15 .../files/qtgui-5.15.2-bogus-xcb-util-dep.patch | 72 ++++++++
16 dev-qt/qtgui/qtgui-5.15.2-r1.ebuild | 188 +++++++++++++++++++++
17 2 files changed, 260 insertions(+)
18
19 diff --git a/dev-qt/qtgui/files/qtgui-5.15.2-bogus-xcb-util-dep.patch b/dev-qt/qtgui/files/qtgui-5.15.2-bogus-xcb-util-dep.patch
20 new file mode 100644
21 index 00000000000..b7f65483fb1
22 --- /dev/null
23 +++ b/dev-qt/qtgui/files/qtgui-5.15.2-bogus-xcb-util-dep.patch
24 @@ -0,0 +1,72 @@
25 +From 61b07d75f96d4dfb07b485b2a9bd7aed099df987 Mon Sep 17 00:00:00 2001
26 +From: Liang Qi <liang.qi@××.io>
27 +Date: Tue, 1 Dec 2020 08:43:28 +0100
28 +Subject: [PATCH] Revert "xcb: add xcb-util dependency for xcb-image"
29 +MIME-Version: 1.0
30 +Content-Type: text/plain; charset=utf8
31 +Content-Transfer-Encoding: 8bit
32 +
33 +This reverts commit adc42bebcac764ca8de78578e3a4ac39b621bd09.
34 +
35 +adc42beb is wrong, the bug is for static build of qt with static
36 +xcb. It adds the explicit dependency of xcb-util 0.3.9, which is
37 +not available on Debian yet.
38 +
39 +Task-number: QTBUG-86287
40 +Fixes: QTBUG-88688
41 +Change-Id: Iffc821f49bdfcad3f2556951d3677c35a7682266
42 +Reviewed-by: Thiago Macieira <thiago.macieira@×××××.com>
43 +Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@××.io>
44 +(adapted from commit 92a57e0b016f811876ec1d62328ca8edfe452a3a)
45 +---
46 + src/gui/configure.json | 14 ++------------
47 + 1 file changed, 2 insertions(+), 12 deletions(-)
48 +
49 +diff --git a/src/gui/configure.json b/src/gui/configure.json
50 +index c8c4864eca6..1f08795c57b 100644
51 +--- a/src/gui/configure.json
52 ++++ b/src/gui/configure.json
53 +@@ -601,15 +601,6 @@
54 + ],
55 + "use": "xcb"
56 + },
57 +- "xcb_util": {
58 +- "label": "XCB Util >= 0.3.9",
59 +- "headers": "xcb/xcb_util.h",
60 +- "sources": [
61 +- { "type": "pkgConfig", "args": "xcb-util >= 0.3.9" },
62 +- "-lxcb-util"
63 +- ],
64 +- "use": "xcb"
65 +- },
66 + "xcb_image": {
67 + "label": "XCB Image >= 0.3.9",
68 + "headers": "xcb/xcb_image.h",
69 +@@ -617,7 +608,7 @@
70 + { "type": "pkgConfig", "args": "xcb-image >= 0.3.9" },
71 + "-lxcb-image"
72 + ],
73 +- "use": "xcb_shm xcb_util xcb"
74 ++ "use": "xcb_shm xcb"
75 + },
76 + "xcb_keysyms": {
77 + "label": "XCB Keysyms >= 0.3.9",
78 +@@ -1065,7 +1056,6 @@
79 + "tail": "#undef explicit",
80 + "include": [
81 + "xcb/xcb.h",
82 +- "xcb/xcb_util.h",
83 + "xcb/xcb_image.h",
84 + "xcb/xcb_keysyms.h",
85 + "xcb/randr.h",
86 +@@ -1097,7 +1087,7 @@
87 + "xcb_xkb_get_kbd_by_name_replies_key_names_value_list_sizeof(nullptr, 0, 0, 0, 0, 0, 0, 0, 0);"
88 + ]
89 + },
90 +- "use": "xcb_icccm xcb_util xcb_image xcb_keysyms xcb_randr xcb_render xcb_renderutil xcb_shape xcb_shm xcb_sync xcb_xfixes xcb_xinerama xcb_xkb xcb"
91 ++ "use": "xcb_icccm xcb_image xcb_keysyms xcb_randr xcb_render xcb_renderutil xcb_shape xcb_shm xcb_sync xcb_xfixes xcb_xinerama xcb_xkb xcb"
92 + },
93 + "x11prefix": {
94 + "label": "X11 prefix",
95 +--
96 +2.16.3
97
98 diff --git a/dev-qt/qtgui/qtgui-5.15.2-r1.ebuild b/dev-qt/qtgui/qtgui-5.15.2-r1.ebuild
99 new file mode 100644
100 index 00000000000..13063686d1c
101 --- /dev/null
102 +++ b/dev-qt/qtgui/qtgui-5.15.2-r1.ebuild
103 @@ -0,0 +1,188 @@
104 +# Copyright 1999-2021 Gentoo Authors
105 +# Distributed under the terms of the GNU General Public License v2
106 +
107 +EAPI=7
108 +
109 +QT5_MODULE="qtbase"
110 +inherit qt5-build
111 +
112 +DESCRIPTION="The GUI module and platform plugins for the Qt5 framework"
113 +SLOT=5/$(ver_cut 1-3) # bug 707658
114 +
115 +if [[ ${QT5_BUILD_TYPE} == release ]]; then
116 + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
117 +fi
118 +
119 +# TODO: linuxfb
120 +
121 +IUSE="accessibility dbus egl eglfs evdev +gif gles2-only ibus jpeg
122 + +libinput +png tslib tuio +udev vnc vulkan wayland +X"
123 +REQUIRED_USE="
124 + || ( eglfs X )
125 + accessibility? ( dbus X )
126 + eglfs? ( egl )
127 + ibus? ( dbus )
128 + libinput? ( udev )
129 + X? ( gles2-only? ( egl ) )
130 +"
131 +
132 +COMMON_DEPEND="
133 + dev-libs/glib:2
134 + ~dev-qt/qtcore-${PV}:5=
135 + dev-util/gtk-update-icon-cache
136 + media-libs/fontconfig
137 + >=media-libs/freetype-2.6.1:2
138 + >=media-libs/harfbuzz-1.6.0:=
139 + sys-libs/zlib:=
140 + dbus? ( ~dev-qt/qtdbus-${PV} )
141 + egl? ( media-libs/mesa[egl] )
142 + eglfs? (
143 + media-libs/mesa[gbm]
144 + x11-libs/libdrm
145 + )
146 + evdev? ( sys-libs/mtdev )
147 + gles2-only? ( media-libs/mesa[gles2] )
148 + !gles2-only? ( virtual/opengl )
149 + jpeg? ( virtual/jpeg:0 )
150 + libinput? (
151 + dev-libs/libinput:=
152 + >=x11-libs/libxkbcommon-0.5.0
153 + )
154 + png? ( media-libs/libpng:0= )
155 + tslib? ( >=x11-libs/tslib-1.21 )
156 + tuio? ( ~dev-qt/qtnetwork-${PV} )
157 + udev? ( virtual/libudev:= )
158 + vnc? ( ~dev-qt/qtnetwork-${PV} )
159 + vulkan? ( dev-util/vulkan-headers )
160 + X? (
161 + x11-libs/libICE
162 + x11-libs/libSM
163 + x11-libs/libX11
164 + >=x11-libs/libxcb-1.12:=[xkb]
165 + >=x11-libs/libxkbcommon-0.5.0[X]
166 + x11-libs/xcb-util-image
167 + x11-libs/xcb-util-keysyms
168 + x11-libs/xcb-util-renderutil
169 + x11-libs/xcb-util-wm
170 + )
171 +"
172 +DEPEND="${COMMON_DEPEND}
173 + evdev? ( sys-kernel/linux-headers )
174 + udev? ( sys-kernel/linux-headers )
175 +"
176 +RDEPEND="${COMMON_DEPEND}
177 + dev-qt/qtchooser
178 +"
179 +PDEPEND="
180 + ibus? ( app-i18n/ibus )
181 + wayland? ( ~dev-qt/qtwayland-${PV} )
182 +"
183 +
184 +QT5_TARGET_SUBDIRS=(
185 + src/tools/qvkgen
186 + src/gui
187 + src/openglextensions
188 + src/platformheaders
189 + src/platformsupport
190 + src/plugins/generic
191 + src/plugins/imageformats
192 + src/plugins/platforms
193 + src/plugins/platforminputcontexts
194 +)
195 +
196 +QT5_GENTOO_CONFIG=(
197 + accessibility:accessibility-atspi-bridge
198 + egl:egl:
199 + eglfs:eglfs:
200 + eglfs:eglfs_egldevice:
201 + eglfs:eglfs_gbm:
202 + evdev:evdev:
203 + evdev:mtdev:
204 + :fontconfig:
205 + :system-freetype:FREETYPE
206 + !:no-freetype:
207 + !gif:no-gif:
208 + gles2-only::OPENGL_ES
209 + gles2-only:opengles2:OPENGL_ES_2
210 + !:no-gui:
211 + :system-harfbuzz:
212 + !:no-harfbuzz:
213 + jpeg:system-jpeg:IMAGEFORMAT_JPEG
214 + !jpeg:no-jpeg:
215 + libinput
216 + libinput:xkbcommon:
217 + :opengl
218 + png:png:
219 + png:system-png:IMAGEFORMAT_PNG
220 + !png:no-png:
221 + tslib:tslib:
222 + udev:libudev:
223 + vulkan:vulkan:
224 + X:xcb:
225 + X:xcb-glx:
226 + X:xcb-plugin:
227 + X:xcb-render:
228 + X:xcb-sm:
229 + X:xcb-xlib:
230 + X:xcb-xinput:
231 +)
232 +
233 +QT5_GENTOO_PRIVATE_CONFIG=(
234 + :gui
235 +)
236 +
237 +PATCHES=(
238 + "${FILESDIR}/qt-5.12-gcc-avx2.patch" # bug 672946
239 + "${FILESDIR}/${PN}-5.14.1-cmake-macro-backward-compat.patch" # bug 703306
240 + "${FILESDIR}/${P}-bogus-xcb-util-dep.patch" # QTBUG-86287, QTBUG-88688
241 +)
242 +
243 +src_prepare() {
244 + # don't add -O3 to CXXFLAGS, bug 549140
245 + sed -i -e '/CONFIG\s*+=/s/optimize_full//' src/gui/gui.pro || die
246 +
247 + # egl_x11 is activated when both egl and X are enabled
248 + use egl && QT5_GENTOO_CONFIG+=(X:egl_x11:) || QT5_GENTOO_CONFIG+=(egl:egl_x11:)
249 +
250 + qt_use_disable_config dbus dbus \
251 + src/platformsupport/themes/genericunix/genericunix.pri
252 +
253 + qt_use_disable_config tuio tuiotouch src/plugins/generic/generic.pro
254 +
255 + qt_use_disable_mod ibus dbus \
256 + src/plugins/platforminputcontexts/platforminputcontexts.pro
257 +
258 + use vnc || sed -i -e '/SUBDIRS += vnc/d' \
259 + src/plugins/platforms/platforms.pro || die
260 +
261 + qt5-build_src_prepare
262 +}
263 +
264 +src_configure() {
265 + local myconf=(
266 + $(usex dbus -dbus-linked '')
267 + $(qt_use egl)
268 + $(qt_use eglfs)
269 + $(usex eglfs '-gbm -kms' '')
270 + $(qt_use evdev)
271 + $(qt_use evdev mtdev)
272 + -fontconfig
273 + -system-freetype
274 + $(usex gif '' -no-gif)
275 + -gui
276 + -system-harfbuzz
277 + $(qt_use jpeg libjpeg system)
278 + $(qt_use libinput)
279 + -opengl $(usex gles2-only es2 desktop)
280 + $(qt_use png libpng system)
281 + $(qt_use tslib)
282 + $(qt_use udev libudev)
283 + $(qt_use vulkan)
284 + $(qt_use X xcb)
285 + $(usex X '-xcb-xlib' '')
286 + )
287 + if use libinput || use X; then
288 + myconf+=( -xkbcommon )
289 + fi
290 + qt5-build_src_configure
291 +}