1 # Copyright 1999-2019 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
8 DESCRIPTION="The GUI module and platform plugins for the Qt5 framework"
10 if [[ ${QT5_BUILD_TYPE} == release ]]; then
11 KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 ~sparc x86"
16 IUSE="accessibility dbus egl eglfs evdev +gif gles2 ibus
17 jpeg +libinput +png tslib tuio +udev vnc +xcb"
20 accessibility? ( dbus xcb )
24 xcb? ( gles2? ( egl ) )
31 >=media-libs/freetype-2.6.1:2
32 >=media-libs/harfbuzz-1.6.0:=
35 dbus? ( ~dev-qt/qtdbus-${PV} )
36 egl? ( media-libs/mesa[egl] )
41 evdev? ( sys-libs/mtdev )
42 gles2? ( media-libs/mesa[gles2] )
43 jpeg? ( virtual/jpeg:0 )
46 >=x11-libs/libxkbcommon-0.5.0
48 png? ( media-libs/libpng:0= )
49 tslib? ( x11-libs/tslib )
50 tuio? ( ~dev-qt/qtnetwork-${PV} )
51 udev? ( virtual/libudev:= )
52 vnc? ( ~dev-qt/qtnetwork-${PV} )
57 >=x11-libs/libxcb-1.12:=[xkb]
58 >=x11-libs/libxkbcommon-0.5.0[X]
59 x11-libs/xcb-util-image
60 x11-libs/xcb-util-keysyms
61 x11-libs/xcb-util-renderutil
66 evdev? ( sys-kernel/linux-headers )
67 udev? ( sys-kernel/linux-headers )
70 ibus? ( app-i18n/ibus )
80 src/plugins/imageformats
82 src/plugins/platforminputcontexts
86 accessibility:accessibility-atspi-bridge
89 eglfs:eglfs_egldevice:
94 :system-freetype:FREETYPE
98 gles2:opengles2:OPENGL_ES_2
102 jpeg:system-jpeg:IMAGEFORMAT_JPEG
108 png:system-png:IMAGEFORMAT_PNG
121 QT5_GENTOO_PRIVATE_CONFIG=(
126 "${FILESDIR}/qt-5.12-gcc-avx2.patch" # 672946
130 # don't add -O3 to CXXFLAGS, bug 549140
131 sed -i -e '/CONFIG\s*+=/s/optimize_full//' src/gui/gui.pro || die
133 # egl_x11 is activated when both egl and xcb are enabled
134 use egl && QT5_GENTOO_CONFIG+=(xcb:egl_x11:) || QT5_GENTOO_CONFIG+=(egl:egl_x11:)
136 qt_use_disable_config dbus dbus \
137 src/platformsupport/themes/genericunix/genericunix.pri
139 qt_use_disable_config tuio tuiotouch src/plugins/generic/generic.pro
141 qt_use_disable_mod ibus dbus \
142 src/plugins/platforminputcontexts/platforminputcontexts.pro
144 use vnc || sed -i -e '/SUBDIRS += vnc/d' \
145 src/plugins/platforms/platforms.pro || die
147 qt5-build_src_prepare
152 $(usex dbus -dbus-linked '')
155 $(usex eglfs '-gbm -kms' '')
157 $(qt_use evdev mtdev)
160 $(usex gif '' -no-gif)
163 $(qt_use jpeg libjpeg system)
165 -opengl $(usex gles2 es2 desktop)
166 $(qt_use png libpng system)
168 $(qt_use udev libudev)
169 $(qt_use xcb xcb system)
170 $(usex xcb '-xcb-xlib -xcb-xinput -xkb' '')
172 if use libinput || use xcb; then
173 myconf+=( -xkbcommon )
175 qt5-build_src_configure