Gentoo Archives: gentoo-commits

From: Matt Turner <mattst88@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: x11-base/xorg-server/, x11-base/xorg-server/files/
Date: Thu, 01 Nov 2018 07:06:34
Message-Id: 1541055978.513f36b7d380d1aca9cc6515282630759a192f34.mattst88@gentoo
1 commit: 513f36b7d380d1aca9cc6515282630759a192f34
2 Author: Matt Turner <mattst88 <AT> gentoo <DOT> org>
3 AuthorDate: Thu Nov 1 07:03:20 2018 +0000
4 Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org>
5 CommitDate: Thu Nov 1 07:06:18 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=513f36b7
7
8 Revert "x11-base/xorg-server: Drop old versions"
9
10 This reverts commit ea5504ecb9e9163a17c7f693d377b2d8e7e15fa7.
11
12 Unfortunately both tigervnc and nvidia-drivers depend on this version.
13
14 Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>
15
16 x11-base/xorg-server/Manifest | 3 +
17 .../files/xorg-server-1.19.4-sysmacros.patch | 36 ++++
18 ...t-pick-sRGB-config-for-32-bit-RGBA-visual.patch | 39 ++++
19 x11-base/xorg-server/metadata.xml | 1 +
20 x11-base/xorg-server/xorg-server-1.19.5-r2.ebuild | 224 +++++++++++++++++++++
21 x11-base/xorg-server/xorg-server-1.20.1.ebuild | 221 ++++++++++++++++++++
22 x11-base/xorg-server/xorg-server-1.20.2.ebuild | 221 ++++++++++++++++++++
23 7 files changed, 745 insertions(+)
24
25 diff --git a/x11-base/xorg-server/Manifest b/x11-base/xorg-server/Manifest
26 index 4dc15913393..290c8d10b68 100644
27 --- a/x11-base/xorg-server/Manifest
28 +++ b/x11-base/xorg-server/Manifest
29 @@ -1 +1,4 @@
30 +DIST xorg-server-1.19.5.tar.bz2 5965044 BLAKE2B 23375793ea4459a962f412440e307081ce2acd3c646e5db4d1bfac20e267bcbb1752ba8f6de66df06d25eaf92d1b55082a80eced0d44c257a757d5926ca6a7f3 SHA512 928dea5850b98cd815004cfa133eca23cfa9521920c934c68a92787f2cae13cca1534eee772a4fb74b8ae8cb92662b5d68b95b834c8aa8ec57cd57cb4e5dd45c
31 +DIST xorg-server-1.20.1.tar.bz2 6103772 BLAKE2B ac71d603cef8efe814275b658d4a76e231eb0fda14dd6e7177509bf147feaf37657789d8fc83f8017435c84760d7be357f203a8346aac612a53083cf413f7d75 SHA512 ef2b93a61683c8ca8d1f14b771e70db65ba119a73db8a46e7cdbf2ac2243e3f4b2732068eb5aa5d7b76f460db995a3c04390870198a5210ec30df4360ad9f94b
32 +DIST xorg-server-1.20.2.tar.bz2 6204242 BLAKE2B 05333d12ca3ca2bca879410093fb193dc2476780b857cd22dcfb22d0dffe0e17afd161ee3a87030bd76ff4109fa1884768614f0bc26318d576f7c65b885aa425 SHA512 1c87d78b14529dd4b438ef038118c8540d1d17bdd58bf08ec5408a2ddbe8d0dda48033a9a9477cfc2c4c304dd1078fa40968a03c4d0cd3398359dd0fadb8e7c7
33 DIST xorg-server-1.20.3.tar.bz2 6205000 BLAKE2B 9fc8acf1812d0aa4800941dd1846060f91edf1e7ebc92b35e8c2028266d88d3ab3ba14e95f535e5ee41941f8e20769ee75723ba609f5653d4892f97bc5cf91c4 SHA512 ee44554f86df4297f54c5871fe7a18954eeef4338775a25f36d6577b279c4775f61128da71b86cfaeadcc080838d6749dede138d4db178866579da2056543fba
34
35 diff --git a/x11-base/xorg-server/files/xorg-server-1.19.4-sysmacros.patch b/x11-base/xorg-server/files/xorg-server-1.19.4-sysmacros.patch
36 new file mode 100644
37 index 00000000000..8a3cb769292
38 --- /dev/null
39 +++ b/x11-base/xorg-server/files/xorg-server-1.19.4-sysmacros.patch
40 @@ -0,0 +1,36 @@
41 +From 7d097c0c38ab82115a1e56489bfe09f9f01b24de Mon Sep 17 00:00:00 2001
42 +From: Mart Raudsepp <leio@g.o>
43 +Date: Wed, 11 Oct 2017 16:11:49 +0300
44 +Subject: [PATCH] config/udev: Add sys/sysmacros.h include for major/minor
45 + functions for new glibc
46 +
47 +Commits d732c36597fa and 84e3b96b5313 added the include to some files, but
48 +missed config/udev.c, where the major and minor functions are used as well.
49 +This should be Linux-only, so we don't need the sys/mkdev.h case here for
50 +Solaris.
51 +
52 +Signed-off-by: Mart Raudsepp <leio@g.o>
53 +---
54 +https://bugs.gentoo.org/633530
55 +https://patchwork.freedesktop.org/patch/181800/
56 +
57 + config/udev.c | 3 +++
58 + 1 file changed, 3 insertions(+)
59 +
60 +diff --git a/config/udev.c b/config/udev.c
61 +index 932f230..b3b8d0f 100644
62 +--- a/config/udev.c
63 ++++ b/config/udev.c
64 +@@ -30,6 +30,9 @@
65 + #include <libudev.h>
66 + #include <ctype.h>
67 + #include <unistd.h>
68 ++#ifdef HAVE_SYS_SYSMACROS_H
69 ++#include <sys/sysmacros.h>
70 ++#endif
71 +
72 + #include "input.h"
73 + #include "inputstr.h"
74 +--
75 +2.10.2
76 +
77
78 diff --git a/x11-base/xorg-server/files/xorg-server-1.19.5-glx-do-not-pick-sRGB-config-for-32-bit-RGBA-visual.patch b/x11-base/xorg-server/files/xorg-server-1.19.5-glx-do-not-pick-sRGB-config-for-32-bit-RGBA-visual.patch
79 new file mode 100644
80 index 00000000000..d7e5e511e5d
81 --- /dev/null
82 +++ b/x11-base/xorg-server/files/xorg-server-1.19.5-glx-do-not-pick-sRGB-config-for-32-bit-RGBA-visual.patch
83 @@ -0,0 +1,39 @@
84 +From c2954b16c8730c7ed8441fd8dba25900f3aed265 Mon Sep 17 00:00:00 2001
85 +From: =?UTF-8?q?Tapani=20P=C3=A4lli?= <tapani.palli@×××××.com>
86 +Date: Tue, 28 Nov 2017 09:23:29 +0200
87 +Subject: [PATCH] glx: do not pick sRGB config for 32-bit RGBA visual
88 +MIME-Version: 1.0
89 +Content-Type: text/plain; charset=UTF-8
90 +Content-Transfer-Encoding: 8bit
91 +
92 +This fixes blending issues seen with kwin and gnome-shell when
93 +32bit visual has sRGB capability set.
94 +
95 +Reviewed-by: Adam Jackson <ajax@××××××.com>
96 +Signed-off-by: Tapani Pälli <tapani.palli@×××××.com>
97 +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103699
98 +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103646
99 +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103655
100 +---
101 + glx/glxscreens.c | 5 +++++
102 + 1 file changed, 5 insertions(+)
103 +
104 +diff --git a/glx/glxscreens.c b/glx/glxscreens.c
105 +index 73444152a..596d972e0 100644
106 +--- a/glx/glxscreens.c
107 ++++ b/glx/glxscreens.c
108 +@@ -271,6 +271,11 @@ pickFBConfig(__GLXscreen * pGlxScreen, VisualPtr visual)
109 + /* If it's the 32-bit RGBA visual, demand a 32-bit fbconfig. */
110 + if (visual->nplanes == 32 && config->rgbBits != 32)
111 + continue;
112 ++ /* If it's the 32-bit RGBA visual, do not pick sRGB capable config.
113 ++ * This can cause issues with compositors that are not sRGB aware.
114 ++ */
115 ++ if (visual->nplanes == 32 && config->sRGBCapable == GL_TRUE)
116 ++ continue;
117 + /* Can't use the same FBconfig for multiple X visuals. I think. */
118 + if (config->visualID != 0)
119 + continue;
120 +--
121 +2.17.0
122 +
123
124 diff --git a/x11-base/xorg-server/metadata.xml b/x11-base/xorg-server/metadata.xml
125 index 74e52195b25..8c8c243082e 100644
126 --- a/x11-base/xorg-server/metadata.xml
127 +++ b/x11-base/xorg-server/metadata.xml
128 @@ -9,6 +9,7 @@
129 <flag name="dmx">Build the Distributed Multiheaded X server</flag>
130 <flag name="glamor">Enable Glamor OpenGL 2D acceleration</flag>
131 <flag name="kdrive">Build the kdrive X servers</flag>
132 + <flag name="tslib">Build with tslib support for touchscreen devices</flag>
133 <flag name="unwind">Enable libunwind usage for backtraces</flag>
134 <flag name="xcsecurity">Build Security extension</flag>
135 <flag name="xnest">Build the Xnest server</flag>
136
137 diff --git a/x11-base/xorg-server/xorg-server-1.19.5-r2.ebuild b/x11-base/xorg-server/xorg-server-1.19.5-r2.ebuild
138 new file mode 100644
139 index 00000000000..26685badc18
140 --- /dev/null
141 +++ b/x11-base/xorg-server/xorg-server-1.19.5-r2.ebuild
142 @@ -0,0 +1,224 @@
143 +# Copyright 1999-2018 Gentoo Foundation
144 +# Distributed under the terms of the GNU General Public License v2
145 +
146 +EAPI=5
147 +
148 +XORG_DOC=doc
149 +inherit xorg-2 multilib versionator flag-o-matic
150 +EGIT_REPO_URI="https://anongit.freedesktop.org/git/xorg/xserver.git"
151 +
152 +DESCRIPTION="X.Org X servers"
153 +SLOT="0/${PV}"
154 +KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
155 +
156 +IUSE_SERVERS="dmx kdrive wayland xephyr xnest xorg xvfb"
157 +IUSE="${IUSE_SERVERS} debug +glamor ipv6 libressl minimal selinux +suid systemd tslib +udev unwind xcsecurity"
158 +
159 +CDEPEND=">=app-eselect/eselect-opengl-1.3.0
160 + !libressl? ( dev-libs/openssl:0= )
161 + libressl? ( dev-libs/libressl:0= )
162 + >=x11-apps/iceauth-1.0.2
163 + >=x11-apps/rgb-1.0.3
164 + >=x11-apps/xauth-1.0.3
165 + x11-apps/xkbcomp
166 + >=x11-libs/libdrm-2.4.46
167 + >=x11-libs/libpciaccess-0.12.901
168 + >=x11-libs/libXau-1.0.4
169 + >=x11-libs/libXdmcp-1.0.2
170 + >=x11-libs/libXfont2-2.0.1
171 + >=x11-libs/libxkbfile-1.0.4
172 + >=x11-libs/libxshmfence-1.1
173 + >=x11-libs/pixman-0.27.2
174 + >=x11-libs/xtrans-1.3.5
175 + >=x11-misc/xbitmaps-1.0.1
176 + >=x11-misc/xkeyboard-config-2.4.1-r3
177 + dmx? (
178 + x11-libs/libXt
179 + >=x11-libs/libdmx-1.0.99.1
180 + >=x11-libs/libX11-1.1.5
181 + >=x11-libs/libXaw-1.0.4
182 + >=x11-libs/libXext-1.0.99.4
183 + >=x11-libs/libXfixes-5.0
184 + >=x11-libs/libXi-1.2.99.1
185 + >=x11-libs/libXmu-1.0.3
186 + x11-libs/libXrender
187 + >=x11-libs/libXres-1.0.3
188 + >=x11-libs/libXtst-1.0.99.2
189 + )
190 + glamor? (
191 + media-libs/libepoxy[X]
192 + >=media-libs/mesa-10.3.4-r1[egl,gbm]
193 + !x11-libs/glamor
194 + )
195 + kdrive? (
196 + >=x11-libs/libXext-1.0.5
197 + x11-libs/libXv
198 + )
199 + xephyr? (
200 + x11-libs/libxcb[xkb]
201 + x11-libs/xcb-util
202 + x11-libs/xcb-util-image
203 + x11-libs/xcb-util-keysyms
204 + x11-libs/xcb-util-renderutil
205 + x11-libs/xcb-util-wm
206 + )
207 + !minimal? (
208 + >=x11-libs/libX11-1.1.5
209 + >=x11-libs/libXext-1.0.5
210 + >=media-libs/mesa-10.3.4-r1
211 + )
212 + tslib? ( >=x11-libs/tslib-1.0 )
213 + udev? ( >=virtual/udev-150 )
214 + unwind? ( sys-libs/libunwind )
215 + wayland? (
216 + >=dev-libs/wayland-1.3.0
217 + media-libs/libepoxy
218 + >=dev-libs/wayland-protocols-1.1
219 + )
220 + >=x11-apps/xinit-1.3.3-r1
221 + systemd? (
222 + sys-apps/dbus
223 + sys-apps/systemd
224 + )"
225 +
226 +DEPEND="${CDEPEND}
227 + sys-devel/flex
228 + x11-base/xorg-proto
229 + dmx? (
230 + doc? (
231 + || (
232 + www-client/links
233 + www-client/lynx
234 + www-client/w3m
235 + )
236 + )
237 + )"
238 +
239 +RDEPEND="${CDEPEND}
240 + selinux? ( sec-policy/selinux-xserver )
241 + !x11-drivers/xf86-video-modesetting
242 +"
243 +
244 +PDEPEND="
245 + xorg? ( >=x11-base/xorg-drivers-$(get_version_component_range 1-2) )"
246 +
247 +REQUIRED_USE="!minimal? (
248 + || ( ${IUSE_SERVERS} )
249 + )
250 + xephyr? ( kdrive )"
251 +
252 +#UPSTREAMED_PATCHES=(
253 +# "${WORKDIR}/patches/"
254 +#)
255 +
256 +PATCHES=(
257 + "${UPSTREAMED_PATCHES[@]}"
258 + "${FILESDIR}"/${PN}-1.12-unloadsubmodule.patch
259 + # needed for new eselect-opengl, bug #541232
260 + "${FILESDIR}"/${PN}-1.18-support-multiple-Files-sections.patch
261 + "${FILESDIR}"/${PN}-1.19.4-sysmacros.patch #633530
262 + "${FILESDIR}"/${PN}-1.19.5-glx-do-not-pick-sRGB-config-for-32-bit-RGBA-visual.patch #653688
263 +)
264 +
265 +pkg_pretend() {
266 + # older gcc is not supported
267 + [[ "${MERGE_TYPE}" != "binary" && $(gcc-major-version) -lt 4 ]] && \
268 + die "Sorry, but gcc earlier than 4.0 will not work for xorg-server."
269 +}
270 +
271 +pkg_setup() {
272 + if use wayland && ! use glamor; then
273 + ewarn "glamor is necessary for acceleration under Xwayland."
274 + ewarn "Performance may be unacceptable without it."
275 + fi
276 +}
277 +
278 +src_configure() {
279 + # localstatedir is used for the log location; we need to override the default
280 + # from ebuild.sh
281 + # sysconfdir is used for the xorg.conf location; same applies
282 + # NOTE: fop is used for doc generating; and I have no idea if Gentoo
283 + # package it somewhere
284 + XORG_CONFIGURE_OPTIONS=(
285 + $(use_enable ipv6)
286 + $(use_enable debug)
287 + $(use_enable dmx)
288 + $(use_enable glamor)
289 + $(use_enable kdrive)
290 + $(use_enable kdrive kdrive-kbd)
291 + $(use_enable kdrive kdrive-mouse)
292 + $(use_enable kdrive kdrive-evdev)
293 + $(use_enable suid install-setuid)
294 + $(use_enable tslib)
295 + $(use_enable unwind libunwind)
296 + $(use_enable wayland xwayland)
297 + $(use_enable !minimal record)
298 + $(use_enable !minimal xfree86-utils)
299 + $(use_enable !minimal dri)
300 + $(use_enable !minimal dri2)
301 + $(use_enable !minimal glx)
302 + $(use_enable xcsecurity)
303 + $(use_enable xephyr)
304 + $(use_enable xnest)
305 + $(use_enable xorg)
306 + $(use_enable xvfb)
307 + $(use_enable udev config-udev)
308 + $(use_with doc doxygen)
309 + $(use_with doc xmlto)
310 + $(use_with systemd systemd-daemon)
311 + $(use_enable systemd systemd-logind)
312 + --enable-libdrm
313 + --sysconfdir="${EPREFIX}"/etc/X11
314 + --localstatedir="${EPREFIX}"/var
315 + --with-fontrootdir="${EPREFIX}"/usr/share/fonts
316 + --with-xkb-output="${EPREFIX}"/var/lib/xkb
317 + --disable-config-hal
318 + --disable-linux-acpi
319 + --without-dtrace
320 + --without-fop
321 + --with-os-vendor=Gentoo
322 + --with-sha1=libcrypto
323 + )
324 +
325 + xorg-2_src_configure
326 +}
327 +
328 +src_install() {
329 + xorg-2_src_install
330 +
331 + server_based_install
332 +
333 + if ! use minimal && use xorg; then
334 + # Install xorg.conf.example into docs
335 + dodoc "${AUTOTOOLS_BUILD_DIR}"/hw/xfree86/xorg.conf.example
336 + fi
337 +
338 + newinitd "${FILESDIR}"/xdm-setup.initd-1 xdm-setup
339 + newinitd "${FILESDIR}"/xdm.initd-11 xdm
340 + newconfd "${FILESDIR}"/xdm.confd-4 xdm
341 +
342 + # install the @x11-module-rebuild set for Portage
343 + insinto /usr/share/portage/config/sets
344 + newins "${FILESDIR}"/xorg-sets.conf xorg.conf
345 +}
346 +
347 +pkg_postinst() {
348 + # sets up libGL and DRI2 symlinks if needed (ie, on a fresh install)
349 + eselect opengl set xorg-x11 --use-old
350 +}
351 +
352 +pkg_postrm() {
353 + # Get rid of module dir to ensure opengl-update works properly
354 + if [[ -z ${REPLACED_BY_VERSION} && -e ${EROOT}/usr/$(get_libdir)/xorg/modules ]]; then
355 + rm -rf "${EROOT}"/usr/$(get_libdir)/xorg/modules
356 + fi
357 +}
358 +
359 +server_based_install() {
360 + if ! use xorg; then
361 + rm "${ED}"/usr/share/man/man1/Xserver.1x \
362 + "${ED}"/usr/$(get_libdir)/xserver/SecurityPolicy \
363 + "${ED}"/usr/$(get_libdir)/pkgconfig/xorg-server.pc \
364 + "${ED}"/usr/share/man/man1/Xserver.1x
365 + fi
366 +}
367
368 diff --git a/x11-base/xorg-server/xorg-server-1.20.1.ebuild b/x11-base/xorg-server/xorg-server-1.20.1.ebuild
369 new file mode 100644
370 index 00000000000..e721825fa7e
371 --- /dev/null
372 +++ b/x11-base/xorg-server/xorg-server-1.20.1.ebuild
373 @@ -0,0 +1,221 @@
374 +# Copyright 1999-2018 Gentoo Foundation
375 +# Distributed under the terms of the GNU General Public License v2
376 +
377 +EAPI=5
378 +
379 +XORG_EAUTORECONF=yes
380 +XORG_DOC=doc
381 +inherit xorg-2 multilib versionator flag-o-matic
382 +EGIT_REPO_URI="https://anongit.freedesktop.org/git/xorg/xserver.git"
383 +
384 +DESCRIPTION="X.Org X servers"
385 +SLOT="0/${PV}"
386 +if [[ ${PV} != 9999* ]]; then
387 + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
388 +fi
389 +
390 +IUSE_SERVERS="dmx kdrive wayland xephyr xnest xorg xvfb"
391 +IUSE="${IUSE_SERVERS} debug +glamor ipv6 libressl minimal selinux systemd +udev unwind xcsecurity"
392 +
393 +CDEPEND=">=app-eselect/eselect-opengl-1.3.0
394 + !libressl? ( dev-libs/openssl:0= )
395 + libressl? ( dev-libs/libressl:0= )
396 + >=x11-apps/iceauth-1.0.2
397 + >=x11-apps/rgb-1.0.3
398 + >=x11-apps/xauth-1.0.3
399 + x11-apps/xkbcomp
400 + >=x11-libs/libdrm-2.4.89
401 + >=x11-libs/libpciaccess-0.12.901
402 + >=x11-libs/libXau-1.0.4
403 + >=x11-libs/libXdmcp-1.0.2
404 + >=x11-libs/libXfont2-2.0.1
405 + >=x11-libs/libxkbfile-1.0.4
406 + >=x11-libs/libxshmfence-1.1
407 + >=x11-libs/pixman-0.27.2
408 + >=x11-libs/xtrans-1.3.5
409 + >=x11-misc/xbitmaps-1.0.1
410 + >=x11-misc/xkeyboard-config-2.4.1-r3
411 + dmx? (
412 + x11-libs/libXt
413 + >=x11-libs/libdmx-1.0.99.1
414 + >=x11-libs/libX11-1.1.5
415 + >=x11-libs/libXaw-1.0.4
416 + >=x11-libs/libXext-1.0.99.4
417 + >=x11-libs/libXfixes-5.0
418 + >=x11-libs/libXi-1.2.99.1
419 + >=x11-libs/libXmu-1.0.3
420 + x11-libs/libXrender
421 + >=x11-libs/libXres-1.0.3
422 + >=x11-libs/libXtst-1.0.99.2
423 + )
424 + glamor? (
425 + media-libs/libepoxy[X]
426 + >=media-libs/mesa-18[egl,gbm]
427 + !x11-libs/glamor
428 + )
429 + kdrive? (
430 + >=x11-libs/libXext-1.0.5
431 + x11-libs/libXv
432 + )
433 + xephyr? (
434 + x11-libs/libxcb[xkb]
435 + x11-libs/xcb-util
436 + x11-libs/xcb-util-image
437 + x11-libs/xcb-util-keysyms
438 + x11-libs/xcb-util-renderutil
439 + x11-libs/xcb-util-wm
440 + )
441 + !minimal? (
442 + >=x11-libs/libX11-1.1.5
443 + >=x11-libs/libXext-1.0.5
444 + >=media-libs/mesa-18
445 + )
446 + udev? ( virtual/libudev:= )
447 + unwind? ( sys-libs/libunwind )
448 + wayland? (
449 + >=dev-libs/wayland-1.3.0
450 + media-libs/libepoxy
451 + >=dev-libs/wayland-protocols-1.1
452 + )
453 + >=x11-apps/xinit-1.3.3-r1
454 + systemd? (
455 + sys-apps/dbus
456 + sys-apps/systemd
457 + )"
458 +
459 +DEPEND="${CDEPEND}
460 + sys-devel/flex
461 + >=x11-base/xorg-proto-2018.3
462 + dmx? (
463 + doc? (
464 + || (
465 + www-client/links
466 + www-client/lynx
467 + www-client/w3m
468 + )
469 + )
470 + )"
471 +
472 +RDEPEND="${CDEPEND}
473 + selinux? ( sec-policy/selinux-xserver )
474 + !x11-drivers/xf86-video-modesetting
475 +"
476 +
477 +PDEPEND="
478 + xorg? ( >=x11-base/xorg-drivers-$(get_version_component_range 1-2) )"
479 +
480 +REQUIRED_USE="!minimal? (
481 + || ( ${IUSE_SERVERS} )
482 + )
483 + xephyr? ( kdrive )"
484 +
485 +UPSTREAMED_PATCHES=(
486 +)
487 +
488 +PATCHES=(
489 + "${UPSTREAMED_PATCHES[@]}"
490 + "${FILESDIR}"/${PN}-1.12-unloadsubmodule.patch
491 + # needed for new eselect-opengl, bug #541232
492 + "${FILESDIR}"/${PN}-1.18-support-multiple-Files-sections.patch
493 +)
494 +
495 +pkg_pretend() {
496 + # older gcc is not supported
497 + [[ "${MERGE_TYPE}" != "binary" && $(gcc-major-version) -lt 4 ]] && \
498 + die "Sorry, but gcc earlier than 4.0 will not work for xorg-server."
499 +}
500 +
501 +pkg_setup() {
502 + if use wayland && ! use glamor; then
503 + ewarn "glamor is necessary for acceleration under Xwayland."
504 + ewarn "Performance may be unacceptable without it."
505 + fi
506 +}
507 +
508 +src_configure() {
509 + # localstatedir is used for the log location; we need to override the default
510 + # from ebuild.sh
511 + # sysconfdir is used for the xorg.conf location; same applies
512 + # NOTE: fop is used for doc generating; and I have no idea if Gentoo
513 + # package it somewhere
514 + XORG_CONFIGURE_OPTIONS=(
515 + $(use_enable ipv6)
516 + $(use_enable debug)
517 + $(use_enable dmx)
518 + $(use_enable glamor)
519 + $(use_enable kdrive)
520 + $(use_enable unwind libunwind)
521 + $(use_enable wayland xwayland)
522 + $(use_enable !minimal record)
523 + $(use_enable !minimal xfree86-utils)
524 + $(use_enable !minimal dri)
525 + $(use_enable !minimal dri2)
526 + $(use_enable !minimal dri3)
527 + $(use_enable !minimal glx)
528 + $(use_enable xcsecurity)
529 + $(use_enable xephyr)
530 + $(use_enable xnest)
531 + $(use_enable xorg)
532 + $(use_enable xvfb)
533 + $(use_enable udev config-udev)
534 + $(use_with doc doxygen)
535 + $(use_with doc xmlto)
536 + $(use_with systemd systemd-daemon)
537 + $(use_enable systemd systemd-logind)
538 + $(use_enable systemd suid-wrapper)
539 + $(use_enable !systemd install-setuid)
540 + --enable-libdrm
541 + --sysconfdir="${EPREFIX}"/etc/X11
542 + --localstatedir="${EPREFIX}"/var
543 + --with-fontrootdir="${EPREFIX}"/usr/share/fonts
544 + --with-xkb-output="${EPREFIX}"/var/lib/xkb
545 + --disable-config-hal
546 + --disable-linux-acpi
547 + --without-dtrace
548 + --without-fop
549 + --with-os-vendor=Gentoo
550 + --with-sha1=libcrypto
551 + )
552 +
553 + xorg-2_src_configure
554 +}
555 +
556 +src_install() {
557 + xorg-2_src_install
558 +
559 + server_based_install
560 +
561 + if ! use minimal && use xorg; then
562 + # Install xorg.conf.example into docs
563 + dodoc "${AUTOTOOLS_BUILD_DIR}"/hw/xfree86/xorg.conf.example
564 + fi
565 +
566 + newinitd "${FILESDIR}"/xdm-setup.initd-1 xdm-setup
567 + newinitd "${FILESDIR}"/xdm.initd-11 xdm
568 + newconfd "${FILESDIR}"/xdm.confd-4 xdm
569 +
570 + # install the @x11-module-rebuild set for Portage
571 + insinto /usr/share/portage/config/sets
572 + newins "${FILESDIR}"/xorg-sets.conf xorg.conf
573 +}
574 +
575 +pkg_postinst() {
576 + # sets up libGL and DRI2 symlinks if needed (ie, on a fresh install)
577 + eselect opengl set xorg-x11 --use-old
578 +}
579 +
580 +pkg_postrm() {
581 + # Get rid of module dir to ensure opengl-update works properly
582 + if [[ -z ${REPLACED_BY_VERSION} && -e ${EROOT}/usr/$(get_libdir)/xorg/modules ]]; then
583 + rm -rf "${EROOT}"/usr/$(get_libdir)/xorg/modules
584 + fi
585 +}
586 +
587 +server_based_install() {
588 + if ! use xorg; then
589 + rm "${ED}"/usr/share/man/man1/Xserver.1x \
590 + "${ED}"/usr/$(get_libdir)/xserver/SecurityPolicy \
591 + "${ED}"/usr/$(get_libdir)/pkgconfig/xorg-server.pc \
592 + "${ED}"/usr/share/man/man1/Xserver.1x
593 + fi
594 +}
595
596 diff --git a/x11-base/xorg-server/xorg-server-1.20.2.ebuild b/x11-base/xorg-server/xorg-server-1.20.2.ebuild
597 new file mode 100644
598 index 00000000000..be5e57d8cb2
599 --- /dev/null
600 +++ b/x11-base/xorg-server/xorg-server-1.20.2.ebuild
601 @@ -0,0 +1,221 @@
602 +# Copyright 1999-2018 Gentoo Authors
603 +# Distributed under the terms of the GNU General Public License v2
604 +
605 +EAPI=5
606 +
607 +XORG_EAUTORECONF=yes
608 +XORG_DOC=doc
609 +inherit xorg-2 multilib versionator flag-o-matic
610 +EGIT_REPO_URI="https://anongit.freedesktop.org/git/xorg/xserver.git"
611 +
612 +DESCRIPTION="X.Org X servers"
613 +SLOT="0/${PV}"
614 +if [[ ${PV} != 9999* ]]; then
615 + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
616 +fi
617 +
618 +IUSE_SERVERS="dmx kdrive wayland xephyr xnest xorg xvfb"
619 +IUSE="${IUSE_SERVERS} debug +glamor ipv6 libressl minimal selinux systemd +udev unwind xcsecurity"
620 +
621 +CDEPEND=">=app-eselect/eselect-opengl-1.3.0
622 + !libressl? ( dev-libs/openssl:0= )
623 + libressl? ( dev-libs/libressl:0= )
624 + >=x11-apps/iceauth-1.0.2
625 + >=x11-apps/rgb-1.0.3
626 + >=x11-apps/xauth-1.0.3
627 + x11-apps/xkbcomp
628 + >=x11-libs/libdrm-2.4.89
629 + >=x11-libs/libpciaccess-0.12.901
630 + >=x11-libs/libXau-1.0.4
631 + >=x11-libs/libXdmcp-1.0.2
632 + >=x11-libs/libXfont2-2.0.1
633 + >=x11-libs/libxkbfile-1.0.4
634 + >=x11-libs/libxshmfence-1.1
635 + >=x11-libs/pixman-0.27.2
636 + >=x11-libs/xtrans-1.3.5
637 + >=x11-misc/xbitmaps-1.0.1
638 + >=x11-misc/xkeyboard-config-2.4.1-r3
639 + dmx? (
640 + x11-libs/libXt
641 + >=x11-libs/libdmx-1.0.99.1
642 + >=x11-libs/libX11-1.1.5
643 + >=x11-libs/libXaw-1.0.4
644 + >=x11-libs/libXext-1.0.99.4
645 + >=x11-libs/libXfixes-5.0
646 + >=x11-libs/libXi-1.2.99.1
647 + >=x11-libs/libXmu-1.0.3
648 + x11-libs/libXrender
649 + >=x11-libs/libXres-1.0.3
650 + >=x11-libs/libXtst-1.0.99.2
651 + )
652 + glamor? (
653 + media-libs/libepoxy[X]
654 + >=media-libs/mesa-18[egl,gbm]
655 + !x11-libs/glamor
656 + )
657 + kdrive? (
658 + >=x11-libs/libXext-1.0.5
659 + x11-libs/libXv
660 + )
661 + xephyr? (
662 + x11-libs/libxcb[xkb]
663 + x11-libs/xcb-util
664 + x11-libs/xcb-util-image
665 + x11-libs/xcb-util-keysyms
666 + x11-libs/xcb-util-renderutil
667 + x11-libs/xcb-util-wm
668 + )
669 + !minimal? (
670 + >=x11-libs/libX11-1.1.5
671 + >=x11-libs/libXext-1.0.5
672 + >=media-libs/mesa-18
673 + )
674 + udev? ( virtual/libudev:= )
675 + unwind? ( sys-libs/libunwind )
676 + wayland? (
677 + >=dev-libs/wayland-1.3.0
678 + media-libs/libepoxy
679 + >=dev-libs/wayland-protocols-1.1
680 + )
681 + >=x11-apps/xinit-1.3.3-r1
682 + systemd? (
683 + sys-apps/dbus
684 + sys-apps/systemd
685 + )"
686 +
687 +DEPEND="${CDEPEND}
688 + sys-devel/flex
689 + >=x11-base/xorg-proto-2018.3
690 + dmx? (
691 + doc? (
692 + || (
693 + www-client/links
694 + www-client/lynx
695 + www-client/w3m
696 + )
697 + )
698 + )"
699 +
700 +RDEPEND="${CDEPEND}
701 + selinux? ( sec-policy/selinux-xserver )
702 + !x11-drivers/xf86-video-modesetting
703 +"
704 +
705 +PDEPEND="
706 + xorg? ( >=x11-base/xorg-drivers-$(get_version_component_range 1-2) )"
707 +
708 +REQUIRED_USE="!minimal? (
709 + || ( ${IUSE_SERVERS} )
710 + )
711 + xephyr? ( kdrive )"
712 +
713 +UPSTREAMED_PATCHES=(
714 +)
715 +
716 +PATCHES=(
717 + "${UPSTREAMED_PATCHES[@]}"
718 + "${FILESDIR}"/${PN}-1.12-unloadsubmodule.patch
719 + # needed for new eselect-opengl, bug #541232
720 + "${FILESDIR}"/${PN}-1.18-support-multiple-Files-sections.patch
721 +)
722 +
723 +pkg_pretend() {
724 + # older gcc is not supported
725 + [[ "${MERGE_TYPE}" != "binary" && $(gcc-major-version) -lt 4 ]] && \
726 + die "Sorry, but gcc earlier than 4.0 will not work for xorg-server."
727 +}
728 +
729 +pkg_setup() {
730 + if use wayland && ! use glamor; then
731 + ewarn "glamor is necessary for acceleration under Xwayland."
732 + ewarn "Performance may be unacceptable without it."
733 + fi
734 +}
735 +
736 +src_configure() {
737 + # localstatedir is used for the log location; we need to override the default
738 + # from ebuild.sh
739 + # sysconfdir is used for the xorg.conf location; same applies
740 + # NOTE: fop is used for doc generating; and I have no idea if Gentoo
741 + # package it somewhere
742 + XORG_CONFIGURE_OPTIONS=(
743 + $(use_enable ipv6)
744 + $(use_enable debug)
745 + $(use_enable dmx)
746 + $(use_enable glamor)
747 + $(use_enable kdrive)
748 + $(use_enable unwind libunwind)
749 + $(use_enable wayland xwayland)
750 + $(use_enable !minimal record)
751 + $(use_enable !minimal xfree86-utils)
752 + $(use_enable !minimal dri)
753 + $(use_enable !minimal dri2)
754 + $(use_enable !minimal dri3)
755 + $(use_enable !minimal glx)
756 + $(use_enable xcsecurity)
757 + $(use_enable xephyr)
758 + $(use_enable xnest)
759 + $(use_enable xorg)
760 + $(use_enable xvfb)
761 + $(use_enable udev config-udev)
762 + $(use_with doc doxygen)
763 + $(use_with doc xmlto)
764 + $(use_with systemd systemd-daemon)
765 + $(use_enable systemd systemd-logind)
766 + $(use_enable systemd suid-wrapper)
767 + $(use_enable !systemd install-setuid)
768 + --enable-libdrm
769 + --sysconfdir="${EPREFIX}"/etc/X11
770 + --localstatedir="${EPREFIX}"/var
771 + --with-fontrootdir="${EPREFIX}"/usr/share/fonts
772 + --with-xkb-output="${EPREFIX}"/var/lib/xkb
773 + --disable-config-hal
774 + --disable-linux-acpi
775 + --without-dtrace
776 + --without-fop
777 + --with-os-vendor=Gentoo
778 + --with-sha1=libcrypto
779 + )
780 +
781 + xorg-2_src_configure
782 +}
783 +
784 +src_install() {
785 + xorg-2_src_install
786 +
787 + server_based_install
788 +
789 + if ! use minimal && use xorg; then
790 + # Install xorg.conf.example into docs
791 + dodoc "${AUTOTOOLS_BUILD_DIR}"/hw/xfree86/xorg.conf.example
792 + fi
793 +
794 + newinitd "${FILESDIR}"/xdm-setup.initd-1 xdm-setup
795 + newinitd "${FILESDIR}"/xdm.initd-11 xdm
796 + newconfd "${FILESDIR}"/xdm.confd-4 xdm
797 +
798 + # install the @x11-module-rebuild set for Portage
799 + insinto /usr/share/portage/config/sets
800 + newins "${FILESDIR}"/xorg-sets.conf xorg.conf
801 +}
802 +
803 +pkg_postinst() {
804 + # sets up libGL and DRI2 symlinks if needed (ie, on a fresh install)
805 + eselect opengl set xorg-x11 --use-old
806 +}
807 +
808 +pkg_postrm() {
809 + # Get rid of module dir to ensure opengl-update works properly
810 + if [[ -z ${REPLACED_BY_VERSION} && -e ${EROOT}/usr/$(get_libdir)/xorg/modules ]]; then
811 + rm -rf "${EROOT}"/usr/$(get_libdir)/xorg/modules
812 + fi
813 +}
814 +
815 +server_based_install() {
816 + if ! use xorg; then
817 + rm "${ED}"/usr/share/man/man1/Xserver.1x \
818 + "${ED}"/usr/$(get_libdir)/xserver/SecurityPolicy \
819 + "${ED}"/usr/$(get_libdir)/pkgconfig/xorg-server.pc \
820 + "${ED}"/usr/share/man/man1/Xserver.1x
821 + fi
822 +}