summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChí-Thanh Christopher Nguyễn <chithanh@gentoo.org>2015-04-28 15:38:18 +0000
committerChí-Thanh Christopher Nguyễn <chithanh@gentoo.org>2015-04-28 15:38:18 +0000
commita5ed32efe448dd2c18dc7339484d16b0bbfa9ab4 (patch)
tree4e3bb22e433246d7ef8e460b881e29b3cca301da /x11-base
parentChanging wxMaxima -> wxmaxima in new places, #547548 (diff)
downloadhistorical-a5ed32efe448dd2c18dc7339484d16b0bbfa9ab4.tar.gz
historical-a5ed32efe448dd2c18dc7339484d16b0bbfa9ab4.tar.bz2
historical-a5ed32efe448dd2c18dc7339484d16b0bbfa9ab4.zip
Add fix for security bug #548002.
Package-Manager: portage-2.2.18/cvs/Linux x86_64 Manifest-Sign-Key: 0x2324E7B566DF2611!
Diffstat (limited to 'x11-base')
-rw-r--r--x11-base/xorg-server/ChangeLog8
-rw-r--r--x11-base/xorg-server/Manifest31
-rw-r--r--x11-base/xorg-server/files/xorg-server-1.12-cve-2015-3418.patch29
-rw-r--r--x11-base/xorg-server/xorg-server-1.12.4-r5.ebuild252
4 files changed, 307 insertions, 13 deletions
diff --git a/x11-base/xorg-server/ChangeLog b/x11-base/xorg-server/ChangeLog
index 6ce91a7c3530..c91ed2327f2b 100644
--- a/x11-base/xorg-server/ChangeLog
+++ b/x11-base/xorg-server/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for x11-base/xorg-server
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/ChangeLog,v 1.844 2015/03/31 18:08:58 ulm Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/ChangeLog,v 1.845 2015/04/28 15:38:07 chithanh Exp $
+
+*xorg-server-1.12.4-r5 (28 Apr 2015)
+
+ 28 Apr 2015; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
+ +files/xorg-server-1.12-cve-2015-3418.patch, +xorg-server-1.12.4-r5.ebuild:
+ Add fix for security bug #548002.
31 Mar 2015; Ulrich Müller <ulm@gentoo.org> xorg-server-1.12.4-r4.ebuild,
xorg-server-1.15.2-r2.ebuild, xorg-server-1.16.4.ebuild,
diff --git a/x11-base/xorg-server/Manifest b/x11-base/xorg-server/Manifest
index 90052999f41e..38c931f31e81 100644
--- a/x11-base/xorg-server/Manifest
+++ b/x11-base/xorg-server/Manifest
@@ -7,6 +7,7 @@ AUX xdm.initd-11 6136 SHA256 86a17c9ba172481318d5fd51c3aadfdcad9e5d52ed747837972
AUX xdm.initd-9 5700 SHA256 96b1fe826db2b46b08e055d57bffd9405616b7980d9e40e95f19e52bc49eef3f SHA512 a4f652aff6a03d902da7ce1c706396911e853e78031d3246b764cb67930f20935d5aa912834add9f839742e824c380d2793b6b62592a10ad1bde646623b419d3 WHIRLPOOL ebddb96a2552a76f1d2f13b25dd773c822e8a0a5135f950163426477c689d0c35a74946a3323103d604783244e3a2f0bee5f5009b50828c90227370b13c433a9
AUX xorg-server-1.12-cve-2013-1940.patch 1191 SHA256 cd2c72854f04bf8140e8c5beee51f7575eac63857b01353daec63d8d473d75c5 SHA512 cd38bf7fed8bde0b69c55c05b6e275843eb78178669cbbbcf313edbfcd02a91c4f297898f0220faa1e3592bec8e24e5b9a708499f6e63c2e8c15655de3f7149b WHIRLPOOL 3522bd9735e83f6ee6d9c1efc5bdfa41684dae9b9e49f92005ac7c54f1b9f7c23904042cb9714d97c73832272d6b92b5eaed16982392b0707f3ee82ca893de02
AUX xorg-server-1.12-cve-2013-4396.patch 2807 SHA256 11707d59d550a9f0b04f0ca3dba1668c7f848a4e8a4cea7a6ae01c665bd11fe9 SHA512 9c8fea712e7ad727390052fd6a717c00e6d16eecaee23153b21870b82772a67c841d9ae48573cf4f8adfc101c948ed25e454ce420226ca991a3c671ecdefa209 WHIRLPOOL 932cba6b4641156de7a56fa977fd39dcf171015e21d196de588694e31cb0fa1d9928b17a3ac81568581c6f722be252ca09125eb08a9f088d5550e205dd09cb42
+AUX xorg-server-1.12-cve-2015-3418.patch 1028 SHA256 59f3c787ab8703ef7567346c63d57f1045fbc29d372528a6b38291851423093b SHA512 77b78021bedf710274a371fc672663041a8bdaf8c8c2244f1a68af91f95f62817846c2c3f43abc762cd2214e1db8b89285d3ae111682f1210ad8049242dbb326 WHIRLPOOL 39268112363ec151c5938712c40895df5cb16994b2b0ac416f37fd517c3ec56595ff8893eaeedcfc99b25e647e1959bbb6da7d7ff1a18cde2946704d87144830
AUX xorg-server-1.12-disable-acpi.patch 275 SHA256 1d3878d44e2b8690bb7d1595960d06acee7f86a6a4724236a09a74900404e953 SHA512 ca52ce0931819acf46a066116b8485c3a398a56d79826a5cdb2b3b8c7809e5163e17a5954de370805dc51a3be3c75a0333d5c17c30bf99139105d705de2fff95 WHIRLPOOL 048be09bad947a5ef02d5935534c47d08439f0ceccddcdb017908bf73aa0484a69b0e42e8e6630393323305b31a8008ef8a0f4655556082245bc5fcde254aa5b
AUX xorg-server-1.12-ia64-fix_inx_outx.patch 1737 SHA256 bf996a01faf3d1e6f00f12b17373a2530e7e433d3e6c4cac8935ebddc91cd089 SHA512 18bf9bbb973ae4e3f95ffafca8f82845f0c318c3b2dbf0cf9089a2614215ecf000b9037bfed7d80d9367be01247bf316ba2f6e16aa04fe79c54d81441c962bcd WHIRLPOOL cd133d58fc74de9d49773fe2a570d023cea38d09d7550fb9097a8c83a8393e8fc829ffaac566eee732475410e5d8063d0f99d437a68a67e8d3f65d012522240e
AUX xorg-server-1.12-unloadsubmodule.patch 1373 SHA256 c68c4c0749b9229c3ca11c72b5ca98b58c7dbaf5c7311ce45890204bdc637c3c SHA512 a6a8ebbb1005f2ea9cfdfc928209a23fe213caab31a889c3290f14bcae0a9afd40176330e2e56cb5ff986d522505e7fb98fa0c71187f403e2afd33c9c919780e WHIRLPOOL 7e9dce7dc4e064567e68697a2966f87cef756670db7e49da50c8d9a5379d7930c3f9642913b8482b8c7597067ef9098e1989284986b5ec605aca6a536329c05c
@@ -23,26 +24,32 @@ DIST xorg-server-1.16-cve-2014-8091..8103.patches.tar.xz 27892 SHA256 47d8c9bb79
DIST xorg-server-1.16.4.tar.bz2 5817330 SHA256 abb6e1cc9213a9915a121f48576ff6739a0b8cdb3d32796f9a7743c9a6efc871 SHA512 f756fca65535aa921a85d8d8eb36ea2ba5b7af90a46d640b0ca76259a9abd9d323885087e11156528d95240937c70373045001ae20266a1b9e89909f007e9e74 WHIRLPOOL 63980a3e2b57d2860998344f21a6524598b3dc135c277e5a868e34b57ab5060681ae7137358b3ba8b9ca5fd622a91aeb06bd0ac9e3e5ce1f4dc55df2b2dc0e33
DIST xorg-server-1.17.1.tar.bz2 5852385 SHA256 2bf8e9f6f0a710dec1d2472467bff1f4e247cb6dcd76eb469aafdc8a2d7db2ab SHA512 195a0e0a6bd9c7655e62dd40dfbd7dea77d10f1143d4fd6154e8bdbb463d3729f81ecd1e379d66f68e828d4f4583782c15ce260de24444802076844aec552c4f WHIRLPOOL a8a78b0bfa6137941e3434f083319a827f0332fd9c190922bb0a33381e86173868d236c96a89ee3049400f37521fe052838416f009713f004227f05b8717d776
EBUILD xorg-server-1.12.4-r4.ebuild 7249 SHA256 fce2621cda7c9836217c0ccd7752f3c339cafb04bc16ce697c84d5d5d2b9270c SHA512 de63e39d6a0fd2daf5544773050e39417d40c8297e2e70081cc88a9486a128d0fa7a11c755c60272268a6667a6dbe2f785aff0c257835b98e3da7057632ea55a WHIRLPOOL 267997b9084aed0a3c76b82b8c4be8f8e9743288a7e8dd6f8d6ff28f1d0a94a75f369dc30a5acad2e3c0e54d4098348ebe4b40c0cc14d4ff3b89f9c6d46ddea9
+EBUILD xorg-server-1.12.4-r5.ebuild 7307 SHA256 799e8a518b2732369a423eae97c0fe04ce27ca07559ba68e0331dc067e3d9692 SHA512 89fcaa3ae2776cfcaa20a95a70691ad521cfca13fe1322b91ab1994bc00f83cb7329ab010bd8c171ffa80792c439b3fe467118ff828cec501b15f32496941b68 WHIRLPOOL 38b1954b8ed488a200187f1fc6511d4808b1c3b73cf535e8774cd59413d1039d1ee2ac2abc15e7ff1d4b3a4dda4f86a5ee4f19fd8af213d36c578ce4fe7ccec9
EBUILD xorg-server-1.15.2-r2.ebuild 7379 SHA256 e848a433ad697f0537e2b092f4ed3bee51d31cd4d2a8e7c554fece9b8240d4c7 SHA512 e318666d68eb694210ebc65c1b5bb2804aeddfafc69ad5b9abc95f78843fec3ad385304280eecbb9af74c2cde5e6a8f600afc29e10705f82b3f439ce7a81a529 WHIRLPOOL 6b50bf1f1358d9f1507b3d26aef32bd5cf052ccfee4b394452bece06bc244b80fed6d2558fa3a07c694aefd4969f48f09805f842711e30750089cd5ef6a798bd
EBUILD xorg-server-1.16.4-r1.ebuild 6037 SHA256 315b5da049cadf129ded553493adbc4dc7838e0c34a813e1c801bc96a53f4096 SHA512 93b1f3fbb08bcbfa3bbc9ff7652db671fbc93784deabd04cd92a879d43e8ff06820503594a0cc35f097c6bc601d78718a87122d721328cdb6dec3c44f6e35429 WHIRLPOOL e99201503b3ae801cabef57b7cca1465390b63015807563721fea10fa50c52b87bbc1c5700bc01cfe7110267d866520527833bdc406b1cdf65ad6e316c5efbf0
EBUILD xorg-server-1.16.4-r2.ebuild 6147 SHA256 8f7622700516d49974565ece81fbc019761fe75862916d09910a5f5f6467846a SHA512 a45971228c89e8675c5a03e59f0713bef1ad6c488e27467ac25c29605de19b5fcdeab4e0483bf6ab97068acfec4b1e697684723b28a5c97c7a5da39886e11ec2 WHIRLPOOL e7d408ebea2b6489e2fe392eb9356f736458a3b13a13be35845fe08e51e75d623a78422471dcd37a8e95724a6adf179f53186f8582e77c984252085176646925
EBUILD xorg-server-1.16.4.ebuild 6932 SHA256 c8fb69be28fc621fafefa98f63e166404771a185bdb3ca511e899fcec58d8cdc SHA512 e6fca3348ae29b3a774ae86da0c0bdc2387eabcfced47861555482976b12f1bc886d58e7bf836c6cc9812e87a06a8a7ec45524893f02f5645430083d54ca0294 WHIRLPOOL 6543e9229ab05a3e2400e00e1d6499b4f95e233851c444d27eec329080cf5d9933e8b29cda1d5e8ad629921e76ffe112b6e8d60ce83e634edef540ad4a98c93a
EBUILD xorg-server-1.17.1-r1.ebuild 6405 SHA256 eaa922f868f1b7c4df332ced44d75c31bb92a347535706ff8fad7eaaceccd67d SHA512 b4eda85bfb93e30a367a874ea3e1752671614631968256a5566664fedfd2a391215bc04e8c8439eb66b17301d943de8a0028da50d0fb2fb16b959777048341dd WHIRLPOOL 7236e4eb472e0e7581aab58eb9cb840a3cb510eff7ecfdf1ccb2eb63b5f94515f8d324d3926973b3a44d5de14ac86e42beb2794a4d85b5088772233099ec1428
EBUILD xorg-server-1.17.1.ebuild 6292 SHA256 fd97b96778ef24a674d0c73c12611a430cdc6be041b287061f8a83ac673f424a SHA512 f69acaeba70b6a2c58106fef7b4f8ab825e5626013408fdbac94ad316bcbaab0b0cc7580c6cd83491ca5b0eee4cd8a69603983ff152b90cfeec34224923cb662 WHIRLPOOL 454ee70083dec42c4f93bbae6e9fb9e611882b6fd5de43b5aa7dff9c0fe1f6f8c7e2ada52031c3754026c5f68173734b86cd0ffe3e2108913d17ab7f58e52997
-MISC ChangeLog 66464 SHA256 c2dcfbaa2fc2e380717c111aca00414152692d846eb20801d1cbeb56257b731e SHA512 929a13fe3c7f3133beb07451d79a6d215efd03e17fc1fe266859817da961e3594905df39d10000e10a8f601e974f6ae7338dca96a4abc238093d76346e33f8de WHIRLPOOL 1c2cda35f281d3cabd185ce0c7a5e5f648429b9dcf3f270080c76c418de7606777337f26ec4e39d68301e25ad2431526e532c6a4175ba4a7f3d1942297cca4a2
+MISC ChangeLog 66691 SHA256 e5a02ec2ee01199d56a2dc3bc8048a0e3db2cfe5a19986d45baa6a70024c9e51 SHA512 693297195828e98f4834b8c656ec52105d9c2aff1566e8648a6d2e90f267dc22ffebfa744bcf2602466c21767ae5d7be5b347bf44f63d3f97414bff3821c7d5b WHIRLPOOL bec7143d2a66ed0c249cfb057f803d7cb55ac5fe8fa4611672bba24211081d3305bd6e3a41afbc46e777815cb7672a19c5636ed4fd31b77259708de67b81f6f0
MISC ChangeLog-2009 109242 SHA256 76119bd85f64b74b4f8129911eef944e8f1baa3ae38bbfb65bcd6197a6f58c88 SHA512 200b2a1f8d66bc4461de84a5b675ae9bdc1fd38ffea339cdc69afdb613d7a6d6ffe29175fba62b10c4f9d95e050035933f59e21172bf9c545d7a70137c8d04f4 WHIRLPOOL 1c084a461e803c1a6627986cb2444cd7a23743f409df5bb1ca5f55d1e7c3106670cfc2cd4f875a479e0c75513b7937ee35b591b4016b715f7fa45209e098cece
MISC metadata.xml 803 SHA256 11ce7d6b3d1a4b32ac268d791e3e9fc1a47e579fb0587f87caf4c064c1abc355 SHA512 73fee10d52b8012ee64bdb789d0ecc0368c418822ec823ad22c1eac3c7c4af37c561a58599db68a6638059624e6f37e7d3cb5f3fd363255a372a9614c1deaf75 WHIRLPOOL f26245d7f8c9bf8c653730e1e832781289e06e43dc6cbc1efc422b6e8e3f7342e5a94f8cb731b4c2193c40af6087048da0ca384e4f13e697f86098296936e2e2
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2
+Version: GnuPG v2.0
-iQGcBAEBCAAGBQJVGuLAAAoJEJQzkH1pP7W4kjUL/RFa3MOu8C5hLeGj5bMsfUMU
-T07tCSv3jMyiIJN8ANYD4wlqGhcJLDYfyiDYySvbspe4ldYegn6RIrk3hJG4pFE7
-t8HFyAI+DVOCvERqUk8Gg/wOM6FeREZRWYENcdMqIco//B+jbbcrFJ/wiWBTejiO
-L/pTB9rz2ne8GFvLS7+B4hiSNi+H5c7sygi0lSMbPpeDeAtB8olDjY6tyxh1VfOu
-cmrHH8br2poxTfiybZgVHU/43bDz53g1ALS9eOqHQIqO7G0LSLHcQGm0MKL+wQZ+
-Vv025bpIDtmtyxO/sXcYjlj9P9etWzC0oi27ifOO67DjuYRgBucokN4TWu0YdmJF
-3mjZVyFDC+7mMS6JlsqB1YvH1G2xMTGjtdsH/fGVh0WDr+qAQVFGh/rJB8Q+/9TX
-LRS0jj8xI1bE/bF8308eJ/bPstY9d2iOdf3skvPgDOmwDvece8JjPer06ActfcRt
-PZW1s1ebEzQeF1ZHl1bonN3a+GuH1Lh8eE8Pe3Vb5w==
-=JO04
+iQJ8BAEBCABmBQJVP6mKXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
+ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ1RDFCODdDQUUxMkUwNkJCNjUyMDMxOEIy
+MzI0RTdCNTY2REYyNjExAAoJECMk57Vm3yYRdeAP+wVI4WGu91Mk56XFF6XkjyN4
+HjIR03MxfHaXXYbShVVnkBRWhLvJYVAMXR+ZTFj8mdhqAhpyoJJU/g2ywx2+5+wu
+jJdSjZifXXW4Nw6o4NhecjIWqQqTq3cFkMeMqzgWTss5rHlnCR8IpeXIrbrE4nxq
+mbh0ZdksmA+qX/olIGE5y2uzajr+8N/3UkjG84Wg47jBt+tZ6tdUXHwRs8khNy1A
+xArCgWXdU2HDpLcGid1dBMluRcdXsd+toLJ9WO/bfhfq1WxoMp8rYj9vaY74wnVY
+Bvp++xTeyMo2FtMpRWqQnre+w98Auoq8otQept5aOnf2NGjxuJBk5Ege1BZax0PJ
+ajn4dIUgGOKDP542PWJ6Ob01bGTbIp7jT5WT8RMrHYb5AeWjWkDeQ5wnB5yJwVXq
+pCPSeromXfDd0Ja2DRj4zFYUSqiCVILvW2Igvtb/f201wicw0tXa30UPrHb+JAvS
+fwXKR9vwq6taKi+p/4AqfipDDfEB0wX11VkCEqb4ycY5kiRWZqAVuiopH2tEBqWZ
+P8+YhALyLOwLBJH8ZHvd5ZNk2xkXx9Xbr6d0whyWm2JyZeH3tnTDXOE25Pc8xkRM
+cqIe3sm6+4uJnx6RoxK/jLW0O7tJ2Kx34R0zvieBitGOZkjPj+PTj29TBUBRyHde
+NaaCMXjZVQj++6vb9TJd
+=C+AR
-----END PGP SIGNATURE-----
diff --git a/x11-base/xorg-server/files/xorg-server-1.12-cve-2015-3418.patch b/x11-base/xorg-server/files/xorg-server-1.12-cve-2015-3418.patch
new file mode 100644
index 000000000000..4b6a6aeab29e
--- /dev/null
+++ b/x11-base/xorg-server/files/xorg-server-1.12-cve-2015-3418.patch
@@ -0,0 +1,29 @@
+From dc777c346d5d452a53b13b917c45f6a1bad2f20b Mon Sep 17 00:00:00 2001
+From: Keith Packard <keithp@keithp.com>
+Date: Sat, 3 Jan 2015 08:46:45 -0800
+Subject: dix: Allow zero-height PutImage requests
+
+The length checking code validates PutImage height and byte width by
+making sure that byte-width >= INT32_MAX / height. If height is zero,
+this generates a divide by zero exception. Allow zero height requests
+explicitly, bypassing the INT32_MAX check.
+
+Signed-off-by: Keith Packard <keithp@keithp.com>
+Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+
+diff --git a/dix/dispatch.c b/dix/dispatch.c
+index 55b978d..9044ac7 100644
+--- a/dix/dispatch.c
++++ b/dix/dispatch.c
+@@ -2000,7 +2000,7 @@ ProcPutImage(ClientPtr client)
+ tmpImage = (char *) &stuff[1];
+ lengthProto = length;
+
+- if (lengthProto >= (INT32_MAX / stuff->height))
++ if (stuff->height != 0 && lengthProto >= (INT32_MAX / stuff->height))
+ return BadLength;
+
+ if ((bytes_to_int32(lengthProto * stuff->height) +
+--
+cgit v0.10.2
+
diff --git a/x11-base/xorg-server/xorg-server-1.12.4-r5.ebuild b/x11-base/xorg-server/xorg-server-1.12.4-r5.ebuild
new file mode 100644
index 000000000000..32d08098a0b6
--- /dev/null
+++ b/x11-base/xorg-server/xorg-server-1.12.4-r5.ebuild
@@ -0,0 +1,252 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/xorg-server-1.12.4-r5.ebuild,v 1.1 2015/04/28 15:38:07 chithanh Exp $
+
+EAPI=5
+
+XORG_DOC=doc
+inherit xorg-2 multilib versionator flag-o-matic
+EGIT_REPO_URI="git://anongit.freedesktop.org/git/xorg/xserver"
+
+DESCRIPTION="X.Org X servers"
+SLOT="0/${PV}"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+
+SRC_URI="${SRC_URI} mirror://gentoo/${PN}-1.12-cve-2014-8091..8103.patches.tar.xz"
+
+IUSE_SERVERS="dmx kdrive xnest xorg xvfb"
+IUSE="${IUSE_SERVERS} ipv6 minimal nptl selinux tslib +udev"
+
+RDEPEND=">=app-eselect/eselect-opengl-1.0.8
+ dev-libs/openssl
+ media-libs/freetype
+ >=x11-apps/iceauth-1.0.2
+ >=x11-apps/rgb-1.0.3
+ >=x11-apps/xauth-1.0.3
+ x11-apps/xkbcomp
+ >=x11-libs/libpciaccess-0.12.901
+ >=x11-libs/libXau-1.0.4
+ >=x11-libs/libXdmcp-1.0.2
+ >=x11-libs/libXfont-1.4.2
+ <x11-libs/libXfont-1.5.0
+ >=x11-libs/libxkbfile-1.0.4
+ >=x11-libs/pixman-0.21.8
+ >=x11-libs/xtrans-1.2.2
+ >=x11-misc/xbitmaps-1.0.1
+ >=x11-misc/xkeyboard-config-2.4.1-r3
+ dmx? (
+ x11-libs/libXt
+ >=x11-libs/libdmx-1.0.99.1
+ >=x11-libs/libX11-1.1.5
+ >=x11-libs/libXaw-1.0.4
+ >=x11-libs/libXext-1.0.99.4
+ >=x11-libs/libXfixes-5.0
+ >=x11-libs/libXi-1.2.99.1
+ >=x11-libs/libXmu-1.0.3
+ x11-libs/libXrender
+ >=x11-libs/libXres-1.0.3
+ >=x11-libs/libXtst-1.0.99.2
+ )
+ kdrive? (
+ >=x11-libs/libXext-1.0.5
+ x11-libs/libXv
+ )
+ !minimal? (
+ >=x11-libs/libX11-1.1.5
+ >=x11-libs/libXext-1.0.5
+ >=media-libs/mesa-7.8_rc[nptl=]
+ )
+ tslib? ( >=x11-libs/tslib-1.0 )
+ udev? ( >=virtual/udev-150 )
+ >=x11-apps/xinit-1.3
+ selinux? ( sec-policy/selinux-xserver )"
+
+DEPEND="${RDEPEND}
+ sys-devel/flex
+ >=x11-proto/bigreqsproto-1.1.0
+ >=x11-proto/compositeproto-0.4
+ >=x11-proto/damageproto-1.1
+ >=x11-proto/fixesproto-5.0
+ >=x11-proto/fontsproto-2.0.2
+ <x11-proto/fontsproto-2.1.3
+ >=x11-proto/glproto-1.4.14
+ >=x11-proto/inputproto-2.1.99.3
+ >=x11-proto/kbproto-1.0.3
+ >=x11-proto/randrproto-1.2.99.3
+ >=x11-proto/recordproto-1.13.99.1
+ >=x11-proto/renderproto-0.11
+ >=x11-proto/resourceproto-1.0.2
+ >=x11-proto/scrnsaverproto-1.1
+ >=x11-proto/trapproto-3.4.3
+ >=x11-proto/videoproto-2.2.2
+ >=x11-proto/xcmiscproto-1.2.0
+ >=x11-proto/xextproto-7.1.99
+ >=x11-proto/xf86dgaproto-2.0.99.1
+ >=x11-proto/xf86rushproto-1.1.2
+ >=x11-proto/xf86vidmodeproto-2.2.99.1
+ >=x11-proto/xineramaproto-1.1.3
+ >=x11-proto/xproto-7.0.22
+ dmx? (
+ >=x11-proto/dmxproto-2.2.99.1
+ doc? (
+ || (
+ www-client/links
+ www-client/lynx
+ www-client/w3m
+ )
+ )
+ )
+ !minimal? (
+ >=x11-proto/xf86driproto-2.1.0
+ >=x11-proto/dri2proto-2.6
+ >=x11-libs/libdrm-2.4.20
+ )"
+
+PDEPEND="
+ xorg? ( >=x11-base/xorg-drivers-$(get_version_component_range 1-2) )"
+
+REQUIRED_USE="!minimal? (
+ || ( ${IUSE_SERVERS} )
+ )"
+
+# Security patches taken from Debian from their 1.12 package
+UPSTREAMED_PATCHES=(
+ "${WORKDIR}"/patches/${PN}-1.12-cve-2014-8091..8103.patch
+)
+
+PATCHES=(
+ "${UPSTREAMED_PATCHES[@]}"
+ "${FILESDIR}"/${PN}-1.12-disable-acpi.patch
+ "${FILESDIR}"/${PN}-1.12-cve-2013-1940.patch
+ "${FILESDIR}"/${PN}-1.12-cve-2013-4396.patch
+ "${FILESDIR}"/${PN}-1.17-cve-2015-0255-0.patch
+ "${FILESDIR}"/${PN}-1.17-cve-2015-0255-1.patch
+ "${FILESDIR}"/${PN}-1.12-cve-2015-3418.patch
+)
+
+pkg_pretend() {
+ # older gcc is not supported
+ [[ "${MERGE_TYPE}" != "binary" && $(gcc-major-version) -lt 4 ]] && \
+ die "Sorry, but gcc earlier than 4.0 wont work for xorg-server."
+}
+
+src_configure() {
+ # localstatedir is used for the log location; we need to override the default
+ # from ebuild.sh
+ # sysconfdir is used for the xorg.conf location; same applies
+ # --enable-install-setuid needed because sparcs default off
+ # NOTE: fop is used for doc generating ; and i have no idea if gentoo
+ # package it somewhere
+ XORG_CONFIGURE_OPTIONS=(
+ $(use_enable ipv6)
+ $(use_enable dmx)
+ $(use_enable kdrive)
+ $(use_enable kdrive kdrive-kbd)
+ $(use_enable kdrive kdrive-mouse)
+ $(use_enable kdrive kdrive-evdev)
+ $(use_enable tslib)
+ $(use_enable !minimal record)
+ $(use_enable !minimal xfree86-utils)
+ $(use_enable !minimal install-libxf86config)
+ $(use_enable !minimal dri)
+ $(use_enable !minimal dri2)
+ $(use_enable !minimal glx)
+ $(use_enable xnest)
+ $(use_enable xorg)
+ $(use_enable xvfb)
+ $(use_enable nptl glx-tls)
+ $(use_enable udev config-udev)
+ $(use_with doc doxygen)
+ $(use_with doc xmlto)
+ --sysconfdir=/etc/X11
+ --localstatedir=/var
+ --enable-install-setuid
+ --with-fontrootdir=/usr/share/fonts
+ --with-xkb-output=/var/lib/xkb
+ --disable-config-hal
+ --without-dtrace
+ --without-fop
+ --with-os-vendor=Gentoo
+ )
+
+ # Xorg-server requires includes from OS mesa which are not visible for
+ # users of binary drivers.
+ mkdir -p "${T}/mesa-symlinks/GL"
+ for i in gl glx glxmd glxproto glxtokens; do
+ ln -s "${EROOT}usr/$(get_libdir)/opengl/xorg-x11/include/$i.h" "${T}/mesa-symlinks/GL/$i.h" || die
+ done
+ for i in glext glxext; do
+ ln -s "${EROOT}usr/$(get_libdir)/opengl/global/include/$i.h" "${T}/mesa-symlinks/GL/$i.h" || die
+ done
+ append-cppflags "-I${T}/mesa-symlinks"
+
+ xorg-2_src_configure
+}
+
+src_install() {
+ xorg-2_src_install
+
+ dynamic_libgl_install
+
+ server_based_install
+
+ if ! use minimal && use xorg; then
+ # Install xorg.conf.example into docs
+ dodoc "${AUTOTOOLS_BUILD_DIR}"/hw/xfree86/xorg.conf.example
+ fi
+
+ newinitd "${FILESDIR}"/xdm-setup.initd-1 xdm-setup
+ newinitd "${FILESDIR}"/xdm.initd-9 xdm
+ newconfd "${FILESDIR}"/xdm.confd-4 xdm
+
+ # install the @x11-module-rebuild set for Portage
+ insinto /usr/share/portage/config/sets
+ newins "${FILESDIR}"/xorg-sets.conf xorg.conf
+}
+
+pkg_postinst() {
+ # sets up libGL and DRI2 symlinks if needed (ie, on a fresh install)
+ eselect opengl set xorg-x11 --use-old
+
+ if [[ ${PV} != 9999 && $(get_version_component_range 2 ${REPLACING_VERSIONS}) != $(get_version_component_range 2 ${PV}) ]]; then
+ ewarn "You must rebuild all drivers if upgrading from <xorg-server-$(get_version_component_range 1-2)"
+ ewarn "because the ABI changed. If you cannot start X because"
+ ewarn "of module version mismatch errors, this is your problem."
+
+ echo
+ ewarn "You can generate a list of all installed packages in the x11-drivers"
+ ewarn "category using this command:"
+ ewarn " emerge portage-utils; qlist -I -C x11-drivers/"
+ ewarn "or using sets from portage-2.2:"
+ ewarn " emerge @x11-module-rebuild"
+ fi
+}
+
+pkg_postrm() {
+ # Get rid of module dir to ensure opengl-update works properly
+ if [[ -z ${REPLACED_BY_VERSION} && -e ${ROOT}/usr/$(get_libdir)/xorg/modules ]]; then
+ rm -rf "${ROOT}"/usr/$(get_libdir)/xorg/modules
+ fi
+}
+
+dynamic_libgl_install() {
+ # next section is to setup the dynamic libGL stuff
+ ebegin "Moving GL files for dynamic switching"
+ dodir /usr/$(get_libdir)/opengl/xorg-x11/extensions
+ local x=""
+ for x in "${D}"/usr/$(get_libdir)/xorg/modules/extensions/lib{glx,dri,dri2}*; do
+ if [ -f ${x} -o -L ${x} ]; then
+ mv -f ${x} "${D}"/usr/$(get_libdir)/opengl/xorg-x11/extensions
+ fi
+ done
+ eend 0
+}
+
+server_based_install() {
+ if ! use xorg; then
+ rm "${D}"/usr/share/man/man1/Xserver.1x \
+ "${D}"/usr/$(get_libdir)/xserver/SecurityPolicy \
+ "${D}"/usr/$(get_libdir)/pkgconfig/xorg-server.pc \
+ "${D}"/usr/share/man/man1/Xserver.1x
+ fi
+}