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/
Date: Wed, 26 Feb 2020 22:02:26
Message-Id: 1582754203.67b0cd43bc0f20d4c87d8f68c71a681fa1ba0db3.asturm@gentoo
1 commit: 67b0cd43bc0f20d4c87d8f68c71a681fa1ba0db3
2 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
3 AuthorDate: Wed Feb 26 21:30:46 2020 +0000
4 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
5 CommitDate: Wed Feb 26 21:56:43 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=67b0cd43
7
8 dev-qt/qtgui: Add USE vulkan
9
10 Bug: https://bugs.gentoo.org/703594
11 Package-Manager: Portage-2.3.89, Repoman-2.3.20
12 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
13
14 dev-qt/qtgui/metadata.xml | 1 +
15 dev-qt/qtgui/qtgui-5.14.1-r3.ebuild | 191 ++++++++++++++++++++++++++++++++++++
16 2 files changed, 192 insertions(+)
17
18 diff --git a/dev-qt/qtgui/metadata.xml b/dev-qt/qtgui/metadata.xml
19 index 74256c169f9..0ff1bae4e4d 100644
20 --- a/dev-qt/qtgui/metadata.xml
21 +++ b/dev-qt/qtgui/metadata.xml
22 @@ -14,6 +14,7 @@
23 <flag name="libinput">Enable support for input devices via <pkg>dev-libs/libinput</pkg></flag>
24 <flag name="tslib">Enable support for touchscreen devices via <pkg>x11-libs/tslib</pkg></flag>
25 <flag name="tuio">Build plugin to receive touch events over the TUIO protocol</flag>
26 + <flag name="vulkan">Enable support for Vulkan</flag>
27 <flag name="wayland">Provide <pkg>dev-qt/qtwayland</pkg> to ensure Qt applications can be run as Wayland clients</flag>
28 <flag name="xcb">Build the XCB platform plugin and enable X11 integration</flag>
29 </use>
30
31 diff --git a/dev-qt/qtgui/qtgui-5.14.1-r3.ebuild b/dev-qt/qtgui/qtgui-5.14.1-r3.ebuild
32 new file mode 100644
33 index 00000000000..187c3e0c503
34 --- /dev/null
35 +++ b/dev-qt/qtgui/qtgui-5.14.1-r3.ebuild
36 @@ -0,0 +1,191 @@
37 +# Copyright 1999-2020 Gentoo Authors
38 +# Distributed under the terms of the GNU General Public License v2
39 +
40 +EAPI=7
41 +
42 +QT5_MODULE="qtbase"
43 +inherit qt5-build
44 +
45 +DESCRIPTION="The GUI module and platform plugins for the Qt5 framework"
46 +SLOT=5/${PV} # bug 707658
47 +
48 +if [[ ${QT5_BUILD_TYPE} == release ]]; then
49 + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
50 +fi
51 +
52 +# TODO: linuxfb
53 +
54 +IUSE="accessibility dbus egl eglfs evdev +gif gles2 ibus jpeg
55 + +libinput +png tslib tuio +udev vnc vulkan wayland +X"
56 +REQUIRED_USE="
57 + || ( eglfs X )
58 + accessibility? ( dbus X )
59 + eglfs? ( egl )
60 + ibus? ( dbus )
61 + libinput? ( udev )
62 + X? ( gles2? ( egl ) )
63 +"
64 +
65 +COMMON_DEPEND="
66 + dev-libs/glib:2
67 + ~dev-qt/qtcore-${PV}
68 + dev-util/gtk-update-icon-cache
69 + media-libs/fontconfig
70 + >=media-libs/freetype-2.6.1:2
71 + >=media-libs/harfbuzz-1.6.0:=
72 + sys-libs/zlib:=
73 + virtual/opengl
74 + dbus? ( ~dev-qt/qtdbus-${PV} )
75 + egl? ( media-libs/mesa[egl] )
76 + eglfs? (
77 + media-libs/mesa[gbm]
78 + x11-libs/libdrm
79 + )
80 + evdev? ( sys-libs/mtdev )
81 + gles2? ( media-libs/mesa[gles2] )
82 + jpeg? ( virtual/jpeg:0 )
83 + libinput? (
84 + dev-libs/libinput:=
85 + >=x11-libs/libxkbcommon-0.5.0
86 + )
87 + png? ( media-libs/libpng:0= )
88 + tslib? ( >=x11-libs/tslib-1.21 )
89 + tuio? ( ~dev-qt/qtnetwork-${PV} )
90 + udev? ( virtual/libudev:= )
91 + vnc? ( ~dev-qt/qtnetwork-${PV} )
92 + vulkan? ( dev-util/vulkan-headers )
93 + X? (
94 + x11-libs/libICE
95 + x11-libs/libSM
96 + x11-libs/libX11
97 + >=x11-libs/libxcb-1.12:=[xkb]
98 + >=x11-libs/libxkbcommon-0.5.0[X]
99 + x11-libs/xcb-util-image
100 + x11-libs/xcb-util-keysyms
101 + x11-libs/xcb-util-renderutil
102 + x11-libs/xcb-util-wm
103 + )
104 +"
105 +DEPEND="${COMMON_DEPEND}
106 + evdev? ( sys-kernel/linux-headers )
107 + udev? ( sys-kernel/linux-headers )
108 +"
109 +# bug 703306, _populate_Gui_plugin_properties breaks installed cmake modules
110 +RDEPEND="${COMMON_DEPEND}
111 + !<dev-qt/qtimageformats-5.14.0:5
112 + !<dev-qt/qtsvg-5.14.0:5
113 + !<dev-qt/qtvirtualkeyboard-5.14.0:5
114 + !<dev-qt/qtwayland-5.14.0:5
115 +"
116 +PDEPEND="
117 + ibus? ( app-i18n/ibus )
118 + wayland? ( ~dev-qt/qtwayland-${PV} )
119 +"
120 +
121 +QT5_TARGET_SUBDIRS=(
122 + src/tools/qvkgen
123 + src/gui
124 + src/openglextensions
125 + src/platformheaders
126 + src/platformsupport
127 + src/plugins/generic
128 + src/plugins/imageformats
129 + src/plugins/platforms
130 + src/plugins/platforminputcontexts
131 +)
132 +
133 +QT5_GENTOO_CONFIG=(
134 + accessibility:accessibility-atspi-bridge
135 + egl:egl:
136 + eglfs:eglfs:
137 + eglfs:eglfs_egldevice:
138 + eglfs:eglfs_gbm:
139 + evdev:evdev:
140 + evdev:mtdev:
141 + :fontconfig:
142 + :system-freetype:FREETYPE
143 + !:no-freetype:
144 + !gif:no-gif:
145 + gles2::OPENGL_ES
146 + gles2:opengles2:OPENGL_ES_2
147 + !:no-gui:
148 + :system-harfbuzz:
149 + !:no-harfbuzz:
150 + jpeg:system-jpeg:IMAGEFORMAT_JPEG
151 + !jpeg:no-jpeg:
152 + libinput
153 + libinput:xkbcommon:
154 + :opengl
155 + png:png:
156 + png:system-png:IMAGEFORMAT_PNG
157 + !png:no-png:
158 + tslib:tslib:
159 + udev:libudev:
160 + vulkan:vulkan:
161 + X:xcb:
162 + X:xcb-glx:
163 + X:xcb-plugin:
164 + X:xcb-render:
165 + X:xcb-sm:
166 + X:xcb-xlib:
167 + X:xcb-xinput:
168 +)
169 +
170 +QT5_GENTOO_PRIVATE_CONFIG=(
171 + :gui
172 +)
173 +
174 +PATCHES=(
175 + "${FILESDIR}/qt-5.12-gcc-avx2.patch" # bug 672946
176 + "${FILESDIR}/${PN}-5.14.1-cmake-macro-backward-compat.patch" # bug 703306
177 +)
178 +
179 +src_prepare() {
180 + # don't add -O3 to CXXFLAGS, bug 549140
181 + sed -i -e '/CONFIG\s*+=/s/optimize_full//' src/gui/gui.pro || die
182 +
183 + # egl_x11 is activated when both egl and X are enabled
184 + use egl && QT5_GENTOO_CONFIG+=(X:egl_x11:) || QT5_GENTOO_CONFIG+=(egl:egl_x11:)
185 +
186 + qt_use_disable_config dbus dbus \
187 + src/platformsupport/themes/genericunix/genericunix.pri
188 +
189 + qt_use_disable_config tuio tuiotouch src/plugins/generic/generic.pro
190 +
191 + qt_use_disable_mod ibus dbus \
192 + src/plugins/platforminputcontexts/platforminputcontexts.pro
193 +
194 + use vnc || sed -i -e '/SUBDIRS += vnc/d' \
195 + src/plugins/platforms/platforms.pro || die
196 +
197 + qt5-build_src_prepare
198 +}
199 +
200 +src_configure() {
201 + local myconf=(
202 + $(usex dbus -dbus-linked '')
203 + $(qt_use egl)
204 + $(qt_use eglfs)
205 + $(usex eglfs '-gbm -kms' '')
206 + $(qt_use evdev)
207 + $(qt_use evdev mtdev)
208 + -fontconfig
209 + -system-freetype
210 + $(usex gif '' -no-gif)
211 + -gui
212 + -system-harfbuzz
213 + $(qt_use jpeg libjpeg system)
214 + $(qt_use libinput)
215 + -opengl $(usex gles2 es2 desktop)
216 + $(qt_use png libpng system)
217 + $(qt_use tslib)
218 + $(qt_use vulkan)
219 + $(qt_use udev libudev)
220 + $(qt_use X xcb system)
221 + $(usex X '-xcb-xlib -xcb-xinput -xkb' '')
222 + )
223 + if use libinput || use X; then
224 + myconf+=( -xkbcommon )
225 + fi
226 + qt5-build_src_configure
227 +}