diff options
author | Ben de Groot <yngwin@gentoo.org> | 2015-05-07 08:31:40 +0000 |
---|---|---|
committer | Ben de Groot <yngwin@gentoo.org> | 2015-05-07 08:31:40 +0000 |
commit | 893808315773940eb36b704af1996055ff1f7272 (patch) | |
tree | 20c73fd98b98bab2e880221b71de8ac8b6cc960f /dev-qt | |
parent | Version bump. Removed old (diff) | |
download | historical-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/ChangeLog | 10 | ||||
-rw-r--r-- | dev-qt/qtgui/Manifest | 33 | ||||
-rw-r--r-- | dev-qt/qtgui/files/qtgui-4.8.6-CVE-2015-1858.patch | 63 | ||||
-rw-r--r-- | dev-qt/qtgui/files/qtgui-4.8.6-CVE-2015-1860.patch | 31 | ||||
-rw-r--r-- | dev-qt/qtgui/qtgui-4.8.6-r4.ebuild | 176 |
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 +} |