036140cd392aa3d8fabe238a387c4ea1d3d330b3
[gentoo.git] / dev-qt / qtgui / qtgui-5.9.6.ebuild
1 # Copyright 1999-2018 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=6
5 QT5_MODULE="qtbase"
6 inherit qt5-build
7
8 DESCRIPTION="The GUI module and platform plugins for the Qt5 framework"
9
10 if [[ ${QT5_BUILD_TYPE} == release ]]; then
11         KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc x86 ~amd64-fbsd"
12 fi
13
14 # TODO: linuxfb
15
16 IUSE="accessibility dbus egl eglfs evdev +gif gles2 ibus
17         jpeg +libinput +png tslib tuio +udev vnc +xcb"
18 REQUIRED_USE="
19         || ( eglfs xcb )
20         accessibility? ( dbus xcb )
21         eglfs? ( egl )
22         ibus? ( dbus )
23         libinput? ( udev )
24         xcb? ( gles2? ( egl ) )
25 "
26
27 RDEPEND="
28         dev-libs/glib:2
29         ~dev-qt/qtcore-${PV}
30         media-libs/fontconfig
31         >=media-libs/freetype-2.6.1:2
32         >=media-libs/harfbuzz-1.0.6:=
33         >=sys-libs/zlib-1.2.5
34         virtual/opengl
35         dbus? ( ~dev-qt/qtdbus-${PV} )
36         egl? ( media-libs/mesa[egl] )
37         eglfs? (
38                 media-libs/mesa[gbm]
39                 x11-libs/libdrm
40         )
41         evdev? ( sys-libs/mtdev )
42         gles2? ( media-libs/mesa[gles2] )
43         jpeg? ( virtual/jpeg:0 )
44         libinput? (
45                 dev-libs/libinput:=
46                 x11-libs/libxkbcommon
47         )
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} )
53         xcb? (
54                 x11-libs/libICE
55                 x11-libs/libSM
56                 x11-libs/libX11
57                 >=x11-libs/libXi-1.7.5
58                 >=x11-libs/libxcb-1.10:=[xkb]
59                 >=x11-libs/libxkbcommon-0.4.1[X]
60                 x11-libs/xcb-util-image
61                 x11-libs/xcb-util-keysyms
62                 x11-libs/xcb-util-renderutil
63                 x11-libs/xcb-util-wm
64         )
65 "
66 DEPEND="${RDEPEND}
67         evdev? ( sys-kernel/linux-headers )
68         udev? ( sys-kernel/linux-headers )
69 "
70 PDEPEND="
71         ibus? ( app-i18n/ibus )
72 "
73
74 QT5_TARGET_SUBDIRS=(
75         src/gui
76         src/openglextensions
77         src/platformheaders
78         src/platformsupport
79         src/plugins/generic
80         src/plugins/imageformats
81         src/plugins/platforms
82         src/plugins/platforminputcontexts
83 )
84
85 QT5_GENTOO_CONFIG=(
86         accessibility:accessibility-atspi-bridge
87         egl
88         eglfs
89         eglfs:eglfs_egldevice:
90         eglfs:eglfs_gbm:
91         evdev
92         evdev:mtdev:
93         :fontconfig
94         :system-freetype:FREETYPE
95         !:no-freetype:
96         !gif:no-gif:
97         gles2::OPENGL_ES
98         gles2:opengles2:OPENGL_ES_2
99         !:no-gui:
100         :system-harfbuzz:HARFBUZZ
101         !:no-harfbuzz:
102         jpeg:system-jpeg:IMAGEFORMAT_JPEG
103         !jpeg:no-jpeg:
104         libinput
105         libinput:xkbcommon-evdev:
106         :opengl
107         png:png:
108         png:system-png:IMAGEFORMAT_PNG
109         !png:no-png:
110         tslib
111         udev:libudev:
112         xcb:xcb:
113         xcb:xcb-glx:
114         xcb:xcb-plugin:
115         xcb:xcb-render:
116         xcb:xcb-sm:
117         xcb:xcb-xlib:
118         xcb:xinput2:
119         xcb::XKB
120 )
121
122 QT5_GENTOO_PRIVATE_CONFIG=(
123         :gui
124 )
125
126 src_prepare() {
127         # egl_x11 is activated when both egl and xcb are enabled
128         use egl && QT5_GENTOO_CONFIG+=(xcb:egl_x11) || QT5_GENTOO_CONFIG+=(egl:egl_x11)
129
130         qt_use_disable_config dbus dbus \
131                 src/platformsupport/themes/genericunix/genericunix.pri
132
133         qt_use_disable_config tuio udpsocket src/plugins/generic/generic.pro
134
135         qt_use_disable_mod ibus dbus \
136                 src/plugins/platforminputcontexts/platforminputcontexts.pro
137
138         use vnc || sed -i -e '/SUBDIRS += vnc/d' \
139                 src/plugins/platforms/platforms.pro || die
140
141         qt5-build_src_prepare
142 }
143
144 src_configure() {
145         local myconf=(
146                 $(usex dbus -dbus-linked '')
147                 $(qt_use egl)
148                 $(qt_use eglfs)
149                 $(usex eglfs '-gbm -kms' '')
150                 $(qt_use evdev)
151                 $(qt_use evdev mtdev)
152                 -fontconfig
153                 -system-freetype
154                 $(usex gif '' -no-gif)
155                 -gui
156                 -system-harfbuzz
157                 $(qt_use jpeg libjpeg system)
158                 $(qt_use libinput)
159                 $(qt_use libinput xkbcommon-evdev)
160                 -opengl $(usex gles2 es2 desktop)
161                 $(qt_use png libpng system)
162                 $(qt_use tslib)
163                 $(qt_use udev libudev)
164                 $(qt_use xcb xcb system)
165                 $(qt_use xcb xkbcommon-x11 system)
166                 $(usex xcb '-xcb-xlib -xinput2 -xkb' '')
167         )
168         qt5-build_src_configure
169 }