aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Arnold <stephen.arnold42@gmail.com>2015-04-12 09:26:08 -0700
committerSteve Arnold <stephen.arnold42@gmail.com>2015-04-12 09:26:08 -0700
commit117d4b85eaff5c6ff6d38de2427acac3fa9f3c3d (patch)
treeb143da54ed97bccc6b7d6cb9d34151a8ba5396a8 /x11-base
parentswitched to tarball download from github instead of git ebuild (diff)
downloadarm-117d4b85eaff5c6ff6d38de2427acac3fa9f3c3d.tar.gz
arm-117d4b85eaff5c6ff6d38de2427acac3fa9f3c3d.tar.bz2
arm-117d4b85eaff5c6ff6d38de2427acac3fa9f3c3d.zip
mesa and xorg git updates
Diffstat (limited to 'x11-base')
-rw-r--r--x11-base/xorg-drivers/Manifest2
-rw-r--r--x11-base/xorg-drivers/xorg-drivers-9999.ebuild21
-rw-r--r--x11-base/xorg-server/Manifest7
-rw-r--r--x11-base/xorg-server/files/xorg-server-1.17-cve-2015-0255-0.patch102
-rw-r--r--x11-base/xorg-server/files/xorg-server-1.17-cve-2015-0255-1.patch138
-rw-r--r--x11-base/xorg-server/files/xorg-server-1.17-ia64-fix_inx_outx.patch59
-rw-r--r--x11-base/xorg-server/files/xorg-server-1.17-support-multiple-Files-sections.patch65
-rw-r--r--x11-base/xorg-server/files/xorg-server-support-multiple-files-sections.patch65
-rw-r--r--x11-base/xorg-server/xorg-server-9999.ebuild118
9 files changed, 499 insertions, 78 deletions
diff --git a/x11-base/xorg-drivers/Manifest b/x11-base/xorg-drivers/Manifest
index 46bc758..3a6fa88 100644
--- a/x11-base/xorg-drivers/Manifest
+++ b/x11-base/xorg-drivers/Manifest
@@ -1,2 +1,2 @@
EBUILD xorg-drivers-1.14.ebuild 6107 SHA256 a27ff3330aa1a216bfbe8a90bcc840b443f0e1929b07664f52a7b5ccdc0af77f SHA512 2d03a12b5b6dcd52f78150339ca09a93ee597e634bdcdc27dc8f09520d0a7a3ca4fe26dd55b2a1de5c44fc9742d30a63803052eb7e980c16725943d6a317bdbe WHIRLPOOL 86aa81b8d9c3126061532a0eeb1d97d73e9a24f7e17be65fdeaf3fd3380c50bff3f91f32fa7753a9e8b4271a971da1981d25453e210bf01de256f459a01bc975
-EBUILD xorg-drivers-9999.ebuild 5997 SHA256 407d8bc2f42dc51ca3cd9c5b6605d124f18c62a0bb6690b16c3726c2d5b4da05 SHA512 a7a62f5098d7090e8bed070046160104254ee2f8c2a708b0f5e26ffb5f66b74370052213a1cb3d270c1d8aa3c795d368eec5334f17c94ba22922fc86183a0d02 WHIRLPOOL 4fc4a8f4c4426e0351fd483f6499ef354607d47ec0efbfa852b760a174c84b0effc8921b3d2467b2b88a48b56b7e2a24abdd474ce5a6b9c7071c15dbc079c228
+EBUILD xorg-drivers-9999.ebuild 6418 SHA256 01ce3db0b23354d4b28e4f019a51235b004d6023897128ff8d1f1ecc1d6f0464 SHA512 a2af78d00f9c8f680ed1412f28903b6ee8d58d546011aec2c9071d3e7f04ef1011eca8e9985f27f805e3cd0ec40975d23c318b6a3aa249b400b7d6496e56b026 WHIRLPOOL 55980bf097f0f28a3f18b53de5c589fa5110455826ccf6d627ceb309341c30cd69114e6d890e035b81c3f812e4e0085e24db0b72b98ded2ceb9c139937344910
diff --git a/x11-base/xorg-drivers/xorg-drivers-9999.ebuild b/x11-base/xorg-drivers/xorg-drivers-9999.ebuild
index 9b4de0a..fe8a6af 100644
--- a/x11-base/xorg-drivers/xorg-drivers-9999.ebuild
+++ b/x11-base/xorg-drivers/xorg-drivers-9999.ebuild
@@ -1,6 +1,6 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: $
+# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-drivers/xorg-drivers-1.17.ebuild,v 1.2 2015/03/03 10:56:50 dlan Exp $
EAPI=5
@@ -10,7 +10,7 @@ SRC_URI=""
LICENSE="metapackage"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
IUSE_INPUT_DEVICES="
input_devices_acecad
@@ -21,6 +21,7 @@ IUSE_INPUT_DEVICES="
input_devices_hyperpen
input_devices_joystick
input_devices_keyboard
+ input_devices_libinput
input_devices_mouse
input_devices_mutouch
input_devices_penmount
@@ -39,6 +40,7 @@ IUSE_VIDEO_CARDS="
video_cards_dummy
video_cards_epson
video_cards_fbdev
+ video_cards_freedreno
video_cards_geode
video_cards_glint
video_cards_i128
@@ -47,6 +49,7 @@ IUSE_VIDEO_CARDS="
video_cards_mach64
video_cards_mga
video_cards_modesetting
+ video_cards_neomagic
video_cards_nouveau
video_cards_nv
video_cards_omap
@@ -54,7 +57,9 @@ IUSE_VIDEO_CARDS="
video_cards_qxl
video_cards_r128
video_cards_radeon
+ video_cards_radeonsi
video_cards_rendition
+ video_cards_s3
video_cards_s3virge
video_cards_savage
video_cards_siliconmotion
@@ -71,7 +76,6 @@ IUSE_VIDEO_CARDS="
video_cards_tga
video_cards_trident
video_cards_tseng
- video_cards_v4l
video_cards_vesa
video_cards_via
video_cards_virtualbox
@@ -92,6 +96,7 @@ PDEPEND="
input_devices_hyperpen? ( x11-drivers/xf86-input-hyperpen )
input_devices_joystick? ( x11-drivers/xf86-input-joystick )
input_devices_keyboard? ( x11-drivers/xf86-input-keyboard )
+ input_devices_libinput? ( x11-drivers/xf86-input-libinput )
input_devices_mouse? ( x11-drivers/xf86-input-mouse )
input_devices_mutouch? ( x11-drivers/xf86-input-mutouch )
input_devices_penmount? ( x11-drivers/xf86-input-penmount )
@@ -108,6 +113,7 @@ PDEPEND="
video_cards_cirrus? ( x11-drivers/xf86-video-cirrus )
video_cards_dummy? ( x11-drivers/xf86-video-dummy )
video_cards_fbdev? ( x11-drivers/xf86-video-fbdev )
+ video_cards_freedreno? ( x11-drivers/xf86-video-freedreno )
video_cards_geode? ( x11-drivers/xf86-video-geode )
video_cards_glint? ( x11-drivers/xf86-video-glint )
video_cards_i128? ( x11-drivers/xf86-video-i128 )
@@ -116,6 +122,7 @@ PDEPEND="
video_cards_mach64? ( x11-drivers/xf86-video-mach64 )
video_cards_mga? ( x11-drivers/xf86-video-mga )
video_cards_modesetting? ( x11-drivers/xf86-video-modesetting )
+ video_cards_neomagic? ( x11-drivers/xf86-video-neomagic )
video_cards_nouveau? ( x11-drivers/xf86-video-nouveau )
video_cards_nv? ( x11-drivers/xf86-video-nv )
video_cards_omap? ( x11-drivers/xf86-video-omap )
@@ -125,7 +132,9 @@ PDEPEND="
video_cards_fglrx? ( x11-drivers/ati-drivers )
video_cards_r128? ( x11-drivers/xf86-video-r128 )
video_cards_radeon? ( x11-drivers/xf86-video-ati )
+ video_cards_radeonsi? ( x11-drivers/xf86-video-ati[glamor] )
video_cards_rendition? ( x11-drivers/xf86-video-rendition )
+ video_cards_s3? ( x11-drivers/xf86-video-s3 )
video_cards_s3virge? ( x11-drivers/xf86-video-s3virge )
video_cards_savage? ( x11-drivers/xf86-video-savage )
video_cards_siliconmotion? ( x11-drivers/xf86-video-siliconmotion )
@@ -141,7 +150,6 @@ PDEPEND="
video_cards_tga? ( x11-drivers/xf86-video-tga )
video_cards_trident? ( x11-drivers/xf86-video-trident )
video_cards_tseng? ( x11-drivers/xf86-video-tseng )
- video_cards_v4l? ( x11-drivers/xf86-video-v4l )
video_cards_vesa? ( x11-drivers/xf86-video-vesa )
video_cards_via? ( x11-drivers/xf86-video-openchrome )
video_cards_virtualbox? ( x11-drivers/xf86-video-virtualbox )
@@ -154,8 +162,7 @@ PDEPEND="
!x11-drivers/xf86-video-nsc
!x11-drivers/xf86-video-sunbw2
!<=x11-drivers/xf86-video-ark-0.7.5
- !<=x11-drivers/xf86-video-neomagic-1.2.7
!<=x11-drivers/xf86-video-newport-0.2.4
- !<=x11-drivers/xf86-video-s3-0.6.5
!<=x11-drivers/xf86-video-sis-0.10.7
+ !<=x11-drivers/xf86-video-v4l-0.2.0
"
diff --git a/x11-base/xorg-server/Manifest b/x11-base/xorg-server/Manifest
index a6ef71c..c2749bc 100644
--- a/x11-base/xorg-server/Manifest
+++ b/x11-base/xorg-server/Manifest
@@ -16,14 +16,19 @@ AUX xorg-server-1.12-ia64-fix_inx_outx.patch 1737 SHA256 bf996a01faf3d1e6f00f12b
AUX xorg-server-1.12-unloadsubmodule.patch 1373 SHA256 c68c4c0749b9229c3ca11c72b5ca98b58c7dbaf5c7311ce45890204bdc637c3c SHA512 a6a8ebbb1005f2ea9cfdfc928209a23fe213caab31a889c3290f14bcae0a9afd40176330e2e56cb5ff986d522505e7fb98fa0c71187f403e2afd33c9c919780e WHIRLPOOL 7e9dce7dc4e064567e68697a2966f87cef756670db7e49da50c8d9a5379d7930c3f9642913b8482b8c7597067ef9098e1989284986b5ec605aca6a536329c05c
AUX xorg-server-1.13-arm32.patch 505 SHA256 65de94d463e2d6fc61486f747e94d0b4fa23e217f793389303c4f3c8ad7a68e2 SHA512 669dd457f0e127b188baa942991f22d1143c42b59ab4754770119e6a78561854aa42e952ac9cf51bf85e8151f22baf6f2938b25234057eb3c0079bb60aa57b33 WHIRLPOOL 20f4f7d38b9917ce3c0b47f3b3461c91850715e73079f6fcb5d9653b83b6344aff61426845db540ff059c8046ee4fe069af7c8ce2d830448fbb4c2f09093b305
AUX xorg-server-1.13-ia64-asm.patch 1166 SHA256 525fc255734f062758877ad45a29862dfeb1fb8e7b3a476d9410a6f0d73420a2 SHA512 51b8695af30988f99a480d2ecadc6dbe7cb46d4d9461fa006d9001200dfc1bed7390025fd1ebbadc936aee90444bb5cfd892d41c5260d5c33347ee2bdc88e78e WHIRLPOOL 46d8b55b67c82118e2a36a01c739217c6e6dd02228b0a0e730b44372b77b476f4a76fcfa8a584550cdfc87db22c26839890b7719318678aaedba7db761a39c6c
+AUX xorg-server-1.17-cve-2015-0255-0.patch 3454 SHA256 eab604a006dca644132fcc98db36cb184422b16d1e0f6becd94b311565d0f79d SHA512 dcca4037cb0278fc508f8c4a9b33b8e1f21a4be7d22fb6345b2b2c30956dfd9c9e574fb1dba7e1dadd7f312c033e76286b5f94b1edb058a37e704e3b2b27f241 WHIRLPOOL 75aede9cb62103108b08ea2e5f281c2077acc692c5b503f9f4cca55348aa29c2f3dfcf04065105715c57ae3d994bb7c6942405806aba276d4e14a9d6c1dc8b06
+AUX xorg-server-1.17-cve-2015-0255-1.patch 4715 SHA256 dbd9f973ef3fab04f3889cd8a44aeacae87bf463a74209d36f014055495fdbab SHA512 493e55bfb8bf3792af91ceb5ca270f7bad9b885e1eda94e61e9c1837c837906b1134864f000610f0e79acba24a55cd1b948b866cfe634c704cc2e19d4258f5b5 WHIRLPOOL c9bcd9a84e00a466efdfe6b954592c166c6758da124b5d866f25e6ad8f77a3b3cc46c30aa7fc6a6eafa2e70af47e2cd800109ec6ed8f67d04c41db7d53b740a3
+AUX xorg-server-1.17-ia64-fix_inx_outx.patch 1539 SHA256 4c844b2d41b6412304b8a918e3cd93d8f2ab8dad8e6a22310cd87d1f3d8f5e95 SHA512 1db65132bb04eff380d38ccc8441f9f9e5286d7a47956495c0a7de7978107d15e5638d05df0aabbcd11687dd03189a7ac50fca51d755d082869aed71e66dbda1 WHIRLPOOL 8f7f3d107e2f8ce5e07d5dac9bf68b7547425943c3e6b6db92eab8bebc0194da53384c953f5e823a5284025e1bbcf18000b497d31de7c5d46e43f9cc02999915
+AUX xorg-server-1.17-support-multiple-Files-sections.patch 2256 SHA256 1cc57d2e8449d50737c507005df348610bb68241fe36e997e4803b3b8b3e6d86 SHA512 e3141727c993e02b2e067095807e96ef0cc82e2e7c8b65664d0530ef05a0f7b9170272e4e1e3523ede3f1cc23b00c4776785b8299e0b58a6e7fd56062aecefb6 WHIRLPOOL 078a5e30777a8f6e908421a1c7cc4a7e63c23f57b600bb1117bc1e8de2db0e6440870f811e65283acaa48da06fcc5666434d2bdce257709344e8f584d1525623
AUX xorg-server-1.9-cve-2013-1940.patch 1159 SHA256 2ddde47a5b80b28d5240e51a33862722787d37cf7621aa919d2966b7bdaa7f7c SHA512 744abfda3defd3746783e2e71501c769ee7a09160efbed8fa37d3dc02eea89151de36ff7ad47f8a5cb5c56fa960cf7ea68a09a2ef45e0d0bfb49e9296a9571da WHIRLPOOL c446c7e4a2aad2ee1960d1fab142d1df84fca4822e1bec37e1851576be6fa85522eea64977565303e144d8bd55df866f6a38991575878034f762f883b4706f01
AUX xorg-server-1.9-cve-2013-4396.patch 915 SHA256 a1686c0bd07337991eba7edf769790be30b33d1295a22a847fd139f4573379cb SHA512 e8a4fb8c4097662d0e4188fec3d6ab827addd7edb0122ddb94f66795ebc8e0ef18bba899da8fd76e918556a625ffa0c0d19c650182683ff6216faa7655aa8d11 WHIRLPOOL 98b4999c932669047094f6063b007d673957547180507dfe714943d21eda5f2371d97424efb97be6b9039aeba8d2b9282efc6023ae3edbfa9d5c8fc63fac848f
AUX xorg-server-1.9-nouveau-default.patch 916 SHA256 a7ff421dd928e3025194279f9afb7cc033a896b3417abe339741e9c6ed4b54ea SHA512 fe91ff469c2569aaf6e2ceb0decf44c46ec4be4314dcb94c42b107adf2aaa8592c84b78b1621856acfd51e604e012c35c0609a3651930999829c7040d4b46ed3 WHIRLPOOL 18ced96c233b537634ee32a5aad186764d8796c5cadc398e9406457c8ace02c6608dc7378ca37fd09ecb178c5564c16f602d46772472166ca3fcb56ac9a04e52
AUX xorg-server-disable-acpi.patch 663 SHA256 5b3cc7c8bea18fe3ba81851d2846d19ffd8fab9cdf5d8f3a274846847e734200 SHA512 0f741e3dac610ba75c3f22cb9412d93e6d8422216100bce886be5f8d6dc49a94e0dab525039247d7af668f162b02fdab302aeb55b02a949ebf56c1f455fa68cf WHIRLPOOL 69e7425e3fbb1154b64568261ab17dc513d561a0d92558fad4e1281869b43132892f14eb89443dc11003cc62bacb4a80f86f592d9dc4bdd873f29fd970c25558
AUX xorg-server-glapi_c.patch 2215 SHA256 5f59b883d49f53d2f6f71cbbf5e4ef74bdf545238afd61fa3011e0eb311cfb3b SHA512 77ccf8cf5732930affd41c3631a945e768becf504e507c1140d2d4d55f0fb49fb787fd9ace14463c22173c95c3187c985712cba79b53c3f1472be08ea46401d4 WHIRLPOOL f284f2fb5b04d6ae3a0cb781a7e78ba8763d3fe75efb738a0643783d77685bc1606b8fc940e66c89c1ee41a5f2ffdba1698b8d11b0c59550f4f40dab4716a219
+AUX xorg-server-support-multiple-files-sections.patch 2256 SHA256 1cc57d2e8449d50737c507005df348610bb68241fe36e997e4803b3b8b3e6d86 SHA512 e3141727c993e02b2e067095807e96ef0cc82e2e7c8b65664d0530ef05a0f7b9170272e4e1e3523ede3f1cc23b00c4776785b8299e0b58a6e7fd56062aecefb6 WHIRLPOOL 078a5e30777a8f6e908421a1c7cc4a7e63c23f57b600bb1117bc1e8de2db0e6440870f811e65283acaa48da06fcc5666434d2bdce257709344e8f584d1525623
AUX xorg-sets.conf 199 SHA256 1201d0337ac69d9715f4454a86dfb8a7bd1ae6f4c2578042fc08f283a997597c SHA512 910fe28f20909243044f079ff35136942b8790f4f28ac42ffc64a76b7f03cd22057087fa5e4e01192080b52c0d89000ea96d5a807c6f11f680d3f43312c5be41 WHIRLPOOL 4acac88e1688ea71df59a86a8a188b5369ad05f61e1369cd620eecd754511578e961a537ff6d0b22156f671d3485289cbc941dfe83bea24a27329b7bebb46c7d
DIST xorg-server-1.13.4.tar.bz2 5506293 SHA256 a2c969887f3c7b0f3f7d31e2ee8e91fa73ce81ba3c16d82da9150ffa302c98cf SHA512 600fe0fc77a9d6c242ec264f74624cddf5e3dd0e2eacaa65d475be638e2b4d9497bc555d753b43b24845bd6f446a811e387446f94fa98d3e75f664063a7a3d3d WHIRLPOOL 68ca7d6f121496d3a371fb4242c4e9c8fa77eae5c79a13dfec2cdbfd8f0ed82b9a97aa607923674f2e17f3380ec9a8c82d3aab9b2d8b829457a29b8330970f54
DIST xorg-server-1.14.3.tar.bz2 5502845 SHA256 02125ae13a443dcbb55f964d5c37f1da2f58ad54c2102356037bec23c1b84f5e SHA512 d5379e2f52e93985ab2636ca02f503baadd359a4ec05bed80162213392e16d433a2b7308e90cdd18c1a0bd283429f2c8b8758b5a2c585923533cced6245de989 WHIRLPOOL 241feac891f48bdc7470891d54abec0e13921cc127898b083665778ab87920d2bf10088536ac05b9db200cc2cc8b002307873786223995624aa70098370ba183
EBUILD xorg-server-1.13.4-r1.ebuild 7251 SHA256 e576dad35350a559abbd02a6b940942f8f46f5c0ebe2e80a20ebebaf7cedc477 SHA512 445721c6661eab6eaa7cabe915f24f266fcc96bac25de210ff65a0afad12e82391a59f292165861bdfcf695a92ab2c72b06fbd5d8f5f498ca9c044911fd6f0aa WHIRLPOOL eaa2f10fde8ea6304ac6eefa77255f4943263f0ec9d1430e462b3067b4deeee0eba4741e883fe1195892b4a56a3ec11cf01534db427cc026700d96a6430dd800
EBUILD xorg-server-1.14.3-r100.ebuild 7174 SHA256 2f1b89b85528f0b69a656fb1f590c8ecc3afcf4ee59980eee631c0f42d68c2ff SHA512 b59002047aa8a52f656a3e128a8d44c60d433da135008bde5fcddd2b108e1a2c50fe7c511e71ac71e8a8cfea861a041ff02348924716fa3d5af49529a054f8bd WHIRLPOOL f2dba2e9335f650ab0247a7357b55eaf4828f81529a18a6c63ed371111691ceeb5731d5cb338731992027f607333d37d9c8f1b3a59b009132fbd635869df51b6
-EBUILD xorg-server-9999.ebuild 7589 SHA256 d5f99e3f80fcc612ca35daf1f77587c5696190bf421136fc44c3c538e2967661 SHA512 653d51d4bd3c3c9cb265ca18582de30043e170e5b88a4e7fdd9480b0b3cfdc3516967c999a30191fa34b23efc84bff7692138801e307876e1ac1d8f64978a94b WHIRLPOOL 42ec655ac607d453d4b9d49fa6dbd02bf76d5694df7b0b59f9d8ee46ad4e3db59333f4b22f2f4c4014b5d872bd8f4e294be61fc35c177c16f84ff807dda39a50
+EBUILD xorg-server-9999.ebuild 6364 SHA256 a936d0ac291f1a716a64dcda91e328eae1f3101f7ffa05817264bffd031b145a SHA512 9fda998c7d24c3497309ab8c17f2517aecb63f627154c4ef8cd2f4eec8c657757d59a0fb33f812066bf23fb937a27f8a06a6541db7def31618b06b94d7b9552e WHIRLPOOL 897145192ca48acf0b265aa9eb89e5fc620de26f3bc79811b1c1cd2de2a0a5c71b301ad9658c7363364eee728bf0be6e43dbaffb4379a42055586f85b601c6a7
diff --git a/x11-base/xorg-server/files/xorg-server-1.17-cve-2015-0255-0.patch b/x11-base/xorg-server/files/xorg-server-1.17-cve-2015-0255-0.patch
new file mode 100644
index 0000000..9540e31
--- /dev/null
+++ b/x11-base/xorg-server/files/xorg-server-1.17-cve-2015-0255-0.patch
@@ -0,0 +1,102 @@
+From 81c90dc8f0aae3b65730409b1b615b5fa7280ebd Mon Sep 17 00:00:00 2001
+From: Olivier Fourdan <ofourdan@redhat.com>
+Date: Fri, 16 Jan 2015 20:08:59 +0100
+Subject: xkb: Don't swap XkbSetGeometry data in the input buffer
+
+The XkbSetGeometry request embeds data which needs to be swapped when the
+server and the client have different endianess.
+
+_XkbSetGeometry() invokes functions that swap these data directly in the
+input buffer.
+
+However, ProcXkbSetGeometry() may call _XkbSetGeometry() more than once
+(if there is more than one keyboard), thus causing on swapped clients the
+same data to be swapped twice in memory, further causing a server crash
+because the strings lengths on the second time are way off bounds.
+
+To allow _XkbSetGeometry() to run reliably more than once with swapped
+clients, do not swap the data in the buffer, use variables instead.
+
+Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/xkb/xkb.c b/xkb/xkb.c
+index 15c7f34..b9a3ac4 100644
+--- a/xkb/xkb.c
++++ b/xkb/xkb.c
+@@ -4961,14 +4961,13 @@ static char *
+ _GetCountedString(char **wire_inout, Bool swap)
+ {
+ char *wire, *str;
+- CARD16 len, *plen;
++ CARD16 len;
+
+ wire = *wire_inout;
+- plen = (CARD16 *) wire;
++ len = *(CARD16 *) wire;
+ if (swap) {
+- swaps(plen);
++ swaps(&len);
+ }
+- len = *plen;
+ str = malloc(len + 1);
+ if (str) {
+ memcpy(str, &wire[2], len);
+@@ -4985,25 +4984,28 @@ _CheckSetDoodad(char **wire_inout,
+ {
+ char *wire;
+ xkbDoodadWireDesc *dWire;
++ xkbAnyDoodadWireDesc any;
++ xkbTextDoodadWireDesc text;
+ XkbDoodadPtr doodad;
+
+ dWire = (xkbDoodadWireDesc *) (*wire_inout);
++ any = dWire->any;
+ wire = (char *) &dWire[1];
+ if (client->swapped) {
+- swapl(&dWire->any.name);
+- swaps(&dWire->any.top);
+- swaps(&dWire->any.left);
+- swaps(&dWire->any.angle);
++ swapl(&any.name);
++ swaps(&any.top);
++ swaps(&any.left);
++ swaps(&any.angle);
+ }
+ CHK_ATOM_ONLY(dWire->any.name);
+- doodad = XkbAddGeomDoodad(geom, section, dWire->any.name);
++ doodad = XkbAddGeomDoodad(geom, section, any.name);
+ if (!doodad)
+ return BadAlloc;
+ doodad->any.type = dWire->any.type;
+ doodad->any.priority = dWire->any.priority;
+- doodad->any.top = dWire->any.top;
+- doodad->any.left = dWire->any.left;
+- doodad->any.angle = dWire->any.angle;
++ doodad->any.top = any.top;
++ doodad->any.left = any.left;
++ doodad->any.angle = any.angle;
+ switch (doodad->any.type) {
+ case XkbOutlineDoodad:
+ case XkbSolidDoodad:
+@@ -5026,12 +5028,13 @@ _CheckSetDoodad(char **wire_inout,
+ dWire->text.colorNdx);
+ return BadMatch;
+ }
++ text = dWire->text;
+ if (client->swapped) {
+- swaps(&dWire->text.width);
+- swaps(&dWire->text.height);
++ swaps(&text.width);
++ swaps(&text.height);
+ }
+- doodad->text.width = dWire->text.width;
+- doodad->text.height = dWire->text.height;
++ doodad->text.width = text.width;
++ doodad->text.height = text.height;
+ doodad->text.color_ndx = dWire->text.colorNdx;
+ doodad->text.text = _GetCountedString(&wire, client->swapped);
+ doodad->text.font = _GetCountedString(&wire, client->swapped);
+--
+cgit v0.10.2
+
diff --git a/x11-base/xorg-server/files/xorg-server-1.17-cve-2015-0255-1.patch b/x11-base/xorg-server/files/xorg-server-1.17-cve-2015-0255-1.patch
new file mode 100644
index 0000000..be131c2
--- /dev/null
+++ b/x11-base/xorg-server/files/xorg-server-1.17-cve-2015-0255-1.patch
@@ -0,0 +1,138 @@
+From 20079c36cf7d377938ca5478447d8b9045cb7d43 Mon Sep 17 00:00:00 2001
+From: Olivier Fourdan <ofourdan@redhat.com>
+Date: Fri, 16 Jan 2015 08:44:45 +0100
+Subject: xkb: Check strings length against request size
+
+Ensure that the given strings length in an XkbSetGeometry request remain
+within the limits of the size of the request.
+
+Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
+Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/xkb/xkb.c b/xkb/xkb.c
+index b9a3ac4..f3988f9 100644
+--- a/xkb/xkb.c
++++ b/xkb/xkb.c
+@@ -4957,25 +4957,29 @@ ProcXkbGetGeometry(ClientPtr client)
+
+ /***====================================================================***/
+
+-static char *
+-_GetCountedString(char **wire_inout, Bool swap)
++static Status
++_GetCountedString(char **wire_inout, ClientPtr client, char **str)
+ {
+- char *wire, *str;
++ char *wire, *next;
+ CARD16 len;
+
+ wire = *wire_inout;
+ len = *(CARD16 *) wire;
+- if (swap) {
++ if (client->swapped) {
+ swaps(&len);
+ }
+- str = malloc(len + 1);
+- if (str) {
+- memcpy(str, &wire[2], len);
+- str[len] = '\0';
+- }
+- wire += XkbPaddedSize(len + 2);
+- *wire_inout = wire;
+- return str;
++ next = wire + XkbPaddedSize(len + 2);
++ /* Check we're still within the size of the request */
++ if (client->req_len <
++ bytes_to_int32(next - (char *) client->requestBuffer))
++ return BadValue;
++ *str = malloc(len + 1);
++ if (!*str)
++ return BadAlloc;
++ memcpy(*str, &wire[2], len);
++ *(*str + len) = '\0';
++ *wire_inout = next;
++ return Success;
+ }
+
+ static Status
+@@ -4987,6 +4991,7 @@ _CheckSetDoodad(char **wire_inout,
+ xkbAnyDoodadWireDesc any;
+ xkbTextDoodadWireDesc text;
+ XkbDoodadPtr doodad;
++ Status status;
+
+ dWire = (xkbDoodadWireDesc *) (*wire_inout);
+ any = dWire->any;
+@@ -5036,8 +5041,14 @@ _CheckSetDoodad(char **wire_inout,
+ doodad->text.width = text.width;
+ doodad->text.height = text.height;
+ doodad->text.color_ndx = dWire->text.colorNdx;
+- doodad->text.text = _GetCountedString(&wire, client->swapped);
+- doodad->text.font = _GetCountedString(&wire, client->swapped);
++ status = _GetCountedString(&wire, client, &doodad->text.text);
++ if (status != Success)
++ return status;
++ status = _GetCountedString(&wire, client, &doodad->text.font);
++ if (status != Success) {
++ free (doodad->text.text);
++ return status;
++ }
+ break;
+ case XkbIndicatorDoodad:
+ if (dWire->indicator.onColorNdx >= geom->num_colors) {
+@@ -5072,7 +5083,9 @@ _CheckSetDoodad(char **wire_inout,
+ }
+ doodad->logo.color_ndx = dWire->logo.colorNdx;
+ doodad->logo.shape_ndx = dWire->logo.shapeNdx;
+- doodad->logo.logo_name = _GetCountedString(&wire, client->swapped);
++ status = _GetCountedString(&wire, client, &doodad->logo.logo_name);
++ if (status != Success)
++ return status;
+ break;
+ default:
+ client->errorValue = _XkbErrCode2(0x4F, dWire->any.type);
+@@ -5304,18 +5317,20 @@ _CheckSetGeom(XkbGeometryPtr geom, xkbSetGeometryReq * req, ClientPtr client)
+ char *wire;
+
+ wire = (char *) &req[1];
+- geom->label_font = _GetCountedString(&wire, client->swapped);
++ status = _GetCountedString(&wire, client, &geom->label_font);
++ if (status != Success)
++ return status;
+
+ for (i = 0; i < req->nProperties; i++) {
+ char *name, *val;
+
+- name = _GetCountedString(&wire, client->swapped);
+- if (!name)
+- return BadAlloc;
+- val = _GetCountedString(&wire, client->swapped);
+- if (!val) {
++ status = _GetCountedString(&wire, client, &name);
++ if (status != Success)
++ return status;
++ status = _GetCountedString(&wire, client, &val);
++ if (status != Success) {
+ free(name);
+- return BadAlloc;
++ return status;
+ }
+ if (XkbAddGeomProperty(geom, name, val) == NULL) {
+ free(name);
+@@ -5349,9 +5364,9 @@ _CheckSetGeom(XkbGeometryPtr geom, xkbSetGeometryReq * req, ClientPtr client)
+ for (i = 0; i < req->nColors; i++) {
+ char *name;
+
+- name = _GetCountedString(&wire, client->swapped);
+- if (!name)
+- return BadAlloc;
++ status = _GetCountedString(&wire, client, &name);
++ if (status != Success)
++ return status;
+ if (!XkbAddGeomColor(geom, name, geom->num_colors)) {
+ free(name);
+ return BadAlloc;
+--
+cgit v0.10.2
+
diff --git a/x11-base/xorg-server/files/xorg-server-1.17-ia64-fix_inx_outx.patch b/x11-base/xorg-server/files/xorg-server-1.17-ia64-fix_inx_outx.patch
new file mode 100644
index 0000000..84485c9
--- /dev/null
+++ b/x11-base/xorg-server/files/xorg-server-1.17-ia64-fix_inx_outx.patch
@@ -0,0 +1,59 @@
+diff --git a/hw/xfree86/common/compiler.h b/hw/xfree86/common/compiler.h
+index 1653574..fe881ee 100644
+--- a/hw/xfree86/common/compiler.h
++++ b/hw/xfree86/common/compiler.h
+@@ -286,6 +286,54 @@ extern _X_EXPORT unsigned int inl(unsigned int port);
+ #include <machine/pio.h>
+ #endif /* __NetBSD__ */
+
++#elif defined(linux) && defined(__ia64__)
++/* for Linux on ia64, we use the LIBC _inx/_outx routines */
++/* note that the appropriate setup via "ioperm" needs to be done */
++/* *before* any inx/outx is done. */
++
++extern _X_EXPORT void _outb(unsigned char val, unsigned long port);
++extern _X_EXPORT void _outw(unsigned short val, unsigned long port);
++extern _X_EXPORT void _outl(unsigned int val, unsigned long port);
++extern _X_EXPORT unsigned int _inb(unsigned long port);
++extern _X_EXPORT unsigned int _inw(unsigned long port);
++extern _X_EXPORT unsigned int _inl(unsigned long port);
++
++static __inline__ void
++outb(unsigned long port, unsigned char val)
++{
++ _outb(val, port);
++}
++
++static __inline__ void
++outw(unsigned long port, unsigned short val)
++{
++ _outw(val, port);
++}
++
++static __inline__ void
++outl(unsigned long port, unsigned int val)
++{
++ _outl(val, port);
++}
++
++static __inline__ unsigned int
++inb(unsigned long port)
++{
++ return _inb(port);
++}
++
++static __inline__ unsigned int
++inw(unsigned long port)
++{
++ return _inw(port);
++}
++
++static __inline__ unsigned int
++inl(unsigned long port)
++{
++ return _inl(port);
++}
++
+ #elif defined(__amd64__)
+
+ #include <inttypes.h>
diff --git a/x11-base/xorg-server/files/xorg-server-1.17-support-multiple-Files-sections.patch b/x11-base/xorg-server/files/xorg-server-1.17-support-multiple-Files-sections.patch
new file mode 100644
index 0000000..789a118
--- /dev/null
+++ b/x11-base/xorg-server/files/xorg-server-1.17-support-multiple-Files-sections.patch
@@ -0,0 +1,65 @@
+From a140d7ce3f37f30b4fed27c5a70ebcc4ed13c612 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Tue, 24 Feb 2015 12:57:24 +0100
+Subject: [PATCH] config: Support multiple 'Files' sections
+
+---
+ hw/xfree86/parser/Files.c | 8 ++++++--
+ hw/xfree86/parser/configProcs.h | 2 +-
+ hw/xfree86/parser/read.c | 2 +-
+ 3 files changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/hw/xfree86/parser/Files.c b/hw/xfree86/parser/Files.c
+index 849bf92..5cc3ec7 100644
+--- a/hw/xfree86/parser/Files.c
++++ b/hw/xfree86/parser/Files.c
+@@ -76,14 +76,18 @@ static xf86ConfigSymTabRec FilesTab[] = {
+ #define CLEANUP xf86freeFiles
+
+ XF86ConfFilesPtr
+-xf86parseFilesSection(void)
++xf86parseFilesSection(XF86ConfFilesPtr ptr)
+ {
+ int i, j;
+ int k, l;
+ char *str;
+ int token;
+
+- parsePrologue(XF86ConfFilesPtr, XF86ConfFilesRec)
++ if (!ptr) {
++ if( (ptr=calloc(1,sizeof(XF86ConfFilesRec))) == NULL ) {
++ return NULL;
++ }
++ }
+
+ while ((token = xf86getToken(FilesTab)) != ENDSECTION) {
+ switch (token) {
+diff --git a/hw/xfree86/parser/configProcs.h b/hw/xfree86/parser/configProcs.h
+index 774e2a2..b9fdebb 100644
+--- a/hw/xfree86/parser/configProcs.h
++++ b/hw/xfree86/parser/configProcs.h
+@@ -37,7 +37,7 @@ void xf86freeDeviceList(XF86ConfDevicePtr ptr);
+ int xf86validateDevice(XF86ConfigPtr p);
+
+ /* Files.c */
+-XF86ConfFilesPtr xf86parseFilesSection(void);
++XF86ConfFilesPtr xf86parseFilesSection(XF86ConfFilesPtr ptr);
+ void xf86printFileSection(FILE * cf, XF86ConfFilesPtr ptr);
+ void xf86freeFiles(XF86ConfFilesPtr p);
+
+diff --git a/hw/xfree86/parser/read.c b/hw/xfree86/parser/read.c
+index 327c02a..e0d6139 100644
+--- a/hw/xfree86/parser/read.c
++++ b/hw/xfree86/parser/read.c
+@@ -110,7 +110,7 @@ xf86readConfigFile(void)
+ if (xf86nameCompare(xf86_lex_val.str, "files") == 0) {
+ free(xf86_lex_val.str);
+ xf86_lex_val.str = NULL;
+- HANDLE_RETURN(conf_files, xf86parseFilesSection());
++ HANDLE_RETURN(conf_files, xf86parseFilesSection(ptr->conf_files));
+ }
+ else if (xf86nameCompare(xf86_lex_val.str, "serverflags") == 0) {
+ free(xf86_lex_val.str);
+--
+2.3.0
+
diff --git a/x11-base/xorg-server/files/xorg-server-support-multiple-files-sections.patch b/x11-base/xorg-server/files/xorg-server-support-multiple-files-sections.patch
new file mode 100644
index 0000000..789a118
--- /dev/null
+++ b/x11-base/xorg-server/files/xorg-server-support-multiple-files-sections.patch
@@ -0,0 +1,65 @@
+From a140d7ce3f37f30b4fed27c5a70ebcc4ed13c612 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Tue, 24 Feb 2015 12:57:24 +0100
+Subject: [PATCH] config: Support multiple 'Files' sections
+
+---
+ hw/xfree86/parser/Files.c | 8 ++++++--
+ hw/xfree86/parser/configProcs.h | 2 +-
+ hw/xfree86/parser/read.c | 2 +-
+ 3 files changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/hw/xfree86/parser/Files.c b/hw/xfree86/parser/Files.c
+index 849bf92..5cc3ec7 100644
+--- a/hw/xfree86/parser/Files.c
++++ b/hw/xfree86/parser/Files.c
+@@ -76,14 +76,18 @@ static xf86ConfigSymTabRec FilesTab[] = {
+ #define CLEANUP xf86freeFiles
+
+ XF86ConfFilesPtr
+-xf86parseFilesSection(void)
++xf86parseFilesSection(XF86ConfFilesPtr ptr)
+ {
+ int i, j;
+ int k, l;
+ char *str;
+ int token;
+
+- parsePrologue(XF86ConfFilesPtr, XF86ConfFilesRec)
++ if (!ptr) {
++ if( (ptr=calloc(1,sizeof(XF86ConfFilesRec))) == NULL ) {
++ return NULL;
++ }
++ }
+
+ while ((token = xf86getToken(FilesTab)) != ENDSECTION) {
+ switch (token) {
+diff --git a/hw/xfree86/parser/configProcs.h b/hw/xfree86/parser/configProcs.h
+index 774e2a2..b9fdebb 100644
+--- a/hw/xfree86/parser/configProcs.h
++++ b/hw/xfree86/parser/configProcs.h
+@@ -37,7 +37,7 @@ void xf86freeDeviceList(XF86ConfDevicePtr ptr);
+ int xf86validateDevice(XF86ConfigPtr p);
+
+ /* Files.c */
+-XF86ConfFilesPtr xf86parseFilesSection(void);
++XF86ConfFilesPtr xf86parseFilesSection(XF86ConfFilesPtr ptr);
+ void xf86printFileSection(FILE * cf, XF86ConfFilesPtr ptr);
+ void xf86freeFiles(XF86ConfFilesPtr p);
+
+diff --git a/hw/xfree86/parser/read.c b/hw/xfree86/parser/read.c
+index 327c02a..e0d6139 100644
+--- a/hw/xfree86/parser/read.c
++++ b/hw/xfree86/parser/read.c
+@@ -110,7 +110,7 @@ xf86readConfigFile(void)
+ if (xf86nameCompare(xf86_lex_val.str, "files") == 0) {
+ free(xf86_lex_val.str);
+ xf86_lex_val.str = NULL;
+- HANDLE_RETURN(conf_files, xf86parseFilesSection());
++ HANDLE_RETURN(conf_files, xf86parseFilesSection(ptr->conf_files));
+ }
+ else if (xf86nameCompare(xf86_lex_val.str, "serverflags") == 0) {
+ free(xf86_lex_val.str);
+--
+2.3.0
+
diff --git a/x11-base/xorg-server/xorg-server-9999.ebuild b/x11-base/xorg-server/xorg-server-9999.ebuild
index 008e696..5885a3d 100644
--- a/x11-base/xorg-server/xorg-server-9999.ebuild
+++ b/x11-base/xorg-server/xorg-server-9999.ebuild
@@ -1,33 +1,28 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=5
-XORG_EAUTORECONF=yes
XORG_DOC=doc
inherit xorg-2 multilib versionator flag-o-matic
EGIT_REPO_URI="git://anongit.freedesktop.org/git/xorg/xserver"
-# commit: Bump release to 1.15.99.901
-#EGIT_COMMIT="300458fb8ad0a7957e941cd65f47d204c7886e22"
-EGIT_BRANCH="server-1.15-branch"
-
DESCRIPTION="X.Org X servers"
SLOT="0/${PV}"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
-IUSE_SERVERS="dmx kdrive xnest xorg xvfb"
-IUSE="${IUSE_SERVERS} ipv6 minimal nptl selinux +suid tslib +udev unwind wayland"
+IUSE_SERVERS="dmx kdrive xephyr xnest xorg xvfb"
+IUSE="${IUSE_SERVERS} glamor ipv6 minimal nptl selinux +suid systemd tslib +udev unwind wayland"
-RDEPEND=">=app-admin/eselect-opengl-1.0.8
+CDEPEND=">=app-eselect/eselect-opengl-1.3.0
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/libdrm-2.4.20
+ >=x11-libs/libdrm-2.4.46
>=x11-libs/libpciaccess-0.12.901
>=x11-libs/libXau-1.0.4
>=x11-libs/libXdmcp-1.0.2
@@ -35,7 +30,7 @@ RDEPEND=">=app-admin/eselect-opengl-1.0.8
>=x11-libs/libxkbfile-1.0.4
>=x11-libs/libxshmfence-1.1
>=x11-libs/pixman-0.27.2
- >=x11-libs/xtrans-1.3.2
+ >=x11-libs/xtrans-1.3.5
>=x11-misc/xbitmaps-1.0.1
>=x11-misc/xkeyboard-config-2.4.1-r3
dmx? (
@@ -51,33 +46,49 @@ RDEPEND=">=app-admin/eselect-opengl-1.0.8
>=x11-libs/libXres-1.0.3
>=x11-libs/libXtst-1.0.99.2
)
+ glamor? (
+ media-libs/libepoxy
+ >=media-libs/mesa-10.3.4-r1[egl,gbm]
+ !x11-libs/glamor
+ )
kdrive? (
>=x11-libs/libXext-1.0.5
x11-libs/libXv
)
+ xephyr? (
+ x11-libs/libxcb
+ x11-libs/xcb-util
+ x11-libs/xcb-util-image
+ x11-libs/xcb-util-keysyms
+ x11-libs/xcb-util-renderutil
+ x11-libs/xcb-util-wm
+ )
!minimal? (
>=x11-libs/libX11-1.1.5
>=x11-libs/libXext-1.0.5
- >=media-libs/mesa-9.2.0[nptl=]
+ >=media-libs/mesa-10.3.4-r1[nptl=]
)
tslib? ( >=x11-libs/tslib-1.0 )
udev? ( >=virtual/udev-150 )
unwind? ( sys-libs/libunwind )
wayland? (
- dev-libs/wayland
+ >=dev-libs/wayland-1.3.0
media-libs/libepoxy
)
- >=x11-apps/xinit-1.3
- selinux? ( sec-policy/selinux-xserver )"
+ >=x11-apps/xinit-1.3.3-r1
+ systemd? (
+ sys-apps/dbus
+ sys-apps/systemd
+ )"
-DEPEND="${RDEPEND}
+DEPEND="${CDEPEND}
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/glproto-1.4.17
+ >=x11-proto/fontsproto-2.1.3
+ >=x11-proto/glproto-1.4.17-r1
>=x11-proto/inputproto-2.2.99.1
>=x11-proto/kbproto-1.0.3
>=x11-proto/randrproto-1.4.0
@@ -93,7 +104,7 @@ DEPEND="${RDEPEND}
>=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
+ >=x11-proto/xproto-7.0.26
>=x11-proto/presentproto-1.0
>=x11-proto/dri3proto-1.0
dmx? (
@@ -111,12 +122,18 @@ DEPEND="${RDEPEND}
>=x11-proto/dri2proto-2.8
)"
+RDEPEND="${CDEPEND}
+ selinux? ( sec-policy/selinux-xserver )
+ !x11-drivers/xf86-video-modesetting
+"
+
PDEPEND="
xorg? ( >=x11-base/xorg-drivers-$(get_version_component_range 1-2) )"
REQUIRED_USE="!minimal? (
|| ( ${IUSE_SERVERS} )
- )"
+ )
+ xephyr? ( kdrive )"
#UPSTREAMED_PATCHES=(
# "${WORKDIR}/patches/"
@@ -124,8 +141,10 @@ REQUIRED_USE="!minimal? (
PATCHES=(
"${UPSTREAMED_PATCHES[@]}"
- "${FILESDIR}"/${PN}-1.12-ia64-fix_inx_outx.patch
+ "${FILESDIR}"/${PN}-1.17-ia64-fix_inx_outx.patch
"${FILESDIR}"/${PN}-1.12-unloadsubmodule.patch
+ # needed for new eselect-opengl, bug #541232
+ "${FILESDIR}"/${PN}-1.17-support-multiple-Files-sections.patch
)
pkg_pretend() {
@@ -135,7 +154,8 @@ pkg_pretend() {
}
src_configure() {
- use arm && append-cppflags -D__arm32__
+ # might still be needed
+ #use arm && append-cppflags -D__arm32__
# localstatedir is used for the log location; we need to override the default
# from ebuild.sh
@@ -145,6 +165,7 @@ src_configure() {
XORG_CONFIGURE_OPTIONS=(
$(use_enable ipv6)
$(use_enable dmx)
+ $(use_enable glamor)
$(use_enable kdrive)
$(use_enable kdrive kdrive-kbd)
$(use_enable kdrive kdrive-mouse)
@@ -159,6 +180,7 @@ src_configure() {
$(use_enable !minimal dri)
$(use_enable !minimal dri2)
$(use_enable !minimal glx)
+ $(use_enable xephyr)
$(use_enable xnest)
$(use_enable xorg)
$(use_enable xvfb)
@@ -166,6 +188,8 @@ src_configure() {
$(use_enable udev config-udev)
$(use_with doc doxygen)
$(use_with doc xmlto)
+ $(use_with systemd systemd-daemon)
+ $(use_enable systemd systemd-logind)
--enable-libdrm
--sysconfdir="${EPREFIX}"/etc/X11
--localstatedir="${EPREFIX}"/var
@@ -176,27 +200,15 @@ src_configure() {
--without-dtrace
--without-fop
--with-os-vendor=Gentoo
+ --with-sha1=libcrypto
)
- # 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
@@ -205,7 +217,7 @@ src_install() {
fi
newinitd "${FILESDIR}"/xdm-setup.initd-1 xdm-setup
- newinitd "${FILESDIR}"/xdm.initd-10 xdm
+ newinitd "${FILESDIR}"/xdm.initd-11 xdm
newconfd "${FILESDIR}"/xdm.confd-4 xdm
# install the @x11-module-rebuild set for Portage
@@ -216,25 +228,6 @@ src_install() {
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
- elog "You should consider reading upgrade guide for this release:"
- elog " http://www.gentoo.org/proj/en/desktop/x/x11/xorg-server-$(get_version_component_range 1-2)-upgrade-guide.xml"
- echo
- 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 rebuild all installed packages in the x11-drivers"
- ewarn "category using this command:"
- ewarn " emerge @x11-module-rebuild"
- fi
-
- if use udev && has_version virtual/udev[-keymap]; then
- ewarn "virtual/udev was built without keymap support. This may cause input device"
- ewarn "autoconfiguration to fail."
- fi
}
pkg_postrm() {
@@ -244,19 +237,6 @@ pkg_postrm() {
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 "${ED}"/usr/$(get_libdir)/xorg/modules/extensions/lib{glx,dri,dri2}*; do
- if [ -f ${x} -o -L ${x} ]; then
- mv -f ${x} "${ED}"/usr/$(get_libdir)/opengl/xorg-x11/extensions
- fi
- done
- eend 0
-}
-
server_based_install() {
if ! use xorg; then
rm "${ED}"/usr/share/man/man1/Xserver.1x \