summaryrefslogtreecommitdiff
path: root/dev-qt
diff options
context:
space:
mode:
authorBen de Groot <yngwin@gentoo.org>2015-05-07 08:31:40 +0000
committerBen de Groot <yngwin@gentoo.org>2015-05-07 08:31:40 +0000
commit893808315773940eb36b704af1996055ff1f7272 (patch)
tree20c73fd98b98bab2e880221b71de8ac8b6cc960f /dev-qt
parentVersion bump. Removed old (diff)
downloadhistorical-893808315773940eb36b704af1996055ff1f7272.tar.gz
historical-893808315773940eb36b704af1996055ff1f7272.tar.bz2
historical-893808315773940eb36b704af1996055ff1f7272.zip
Apply upstream patches for bug #546174. Fixes CVE-2015-1858, CVE-2015-1859, CVE-2015-1860.
Package-Manager: portage-2.2.18/cvs/Linux x86_64 Manifest-Sign-Key: 0x4FDF9CFD2FAC514E!
Diffstat (limited to 'dev-qt')
-rw-r--r--dev-qt/qtgui/ChangeLog10
-rw-r--r--dev-qt/qtgui/Manifest33
-rw-r--r--dev-qt/qtgui/files/qtgui-4.8.6-CVE-2015-1858.patch63
-rw-r--r--dev-qt/qtgui/files/qtgui-4.8.6-CVE-2015-1860.patch31
-rw-r--r--dev-qt/qtgui/qtgui-4.8.6-r4.ebuild176
5 files changed, 297 insertions, 16 deletions
diff --git a/dev-qt/qtgui/ChangeLog b/dev-qt/qtgui/ChangeLog
index f1e0dabd8108..81b12991c088 100644
--- a/dev-qt/qtgui/ChangeLog
+++ b/dev-qt/qtgui/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for dev-qt/qtgui
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-qt/qtgui/ChangeLog,v 1.78 2015/05/07 07:48:24 yngwin Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-qt/qtgui/ChangeLog,v 1.79 2015/05/07 08:31:30 yngwin Exp $
+
+*qtgui-4.8.6-r4 (07 May 2015)
+
+ 07 May 2015; Ben de Groot <yngwin@gentoo.org>
+ +files/qtgui-4.8.6-CVE-2015-1858.patch,
+ +files/qtgui-4.8.6-CVE-2015-1860.patch, +qtgui-4.8.6-r4.ebuild:
+ Apply upstream patches for bug #546174. Fixes CVE-2015-1858, CVE-2015-1859,
+ CVE-2015-1860.
*qtgui-4.8.6-r3 (07 May 2015)
diff --git a/dev-qt/qtgui/Manifest b/dev-qt/qtgui/Manifest
index 8107d9f3b9ab..efd5f164fd7f 100644
--- a/dev-qt/qtgui/Manifest
+++ b/dev-qt/qtgui/Manifest
@@ -9,6 +9,8 @@ AUX qtgui-4.8.5-dont-crash-on-broken-GIF-images.patch 1440 SHA256 f76ec92367e32c
AUX qtgui-4.8.5-keyboard-shortcuts.patch 1706 SHA256 597fe8717279af4db6bc074588ef9973b2a48e5249ea3e6e85266ce949335921 SHA512 60a3c28b9fd8032e5ee314f2dc6d043981441858d7b3a3da0d97d87c39599d7e09e398625c03bf44974c3782a824ab8f997f579fcd26e4a023bb7cfe04c0f443 WHIRLPOOL 77269a9d4285f3f8fb544299f5ed938430362cb45eecfa9506beee1cf3fbfa757113d35f40c25f3288c45591fd22a9b4ce64627e9c96d4b0cd25f701be20d5eb
AUX qtgui-4.8.5-libjpeg-9.patch 2852 SHA256 4b692de233f1cd9bf13a48166610af9f7b1257b56170f73f5989bf1d4b4d9b49 SHA512 ab42d08cca5e570af0400b483d9cf263ab5656b294314d6b7222d0b32f80da9688fcc2ad02fec70460011b4d526673a459758ee48e3fe3c0726c3da896ecb3e4 WHIRLPOOL 2ceee8488ad499f1397c3ac678a75dbcb1968e33275f1767a78cdd09b8c1a6db6140e215b00828900f2cdec107c436c877d78fb71e6d84aee713981509cc0c91
AUX qtgui-4.8.5-qclipboard-delay.patch 1135 SHA256 7119cdc3450e1e36e01ce3273c5131b89c6e4a03f08652f5fa4eb0919d3b4bd0 SHA512 00c901fc9b9bd5b8ce45e8bb4dd4eda8832df7eda104ae1614d7cdac681d23f0daad543d0480f1d9366e2644833db680e0526660472a6cf1a907b803acf76517 WHIRLPOOL a45f6cfda0fd6f137c091eb82039900ac6f39d2b277ab9125b74e0828e2bb809561f1ef11328af1c5c1c20f5ca06e39e66881219c6101b1134126ca482d2aac9
+AUX qtgui-4.8.6-CVE-2015-1858.patch 2849 SHA256 bf7b77a1b311d2b0f647c4efb72cf42edb66f3085750784388fc7ffaf6a73fb0 SHA512 b7be8cf6bc9706df4f491fb5134a76ade03e1fd1d127d5d9bf228a787ee0f32496da04c937a1d44adcb698eadfe969f0026d626e9c5d9ec623e24541184b8246 WHIRLPOOL 01da12595a31eb323d5c96d85b8d3315a17929f916661eda209f5e2d13b9f7c187423d2620fedac33856ca132a5ac66d22ffb52bc437490ebe55c6d8a4366cb1
+AUX qtgui-4.8.6-CVE-2015-1860.patch 1009 SHA256 4afd0b1ef272774dfa845c2dc1340ce7d468f159646e92d6669e9d8f38f14171 SHA512 e2da2a04ab4d1180f855571aa39356ed74d173e95e7c0561021709256c7cfc85d2b99fd485d724357a2947379de52fad4c9ac7d52c61dd04373b00494de58e15 WHIRLPOOL 821a7552963412cba0294bbe3a7c3d7604c09f466d3cb9b22c7eb10a359359fa32748ad5ae45f86972de7edb1cb676197e082bb715e08c9c0391bbc6ec8f78f0
AUX qtgui-5.4.1-CVE-2015-0295.patch 1828 SHA256 fba8ea41b0252174c42e4403f9be8b6e275a6a312228b5b37e336242be618e15 SHA512 6101c81d9931af24d48ef0b49ee38c2c912fc28401096b981438eab1d9e16f4bc04ed4153e5a5b9cc10187b3d230ba99c0452b08e90592487d8c7c13b2459119 WHIRLPOOL 3b0e66184e83dcda0711703af500ea8cd6437e5d668a559fc7524d006e1d50d02cb9955123f8ce1da6b2306ca448e614d364c50cbe5d8b771b2aaa4daccbb509
DIST qt-everywhere-opensource-src-4.8.5.tar.gz 241491467 SHA256 eb728f8268831dc4373be6403b7dd5d5dde03c169ad6882f9a8cb560df6aa138 SHA512 47118d1aa30c59a1eb74e805023cd060edcb35bb0944fe6651889254b75acbd4b83700ba92a9bc215663474d26330cb44f084098c380fac9270742659e5864eb WHIRLPOOL a18f47fd91b522d1543e415aff4f5056202e0cab03da9cfcae9fe2d4118cb1dd1d5fd6a5e2edb9c1e4a68563188d44440e234d268d9c0aef6e3ca3f0988dd357
DIST qt-everywhere-opensource-src-4.8.6.tar.gz 241623667 SHA256 8b14dd91b52862e09b8e6a963507b74bc2580787d171feda197badfa7034032c SHA512 c2d07c3cf9d687cb9b93e337c89df3f0055bd02bc8aa5ecd55d3ffb238b31a4308aeabc3c51a4f94ac76a1b00796f047513d02e427ed93ae8dd99f836fff7692 WHIRLPOOL 473566814a77237dbdd37a47980c1085f6cf39599c4d6b0120959fe80dadf65c4eaafd5f528dd86cea8815562faa204bedfe3b766c2ca4f2d2c99efc21dbca84
@@ -16,25 +18,26 @@ DIST qtbase-opensource-src-5.4.1.tar.xz 46132220 SHA256 8574a593830959c0f7e5430f
DIST qtgui-systemtrayicon-plugin-system.patch 51377 SHA256 e8582ebb2a5db99bf85789585516459ace42fc2b57fc7d5ff6156a2819bda282 SHA512 0d74b61e23af2e8ef0619ee616c4b775761514f53ba79bcb25b32b7e55beab3575c0d279ba1b016498804023bb78f8cff61964ce56f80642f648406f7c303679 WHIRLPOOL 03cc247a2a0e3b77fc541fa0b47abb125c8f7b304037f2067488861f12fdab25d3b3b3a7cf90626c229aa85a2d43ae4319c0f838b6eeb5ecdfe838a365ed8a58
EBUILD qtgui-4.8.5-r4.ebuild 6395 SHA256 b2a5932337fe01247baca27756d6690edb43323d3d2bff29dfc53e52907da122 SHA512 7c3877a1b89068ca36860b71d994da890405aa467bea5b2e4f6fb209e415ff4934496ad4afd0539b6432024fb8b9b2f5a1e70e4910af958a1944a91bd41048ae WHIRLPOOL 5d4a50ba58d147f97a979195e30f01238342bd617679448fe633b970cc15356eee33221ad776817290aab9a1871c77511c2abce76e96dd2937c88b6ace5e8256
EBUILD qtgui-4.8.6-r3.ebuild 6177 SHA256 4eb7ebbedd5084e19f273bdad71cc0623c9d495a3f2ca4650bd4d8d451ebd6a1 SHA512 f45f82a7f2be8c257e944c30759b5a790dfc7e462b952fed8759c81fb340baf8f16859c5a66d3b0ef0c9233c25ed7a8c6f56e080a5f352aab090512252c9d42b WHIRLPOOL 492370ad94ebb7a82f2447f6c317740dc96332385a8acea4a23509edc0e1ca072a07adea583586234f21341bc392be00d58efe2a98ce510c89463d51ece3c1be
+EBUILD qtgui-4.8.6-r4.ebuild 6325 SHA256 fc07622f4a7833ea02e6cefaed2c35a8672da81e7435ef834c194729f0542176 SHA512 00b1e191925a386d153b6a96d17d7bf1b0b3976f8b48704d239f64e14fa9ab7848a56003864deaca5d434edc533910b5b7d16e888bf238b791be6ec484fd3816 WHIRLPOOL f929bfeb91cabd255618982f14d869c1044cce2ba5d1e07c7c72fc421d9926a3f0a414fd763dfbe787c534390a0e08d4236c4eb812aa6f32a7bb5c1896909a21
EBUILD qtgui-5.4.1-r1.ebuild 3665 SHA256 98b16fdaffd8220389489117d00ff6bcac165a1aecac294b9dd99fd8fed4f4d3 SHA512 831191d651ca2c0c77dab92d83ae89738edbf066a382dd9e1548c92f3040d038eb6395c6fa0f0a133a51e1396212e882f5321418da2729c0a8fa7dea0c1d54d6 WHIRLPOOL ed5be31a585a9ead5d512a00784314dac334b0727be9a427ada2f92d49797073c7f8ec3eae9b597012a395b0fe9a586ddeb6927bf8f2c1fd320096f2e311f14f
-MISC ChangeLog 43449 SHA256 1c00baeeb0b6eb764fd8f4c03f9cabc03738f896e92e24d91e4daaa5aebaf0f1 SHA512 b60543251955f0747f74eb1eed7a73f0f85fbe8c10fef13d46f5d7ea2a71dfc6d6c2877dc194a07cfff955950877f11274b5d529493dec4054c237c89492303b WHIRLPOOL 61038a690f63bdb428fef29a1a1129c08caa3557596773fd4574fd2ed8c5980a37043ba507eadb40ef3884320c43c0fc32f1d3b9123c63048db1e207b6598097
+MISC ChangeLog 43732 SHA256 60deb4435aedcd53127c6db8674dc4621149310b11b2e29b58622e488521d083 SHA512 7bbf653504843ba984d02177f2e4461e13a0ae59d5f9a3ab2fbf7e874fbe3782f209c292c45898f409014708c67c1886f6679d34c06b68160c54f3601f79fee1 WHIRLPOOL 1017c9f36be03cd156ad6ca4fdaab1413a602bd45860e48817c16cd07dc53b2add275adb5817911901a315ad22eecda83084b909e228002a9f8118a899fdf274
MISC metadata.xml 1431 SHA256 40799d067d2838a90818644ba38a4af47880194285c0627658b6d6798219ca17 SHA512 51e5b41ecc5584a3bda4f595bc5dd43ab89070ce356d2c03406479ed36490d46fa235eefd07707e30e9cdd952cd77bcf626423c5453725d442e769eb14c0e130 WHIRLPOOL 56c82cccefe2dd43b577456fcc90ed99ceb020b78d24f93f0c7a7618274f2025837c4142d75569f5894a2cacb45ca42c34e5e74d73e03aa6a9f9e2fb84b9c149
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.1
-iQJ8BAEBCABmBQJVSxjLXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
+iQJ8BAEBCABmBQJVSyLmXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ5MTlDREQ0NUU5Mjc4RkU2RjJDNTAyNzU0
-RkRGOUNGRDJGQUM1MTRFAAoJEE/fnP0vrFFO0vQQAJL0fIzBf2N4+L+XxmEOsf+z
-771Bh7rOOZDfxiOpV1KpckOwOjycdJHgCmDStie4MtX6DlTyWZ4v+E5+P3Ih3zer
-+329hZv4VfxhmXVacXc7Bs5gjvdzd07ci2W99cA4LXCs8ESyd8YLWuw3YQPJHZTK
-Qn/O2kCb9iO3GKuOGPvKjkJs76CGzZFd4aE7janqNjYCjbiTk+GdqsnHs6RlVshj
-qPNAKRNYcxOr5y5JMddkJgvCRmv7JocWKRPQTqzHimsz05Cw6HpGtpbU1kiY4QCg
-1vIsqCVt0cSCeoj4lfhQhLvu8sTKBoHazB5r94dhST0JZ4b8VJDSaLB5gfKdNZ62
-Mt+Ze/XVhtzPGQICoNf/xGmceGvIoomNhbr/1UO7o25gcJ2hMANGtxOtzlPNeCEm
-edjRwz/3n8Jow/2Qt190WY1C1BOjszxT/VeR1Zww3zYZJyzlcOxhvgoh/DMx4qwn
-ajR0m3qMWX6Bib/4ncs4imWPRKHezf6UPo6HjUAQm+jQFid2yJf/+L1gW0gr6sYk
-k6v+3L/xk1zzKI+Z2IPgD8QzK+iwItJq3L3o/XA89ly41GN8fr0HKXAp0Xi/T84H
-BmRdgSvnr7kJBSBz3a6xILZ3gSarSnQ/LkvrXEvwN2cMuSyMHhZPc0hlSo04OEuE
-OkWN+R28yNGQv++Asxum
-=LU27
+RkRGOUNGRDJGQUM1MTRFAAoJEE/fnP0vrFFObOkP+wQQMEcsU16AO1e75xslw/9R
+W3ygp0CHWge/nJ3l01DkR4Ke8PyDueQ3EkAYjeP/OZjZODDjfyb0odnhQNQYMIhJ
+dScXhgg9rwVHuHewt/miUGk6b/Jc5rFOLztW0g6rZiSeb/j/qCf8UDzMiwpVowLg
+6fEj29YfBLt+E48V6PXVd2FejWbWucwnKHda1f79Fh28BSv7NM0qSBBT8BAz1uw9
+CnaNMCf5wp9aTghrKo3uBncL8amz6NncY/3pjS1tBqTEr6Z3nTdZMyo+qj1HZdor
+fDCvCeFJSjRh5QB3fuQrTBjx3ht+ASBHm3lt1gJz8ltHXcxxCRV76DTLtZi+DCj3
+/KQeScwAbwT2MKcMCdHE+vrr/bwDBKVw0jFfQtBv6Nx67Y5V+YJuvStrGo93qeKX
+A3iyR5QJSeWe6GluuaHi31jDqt0VJCucUHrHrLpgnPPosAbMKwKdOsVhH8+ANg13
+c1mAuzi/duxKtKKGo/I+FZkYWWGKlj7paxqt9DPIg/uEOQk1kUccdtML7SRmT1MG
+tZDor6hg0cfRuRe6OBaYmqpkEqG/zUm6z+lgE/tuSKCV1NBAbjtJFVfGM13fcyXx
+9DsxM8c40sQkqEdgdOArwUiNrKtIs6KTIEepifs+c433ccJKGOqy/9vb8SeWHmfr
+3WO783XNWE6UJEvxuinP
+=bqmE
-----END PGP SIGNATURE-----
diff --git a/dev-qt/qtgui/files/qtgui-4.8.6-CVE-2015-1858.patch b/dev-qt/qtgui/files/qtgui-4.8.6-CVE-2015-1858.patch
new file mode 100644
index 000000000000..c1aac444a644
--- /dev/null
+++ b/dev-qt/qtgui/files/qtgui-4.8.6-CVE-2015-1858.patch
@@ -0,0 +1,63 @@
+From 3e55cd6dc467303a3c35312e9fcb255c2c048b32 Mon Sep 17 00:00:00 2001
+From: Eirik Aavitsland <eirik.aavitsland@theqtcompany.com>
+Date: Wed, 11 Mar 2015 13:34:01 +0100
+Subject: Fixes crash in bmp and ico image decoding
+
+Fuzzing test revealed that for certain malformed bmp and ico files,
+the handler would segfault.
+
+Change-Id: I19d45145f31e7f808f7f6a1a1610270ea4159cbe
+(cherry picked from qtbase/2adbbae5432aa9d8cc41c6fcf55c2e310d2d4078)
+Reviewed-by: Richard J. Moore <rich@kde.org>
+---
+ src/gui/image/qbmphandler.cpp | 13 +++++++------
+ src/plugins/imageformats/ico/qicohandler.cpp | 2 +-
+ 2 files changed, 8 insertions(+), 7 deletions(-)
+
+diff --git a/src/gui/image/qbmphandler.cpp b/src/gui/image/qbmphandler.cpp
+index 30fa9e0..17a880b 100644
+--- a/src/gui/image/qbmphandler.cpp
++++ b/src/gui/image/qbmphandler.cpp
+@@ -478,12 +478,6 @@ static bool read_dib_body(QDataStream &s, const BMP_INFOHDR &bi, int offset, int
+ p = data + (h-y-1)*bpl;
+ break;
+ case 2: // delta (jump)
+- // Protection
+- if ((uint)x >= (uint)w)
+- x = w-1;
+- if ((uint)y >= (uint)h)
+- y = h-1;
+-
+ {
+ quint8 tmp;
+ d->getChar((char *)&tmp);
+@@ -491,6 +485,13 @@ static bool read_dib_body(QDataStream &s, const BMP_INFOHDR &bi, int offset, int
+ d->getChar((char *)&tmp);
+ y += tmp;
+ }
++
++ // Protection
++ if ((uint)x >= (uint)w)
++ x = w-1;
++ if ((uint)y >= (uint)h)
++ y = h-1;
++
+ p = data + (h-y-1)*bpl + x;
+ break;
+ default: // absolute mode
+diff --git a/src/plugins/imageformats/ico/qicohandler.cpp b/src/plugins/imageformats/ico/qicohandler.cpp
+index 1a88605..3c34765 100644
+--- a/src/plugins/imageformats/ico/qicohandler.cpp
++++ b/src/plugins/imageformats/ico/qicohandler.cpp
+@@ -571,7 +571,7 @@ QImage ICOReader::iconAt(int index)
+ QImage::Format format = QImage::Format_ARGB32;
+ if (icoAttrib.nbits == 24)
+ format = QImage::Format_RGB32;
+- else if (icoAttrib.ncolors == 2)
++ else if (icoAttrib.ncolors == 2 && icoAttrib.depth == 1)
+ format = QImage::Format_Mono;
+ else if (icoAttrib.ncolors > 0)
+ format = QImage::Format_Indexed8;
+--
+cgit v0.11.0
+
diff --git a/dev-qt/qtgui/files/qtgui-4.8.6-CVE-2015-1860.patch b/dev-qt/qtgui/files/qtgui-4.8.6-CVE-2015-1860.patch
new file mode 100644
index 000000000000..d881db8d5b86
--- /dev/null
+++ b/dev-qt/qtgui/files/qtgui-4.8.6-CVE-2015-1860.patch
@@ -0,0 +1,31 @@
+From a1cf194c54be57d6ab55dfd26b9562a60532208e Mon Sep 17 00:00:00 2001
+From: Eirik Aavitsland <eirik.aavitsland@theqtcompany.com>
+Date: Wed, 11 Mar 2015 09:00:41 +0100
+Subject: Fixes crash in gif image decoder
+
+Fuzzing test revealed that for certain malformed gif files,
+qgifhandler would segfault.
+
+Change-Id: I5bb6f60e1c61849e0d8c735edc3869945e5331c1
+(cherry picked from qtbase/ea2c5417fcd374302f5019e67f72af5facbd29f6)
+Reviewed-by: Richard J. Moore <rich@kde.org>
+---
+ src/gui/image/qgifhandler.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/gui/image/qgifhandler.cpp b/src/gui/image/qgifhandler.cpp
+index 5199dd3..49aa2a6 100644
+--- a/src/gui/image/qgifhandler.cpp
++++ b/src/gui/image/qgifhandler.cpp
+@@ -944,6 +944,8 @@ void QGIFFormat::fillRect(QImage *image, int col, int row, int w, int h, QRgb co
+
+ void QGIFFormat::nextY(unsigned char *bits, int bpl)
+ {
++ if (out_of_bounds)
++ return;
+ int my;
+ switch (interlace) {
+ case 0: // Non-interlaced
+--
+cgit v0.11.0
+
diff --git a/dev-qt/qtgui/qtgui-4.8.6-r4.ebuild b/dev-qt/qtgui/qtgui-4.8.6-r4.ebuild
new file mode 100644
index 000000000000..e6b31f3074f6
--- /dev/null
+++ b/dev-qt/qtgui/qtgui-4.8.6-r4.ebuild
@@ -0,0 +1,176 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-qt/qtgui/qtgui-4.8.6-r4.ebuild,v 1.1 2015/05/07 08:31:30 yngwin Exp $
+
+EAPI=5
+
+inherit eutils qt4-build-multilib
+
+DESCRIPTION="The GUI module for the Qt toolkit"
+SRC_URI+=" http://dev.gentoo.org/~pesa/patches/${PN}-systemtrayicon-plugin-system.patch"
+
+if [[ ${QT4_BUILD_TYPE} == live ]]; then
+ KEYWORDS=""
+else
+ 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"
+fi
+
+IUSE="+accessibility cups egl +glib gtkstyle mng nas nis qt3support tiff trace xinerama +xv"
+
+REQUIRED_USE="
+ gtkstyle? ( glib )
+"
+
+# cairo[-qt4] is needed because of bug 454066
+RDEPEND="
+ app-eselect/eselect-qtgraphicssystem
+ ~dev-qt/qtcore-${PV}[aqua=,debug=,glib=,qt3support=,${MULTILIB_USEDEP}]
+ ~dev-qt/qtscript-${PV}[aqua=,debug=,${MULTILIB_USEDEP}]
+ >=media-libs/fontconfig-2.10.2-r1[${MULTILIB_USEDEP}]
+ >=media-libs/freetype-2.4.11-r1:2[${MULTILIB_USEDEP}]
+ media-libs/libpng:0=[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ virtual/jpeg:0[${MULTILIB_USEDEP}]
+ !aqua? (
+ >=x11-libs/libICE-1.0.8-r1[${MULTILIB_USEDEP}]
+ >=x11-libs/libSM-1.2.1-r1[${MULTILIB_USEDEP}]
+ >=x11-libs/libX11-1.5.0-r1[${MULTILIB_USEDEP}]
+ >=x11-libs/libXcursor-1.1.13-r1[${MULTILIB_USEDEP}]
+ >=x11-libs/libXext-1.3.1-r1[${MULTILIB_USEDEP}]
+ >=x11-libs/libXfixes-5.0-r1[${MULTILIB_USEDEP}]
+ >=x11-libs/libXi-1.6.2-r1[${MULTILIB_USEDEP}]
+ >=x11-libs/libXrandr-1.4.0-r1[${MULTILIB_USEDEP}]
+ >=x11-libs/libXrender-0.9.7-r1[${MULTILIB_USEDEP}]
+ xinerama? ( >=x11-libs/libXinerama-1.1.2-r1[${MULTILIB_USEDEP}] )
+ xv? ( >=x11-libs/libXv-1.0.7-r1[${MULTILIB_USEDEP}] )
+ )
+ cups? ( net-print/cups[${MULTILIB_USEDEP}] )
+ egl? ( media-libs/mesa[egl,${MULTILIB_USEDEP}] )
+ glib? ( dev-libs/glib:2[${MULTILIB_USEDEP}] )
+ gtkstyle? (
+ >=x11-libs/cairo-1.12[-qt4(-),${MULTILIB_USEDEP}]
+ >=x11-libs/gtk+-2.24.23-r1:2[aqua=,${MULTILIB_USEDEP}]
+ )
+ mng? ( >=media-libs/libmng-1.0.10-r2:=[${MULTILIB_USEDEP}] )
+ nas? ( >=media-libs/nas-1.9.3-r1[${MULTILIB_USEDEP}] )
+ tiff? ( >=media-libs/tiff-4.0.3-r2:0[${MULTILIB_USEDEP}] )
+ !<dev-qt/qthelp-4.8.5:4
+"
+DEPEND="${RDEPEND}
+ !aqua? (
+ >=x11-proto/inputproto-2.2-r1[${MULTILIB_USEDEP}]
+ >=x11-proto/xextproto-7.2.1-r1[${MULTILIB_USEDEP}]
+ xinerama? ( >=x11-proto/xineramaproto-1.2.1-r1[${MULTILIB_USEDEP}] )
+ xv? ( >=x11-proto/videoproto-2.3.1-r1[${MULTILIB_USEDEP}] )
+ )
+"
+PDEPEND="
+ qt3support? ( ~dev-qt/qt3support-${PV}[aqua=,debug=,${MULTILIB_USEDEP}] )
+"
+
+PATCHES=(
+ "${DISTDIR}/${PN}-systemtrayicon-plugin-system.patch" # bug 503880
+ "${FILESDIR}/${PN}-4.7.3-cups.patch" # bug 323257
+ "${FILESDIR}/${PN}-4.8.5-cleanlooks-floating-point-exception.patch" # bug 507124
+ "${FILESDIR}/${PN}-4.8.5-disable-gtk-theme-check.patch" # bug 491226
+ "${FILESDIR}/${PN}-4.8.5-dont-crash-on-broken-GIF-images.patch" # bug 508984
+ "${FILESDIR}/${PN}-4.8.5-qclipboard-delay.patch" # bug 514968
+ "${FILESDIR}/${PN}-4.8.5-CVE-2015-0295.patch" # bug 541972
+ "${FILESDIR}/${PN}-4.8.6-CVE-2015-1858.patch" # bug 546174 - also covers CVE-2015-1859
+ "${FILESDIR}/${PN}-4.8.6-CVE-2015-1860.patch" # bug 546174
+)
+
+QT4_TARGET_DIRECTORIES="
+ src/gui
+ src/scripttools
+ src/plugins/imageformats/gif
+ src/plugins/imageformats/ico
+ src/plugins/imageformats/jpeg
+ src/plugins/imageformats/tga
+ src/plugins/inputmethods"
+
+pkg_setup() {
+ use accessibility && QT4_TARGET_DIRECTORIES+=" src/plugins/accessible/widgets"
+ use mng && QT4_TARGET_DIRECTORIES+=" src/plugins/imageformats/mng"
+ use tiff && QT4_TARGET_DIRECTORIES+=" src/plugins/imageformats/tiff"
+ use trace && QT4_TARGET_DIRECTORIES+=" src/plugins/graphicssystems/trace tools/qttracereplay"
+
+ [[ ${CHOST} != *-darwin* ]] && QT4_TARGET_DIRECTORIES+=" tools/qtconfig"
+
+ QCONFIG_ADD="
+ mitshm tablet x11sm xcursor xfixes xinput xkb xrandr xrender xshape xsync
+ fontconfig system-freetype gif png system-png jpeg system-jpeg
+ $(usev accessibility)
+ $(usev cups)
+ $(use mng && echo system-mng)
+ $(usev nas)
+ $(usev nis)
+ $(use tiff && echo system-tiff)
+ $(usev xinerama)
+ $(use xv && echo xvideo)"
+ QCONFIG_REMOVE="no-freetype no-gif no-jpeg no-png no-gui"
+ QCONFIG_DEFINE="$(use accessibility && echo QT_ACCESSIBILITY)
+ $(use cups && echo QT_CUPS)
+ $(use egl && echo QT_EGL)
+ QT_FONTCONFIG QT_FREETYPE
+ $(use gtkstyle && echo QT_STYLE_GTK)
+ QT_IMAGEFORMAT_JPEG QT_IMAGEFORMAT_PNG
+ $(use mng && echo QT_IMAGEFORMAT_MNG)
+ $(use nas && echo QT_NAS)
+ $(use nis && echo QT_NIS)
+ $(use tiff && echo QT_IMAGEFORMAT_TIFF)
+ QT_SESSIONMANAGER QT_SHAPE QT_TABLET QT_XCURSOR QT_XFIXES
+ $(use xinerama && echo QT_XINERAMA)
+ QT_XINPUT QT_XKB QT_XRANDR QT_XRENDER QT_XSYNC
+ $(use xv && echo QT_XVIDEO)"
+}
+
+src_prepare() {
+ qt4-build-multilib_src_prepare
+
+ # Add -xvideo to the list of accepted configure options
+ sed -i -e 's:|-xinerama|:&-xvideo|:' configure || die
+}
+
+multilib_src_configure() {
+ local myconf=(
+ $(qt_use accessibility)
+ $(qt_use cups)
+ $(qt_use glib)
+ $(qt_use mng libmng system)
+ $(qt_use nas nas-sound system)
+ $(qt_use nis)
+ $(qt_use tiff libtiff system)
+ $(qt_use egl)
+ $(qt_use qt3support)
+ $(qt_use gtkstyle)
+ $(qt_use xinerama)
+ $(qt_use xv xvideo)
+ -system-libpng -system-libjpeg -system-zlib
+ -no-sql-mysql -no-sql-psql -no-sql-ibase -no-sql-sqlite -no-sql-sqlite2 -no-sql-odbc
+ -sm -xshape -xsync -xcursor -xfixes -xrandr -xrender -mitshm -xinput -xkb
+ -fontconfig -no-svg -no-webkit -no-phonon -no-opengl
+ $([[ ${CHOST} == *86*-apple-darwin* ]] && echo -no-ssse3) # bug 367045
+ )
+ qt4_multilib_src_configure
+}
+
+multilib_src_install_all() {
+ qt4_multilib_src_install_all
+
+ dodir /usr/share/qt4/graphicssystems
+ echo "default" > "${ED}"/usr/share/qt4/graphicssystems/raster || die
+ echo "" > "${ED}"/usr/share/qt4/graphicssystems/native || die
+
+ if has tools/qtconfig ${QT4_TARGET_DIRECTORIES}; then
+ newicon tools/qtconfig/images/appicon.png qtconfig.png
+ make_desktop_entry qtconfig 'Qt Configuration Tool' qtconfig 'Qt;Settings;DesktopSettings'
+ fi
+}
+
+pkg_postinst() {
+ qt4-build-multilib_pkg_postinst
+
+ # raster is the default graphicssystem, set it on first install
+ eselect qtgraphicssystem set raster --use-old
+}