Use https by default
[gentoo.git] / dev-qt / qtgui / qtgui-4.8.6-r4.ebuild
1 # Copyright 1999-2015 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Id$
4
5 EAPI=5
6
7 inherit eutils qt4-build-multilib
8
9 DESCRIPTION="The GUI module for the Qt toolkit"
10 SRC_URI+=" https://dev.gentoo.org/~pesa/patches/${PN}-systemtrayicon-plugin-system.patch"
11
12 if [[ ${QT4_BUILD_TYPE} == live ]]; then
13         KEYWORDS="alpha arm hppa ia64 ppc ppc64"
14 else
15         KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
16 fi
17
18 IUSE="+accessibility cups egl +glib gtkstyle mng nas nis qt3support tiff trace xinerama +xv"
19
20 REQUIRED_USE="
21         gtkstyle? ( glib )
22 "
23
24 # cairo[-qt4] is needed because of bug 454066
25 RDEPEND="
26         app-eselect/eselect-qtgraphicssystem
27         ~dev-qt/qtcore-${PV}[aqua=,debug=,glib=,qt3support=,${MULTILIB_USEDEP}]
28         ~dev-qt/qtscript-${PV}[aqua=,debug=,${MULTILIB_USEDEP}]
29         >=media-libs/fontconfig-2.10.2-r1[${MULTILIB_USEDEP}]
30         >=media-libs/freetype-2.4.11-r1:2[${MULTILIB_USEDEP}]
31         media-libs/libpng:0=[${MULTILIB_USEDEP}]
32         >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
33         virtual/jpeg:0[${MULTILIB_USEDEP}]
34         !aqua? (
35                 >=x11-libs/libICE-1.0.8-r1[${MULTILIB_USEDEP}]
36                 >=x11-libs/libSM-1.2.1-r1[${MULTILIB_USEDEP}]
37                 >=x11-libs/libX11-1.5.0-r1[${MULTILIB_USEDEP}]
38                 >=x11-libs/libXcursor-1.1.13-r1[${MULTILIB_USEDEP}]
39                 >=x11-libs/libXext-1.3.1-r1[${MULTILIB_USEDEP}]
40                 >=x11-libs/libXfixes-5.0-r1[${MULTILIB_USEDEP}]
41                 >=x11-libs/libXi-1.6.2-r1[${MULTILIB_USEDEP}]
42                 >=x11-libs/libXrandr-1.4.0-r1[${MULTILIB_USEDEP}]
43                 >=x11-libs/libXrender-0.9.7-r1[${MULTILIB_USEDEP}]
44                 xinerama? ( >=x11-libs/libXinerama-1.1.2-r1[${MULTILIB_USEDEP}] )
45                 xv? ( >=x11-libs/libXv-1.0.7-r1[${MULTILIB_USEDEP}] )
46         )
47         cups? ( net-print/cups[${MULTILIB_USEDEP}] )
48         egl? ( media-libs/mesa[egl,${MULTILIB_USEDEP}] )
49         glib? ( dev-libs/glib:2[${MULTILIB_USEDEP}] )
50         gtkstyle? (
51                 >=x11-libs/cairo-1.12[-qt4(-),${MULTILIB_USEDEP}]
52                 >=x11-libs/gtk+-2.24.23-r1:2[aqua=,${MULTILIB_USEDEP}]
53         )
54         mng? ( >=media-libs/libmng-1.0.10-r2:=[${MULTILIB_USEDEP}] )
55         nas? ( >=media-libs/nas-1.9.3-r1[${MULTILIB_USEDEP}] )
56         tiff? ( >=media-libs/tiff-4.0.3-r2:0[${MULTILIB_USEDEP}] )
57         !<dev-qt/qthelp-4.8.5:4
58 "
59 DEPEND="${RDEPEND}
60         !aqua? (
61                 >=x11-proto/inputproto-2.2-r1[${MULTILIB_USEDEP}]
62                 >=x11-proto/xextproto-7.2.1-r1[${MULTILIB_USEDEP}]
63                 xinerama? ( >=x11-proto/xineramaproto-1.2.1-r1[${MULTILIB_USEDEP}] )
64                 xv? ( >=x11-proto/videoproto-2.3.1-r1[${MULTILIB_USEDEP}] )
65         )
66 "
67 PDEPEND="
68         qt3support? ( ~dev-qt/qt3support-${PV}[aqua=,debug=,${MULTILIB_USEDEP}] )
69 "
70
71 PATCHES=(
72         "${DISTDIR}/${PN}-systemtrayicon-plugin-system.patch" # bug 503880
73         "${FILESDIR}/${PN}-4.7.3-cups.patch" # bug 323257
74         "${FILESDIR}/${PN}-4.8.5-cleanlooks-floating-point-exception.patch" # bug 507124
75         "${FILESDIR}/${PN}-4.8.5-disable-gtk-theme-check.patch" # bug 491226
76         "${FILESDIR}/${PN}-4.8.5-dont-crash-on-broken-GIF-images.patch" # bug 508984
77         "${FILESDIR}/${PN}-4.8.5-qclipboard-delay.patch" # bug 514968
78         "${FILESDIR}/${PN}-4.8.5-CVE-2015-0295.patch" # bug 541972
79         "${FILESDIR}/${PN}-4.8.6-CVE-2015-1858.patch" # bug 546174 - also covers CVE-2015-1859
80         "${FILESDIR}/${PN}-4.8.6-CVE-2015-1860.patch" # bug 546174
81 )
82
83 QT4_TARGET_DIRECTORIES="
84         src/gui
85         src/scripttools
86         src/plugins/imageformats/gif
87         src/plugins/imageformats/ico
88         src/plugins/imageformats/jpeg
89         src/plugins/imageformats/tga
90         src/plugins/inputmethods"
91
92 pkg_setup() {
93         use accessibility && QT4_TARGET_DIRECTORIES+=" src/plugins/accessible/widgets"
94         use mng && QT4_TARGET_DIRECTORIES+=" src/plugins/imageformats/mng"
95         use tiff && QT4_TARGET_DIRECTORIES+=" src/plugins/imageformats/tiff"
96         use trace && QT4_TARGET_DIRECTORIES+=" src/plugins/graphicssystems/trace tools/qttracereplay"
97
98         [[ ${CHOST} != *-darwin* ]] && QT4_TARGET_DIRECTORIES+=" tools/qtconfig"
99
100         QCONFIG_ADD="
101                 mitshm tablet x11sm xcursor xfixes xinput xkb xrandr xrender xshape xsync
102                 fontconfig system-freetype gif png system-png jpeg system-jpeg
103                 $(usev accessibility)
104                 $(usev cups)
105                 $(use mng && echo system-mng)
106                 $(usev nas)
107                 $(usev nis)
108                 $(use tiff && echo system-tiff)
109                 $(usev xinerama)
110                 $(use xv && echo xvideo)"
111         QCONFIG_REMOVE="no-freetype no-gif no-jpeg no-png no-gui"
112         QCONFIG_DEFINE="$(use accessibility && echo QT_ACCESSIBILITY)
113                         $(use cups && echo QT_CUPS)
114                         $(use egl && echo QT_EGL)
115                         QT_FONTCONFIG QT_FREETYPE
116                         $(use gtkstyle && echo QT_STYLE_GTK)
117                         QT_IMAGEFORMAT_JPEG QT_IMAGEFORMAT_PNG
118                         $(use mng && echo QT_IMAGEFORMAT_MNG)
119                         $(use nas && echo QT_NAS)
120                         $(use nis && echo QT_NIS)
121                         $(use tiff && echo QT_IMAGEFORMAT_TIFF)
122                         QT_SESSIONMANAGER QT_SHAPE QT_TABLET QT_XCURSOR QT_XFIXES
123                         $(use xinerama && echo QT_XINERAMA)
124                         QT_XINPUT QT_XKB QT_XRANDR QT_XRENDER QT_XSYNC
125                         $(use xv && echo QT_XVIDEO)"
126 }
127
128 src_prepare() {
129         qt4-build-multilib_src_prepare
130
131         # Add -xvideo to the list of accepted configure options
132         sed -i -e 's:|-xinerama|:&-xvideo|:' configure || die
133 }
134
135 multilib_src_configure() {
136         local myconf=(
137                 $(qt_use accessibility)
138                 $(qt_use cups)
139                 $(qt_use glib)
140                 $(qt_use mng libmng system)
141                 $(qt_use nas nas-sound system)
142                 $(qt_use nis)
143                 $(qt_use tiff libtiff system)
144                 $(qt_use egl)
145                 $(qt_use qt3support)
146                 $(qt_use gtkstyle)
147                 $(qt_use xinerama)
148                 $(qt_use xv xvideo)
149                 -system-libpng -system-libjpeg -system-zlib
150                 -no-sql-mysql -no-sql-psql -no-sql-ibase -no-sql-sqlite -no-sql-sqlite2 -no-sql-odbc
151                 -sm -xshape -xsync -xcursor -xfixes -xrandr -xrender -mitshm -xinput -xkb
152                 -fontconfig -no-svg -no-webkit -no-phonon -no-opengl
153         )
154         qt4_multilib_src_configure
155 }
156
157 multilib_src_install_all() {
158         qt4_multilib_src_install_all
159
160         dodir /usr/share/qt4/graphicssystems
161         echo "default" > "${ED}"/usr/share/qt4/graphicssystems/raster || die
162         echo "" > "${ED}"/usr/share/qt4/graphicssystems/native || die
163
164         if has tools/qtconfig ${QT4_TARGET_DIRECTORIES}; then
165                 newicon tools/qtconfig/images/appicon.png qtconfig.png
166                 make_desktop_entry qtconfig 'Qt Configuration Tool' qtconfig 'Qt;Settings;DesktopSettings'
167         fi
168 }
169
170 pkg_postinst() {
171         qt4-build-multilib_pkg_postinst
172
173         # raster is the default graphicssystem, set it on first install
174         eselect qtgraphicssystem set raster --use-old
175 }