public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Matt Turner" <mattst88@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: x11-base/xorg-server/files/, x11-base/xorg-server/
Date: Thu, 28 Feb 2019 05:47:42 +0000 (UTC)	[thread overview]
Message-ID: <1551332686.4b03aab97013ea3cacb778956262dbf16e70fcdf.mattst88@gentoo> (raw)

commit:     4b03aab97013ea3cacb778956262dbf16e70fcdf
Author:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 28 01:18:22 2019 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Thu Feb 28 05:44:46 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4b03aab9

x11-base/xorg-server: Version bump to 1.20.4

Closes: https://bugs.gentoo.org/677752
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 x11-base/xorg-server/Manifest                      |   1 +
 ...ck-the-shm-dir-at-run-time-not-build-time.patch | 174 +++++++++++++++++
 ...1.20.4-shm-Use-memfd_create-when-possible.patch |  89 +++++++++
 ...ndent-shm_tmpfile-to-follow-our-standards.patch |  72 +++++++
 x11-base/xorg-server/xorg-server-1.20.4.ebuild     | 217 +++++++++++++++++++++
 5 files changed, 553 insertions(+)

diff --git a/x11-base/xorg-server/Manifest b/x11-base/xorg-server/Manifest
index 4dc15913393..d0d520e0f00 100644
--- a/x11-base/xorg-server/Manifest
+++ b/x11-base/xorg-server/Manifest
@@ -1 +1,2 @@
 DIST xorg-server-1.20.3.tar.bz2 6205000 BLAKE2B 9fc8acf1812d0aa4800941dd1846060f91edf1e7ebc92b35e8c2028266d88d3ab3ba14e95f535e5ee41941f8e20769ee75723ba609f5653d4892f97bc5cf91c4 SHA512 ee44554f86df4297f54c5871fe7a18954eeef4338775a25f36d6577b279c4775f61128da71b86cfaeadcc080838d6749dede138d4db178866579da2056543fba
+DIST xorg-server-1.20.4.tar.bz2 6123780 BLAKE2B 224dda54f433315f6614cbee5bc54db91d9d9e190c06ac7f26e334b80b9d4a612ff4b2a4f10f50a6f928ecdbea40172d5578289fbf88411f006bcd473253b05d SHA512 f1c92ef6d7613e0636973d3395b48dfdad42230847ab1c8b1cea84647a968f649f9aba97bdb01c10ee8351cbe954d4e6ca4a0fc84bb8fa662d49c8ba2aee00a8

diff --git a/x11-base/xorg-server/files/xorg-server-1.20.4-shm-Pick-the-shm-dir-at-run-time-not-build-time.patch b/x11-base/xorg-server/files/xorg-server-1.20.4-shm-Pick-the-shm-dir-at-run-time-not-build-time.patch
new file mode 100644
index 00000000000..54ed62935a6
--- /dev/null
+++ b/x11-base/xorg-server/files/xorg-server-1.20.4-shm-Pick-the-shm-dir-at-run-time-not-build-time.patch
@@ -0,0 +1,174 @@
+From 19f6cb570becbc4e355807199c6e251fc7935132 Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Wed, 19 Sep 2018 13:28:06 -0700
+Subject: [PATCH xserver] shm: Pick the shm dir at run time, not build time.
+
+Prodding the builder's filesystem for tmp dirs doesn't necessarily
+tell you anything about what the actual host's filesystem is going to
+look like, so we should just try the dirs at runtime.
+
+Signed-off-by: Eric Anholt <eric@anholt.net>
+---
+ Xext/shm.c              | 48 +++++++++++++++++++++++++----------------
+ configure.ac            | 43 ------------------------------------
+ include/dix-config.h.in |  3 ---
+ include/meson.build     |  5 -----
+ 4 files changed, 29 insertions(+), 70 deletions(-)
+
+diff --git a/Xext/shm.c b/Xext/shm.c
+index ed43b9202..2739a59e7 100644
+--- a/Xext/shm.c
++++ b/Xext/shm.c
+@@ -1194,36 +1194,46 @@ ProcShmAttachFd(ClientPtr client)
+ static int
+ shm_tmpfile(void)
+ {
+-#ifdef SHMDIR
++    const char *shmdirs[] = {
++        "/run/shm",
++        "/var/tmp",
++        "/tmp",
++    };
+     int	fd;
+-    char	template[] = SHMDIR "/shmfd-XXXXXX";
++
+ #ifdef O_TMPFILE
+-    fd = open(SHMDIR, O_TMPFILE|O_RDWR|O_CLOEXEC|O_EXCL, 0666);
+-    if (fd >= 0) {
+-        DebugF ("Using O_TMPFILE\n");
+-        return fd;
++    for (int i = 0; i < ARRAY_SIZE(shmdirs); i++) {
++        fd = open(shmdirs[i], O_TMPFILE|O_RDWR|O_CLOEXEC|O_EXCL, 0666);
++        if (fd >= 0) {
++            DebugF ("Using O_TMPFILE\n");
++            return fd;
++        }
+     }
+     ErrorF ("Not using O_TMPFILE\n");
+ #endif
++
++    for (int i = 0; i < ARRAY_SIZE(shmdirs); i++) {
++        char template[PATH_MAX];
++        snprintf(template, ARRAY_SIZE(template), "%s/shmfd-XXXXXX", shmdirs[i]);
+ #ifdef HAVE_MKOSTEMP
+-    fd = mkostemp(template, O_CLOEXEC);
++        fd = mkostemp(template, O_CLOEXEC);
+ #else
+-    fd = mkstemp(template);
++        fd = mkstemp(template);
+ #endif
+-    if (fd < 0)
+-        return -1;
+-    unlink(template);
++        if (fd < 0)
++            continue;
++        unlink(template);
+ #ifndef HAVE_MKOSTEMP
+-    int flags = fcntl(fd, F_GETFD);
+-    if (flags != -1) {
+-        flags |= FD_CLOEXEC;
+-        (void) fcntl(fd, F_SETFD, &flags);
+-    }
++        int flags = fcntl(fd, F_GETFD);
++        if (flags != -1) {
++            flags |= FD_CLOEXEC;
++            (void) fcntl(fd, F_SETFD, &flags);
++        }
+ #endif
+-    return fd;
+-#else
++        return fd;
++    }
++
+     return -1;
+-#endif
+ }
+ 
+ static int
+diff --git a/configure.ac b/configure.ac
+index 359b62cb5..57a233102 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1115,49 +1115,6 @@ case "$DRI2,$HAVE_DRI2PROTO" in
+ esac
+ AM_CONDITIONAL(DRI2, test "x$DRI2" = xyes)
+ 
+-dnl
+-dnl Locate a suitable tmp file system for creating shared memeory files
+-dnl
+-
+-AC_ARG_WITH(shared-memory-dir, AS_HELP_STRING([--with-shared-memory-dir=PATH], [Path to directory in a world-writable temporary directory for anonymous shared memory (default: auto)]),
+-[],
+-[with_shared_memory_dir=yes])
+-
+-shmdirs="/run/shm /var/tmp /tmp"
+-
+-case x"$with_shared_memory_dir" in
+-xyes)
+-	for dir in $shmdirs; do
+-		case x"$with_shared_memory_dir" in
+-		xyes)
+-			echo Checking temp dir "$dir"
+-			if test -d "$dir"; then
+-				with_shared_memory_dir="$dir"
+-			fi
+-			;;
+-		esac
+-	done
+-	;;
+-x/*)
+-	;;
+-xno)
+-	;;
+-*)
+-	AC_MSG_ERROR([Invalid directory specified for --with-shared-memory-dir: $with_shared_memory_dir])
+-	;;
+-esac
+-
+-case x"$with_shared_memory_dir" in
+-xyes)
+-	AC_MSG_ERROR([No directory found for shared memory temp files.])
+-	;;
+-xno)
+-	;;
+-*)
+-	AC_DEFINE_UNQUOTED(SHMDIR, ["$with_shared_memory_dir"], [Directory for shared memory temp files])
+-	;;
+-esac
+-
+ AC_ARG_ENABLE(xtrans-send-fds,	AS_HELP_STRING([--disable-xtrans-send-fds], [Use Xtrans support for fd passing (default: auto)]), [XTRANS_SEND_FDS=$enableval], [XTRANS_SEND_FDS=auto])
+ 
+ case "x$XTRANS_SEND_FDS" in
+diff --git a/include/dix-config.h.in b/include/dix-config.h.in
+index f8df86608..3bd22b8bb 100644
+--- a/include/dix-config.h.in
++++ b/include/dix-config.h.in
+@@ -452,9 +452,6 @@
+ /* Wrap SIGBUS to catch MIT-SHM faults */
+ #undef BUSFAULT
+ 
+-/* Directory for shared memory temp files */
+-#undef SHMDIR
+-
+ /* Don't let Xdefs.h define 'pointer' */
+ #define _XTYPEDEF_POINTER       1
+ 
+diff --git a/include/meson.build b/include/meson.build
+index 4a0c12f5a..04c41e999 100644
+--- a/include/meson.build
++++ b/include/meson.build
+@@ -91,11 +91,6 @@ conf_data.set('SYSTEMD_LOGIND', build_systemd_logind)
+ conf_data.set('NEED_DBUS', build_systemd_logind or build_hal)
+ conf_data.set('CONFIG_WSCONS', host_machine.system() == 'openbsd')
+ 
+-# XXX: SHMDIR is weird in autoconf, probing the build system for
+-# various tmp directories.  Could we replace it with C code at runtime
+-# that just uses whatever directory works?
+-conf_data.set_quoted('SHMDIR', '/tmp')
+-
+ conf_data.set('HAVE_XSHMFENCE', xshmfence_dep.found())
+ conf_data.set('WITH_LIBDRM', libdrm_dep.found())
+ conf_data.set('GLAMOR_HAS_EGL_QUERY_DMABUF',
+-- 
+2.19.2
+

diff --git a/x11-base/xorg-server/files/xorg-server-1.20.4-shm-Use-memfd_create-when-possible.patch b/x11-base/xorg-server/files/xorg-server-1.20.4-shm-Use-memfd_create-when-possible.patch
new file mode 100644
index 00000000000..fce25944537
--- /dev/null
+++ b/x11-base/xorg-server/files/xorg-server-1.20.4-shm-Use-memfd_create-when-possible.patch
@@ -0,0 +1,89 @@
+From f6753c117ef0f83499d5e2d6dda226fec9ddf803 Mon Sep 17 00:00:00 2001
+From: Alexander Volkov <a.volkov@rusbitech.ru>
+Date: Mon, 11 Feb 2019 18:54:10 +0300
+Subject: [PATCH xserver] shm: Use memfd_create when possible
+
+It doesn't require shared memory dir and thus allows
+to avoid cases when this dir is detected incorrectly,
+as in https://bugreports.qt.io/browse/QTBUG-71440
+
+Signed-off-by: Alexander Volkov <a.volkov@rusbitech.ru>
+---
+ Xext/shm.c              | 12 ++++++++++++
+ configure.ac            |  2 +-
+ include/dix-config.h.in |  3 +++
+ include/meson.build     |  1 +
+ 4 files changed, 17 insertions(+), 1 deletion(-)
+
+diff --git a/Xext/shm.c b/Xext/shm.c
+index 2739a59e7..506fd4df1 100644
+--- a/Xext/shm.c
++++ b/Xext/shm.c
+@@ -35,6 +35,9 @@ in this Software without prior written authorization from The Open Group.
+ #include <sys/types.h>
+ #include <sys/ipc.h>
+ #include <sys/shm.h>
++#ifdef HAVE_MEMFD_CREATE
++#include <sys/mman.h>
++#endif
+ #include <unistd.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
+@@ -1201,6 +1204,15 @@ shm_tmpfile(void)
+     };
+     int	fd;
+ 
++#ifdef HAVE_MEMFD_CREATE
++    fd = memfd_create("xorg", MFD_CLOEXEC|MFD_ALLOW_SEALING);
++    if (fd != -1) {
++        fcntl(fd, F_ADD_SEALS, F_SEAL_SHRINK);
++        DebugF ("Using memfd_create\n");
++        return fd;
++    }
++#endif
++
+ #ifdef O_TMPFILE
+     for (int i = 0; i < ARRAY_SIZE(shmdirs); i++) {
+         fd = open(shmdirs[i], O_TMPFILE|O_RDWR|O_CLOEXEC|O_EXCL, 0666);
+diff --git a/configure.ac b/configure.ac
+index 0ca96aeb8..79ff7fa64 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -159,7 +159,7 @@ dnl Checks for library functions.
+ AC_CHECK_FUNCS([backtrace geteuid getuid issetugid getresuid \
+ 	getdtablesize getifaddrs getpeereid getpeerucred getprogname getzoneid \
+ 	mmap posix_fallocate seteuid shmctl64 strncasecmp vasprintf vsnprintf \
+-	walkcontext setitimer poll epoll_create1 mkostemp])
++	walkcontext setitimer poll epoll_create1 mkostemp memfd_create])
+ AC_CONFIG_LIBOBJ_DIR([os])
+ AC_REPLACE_FUNCS([reallocarray strcasecmp strcasestr strlcat strlcpy strndup\
+ 	timingsafe_memcmp])
+diff --git a/include/dix-config.h.in b/include/dix-config.h.in
+index 855b3d50c..9eb1a924e 100644
+--- a/include/dix-config.h.in
++++ b/include/dix-config.h.in
+@@ -128,6 +128,9 @@
+ /* Define to 1 if you have the <linux/fb.h> header file. */
+ #undef HAVE_LINUX_FB_H
+ 
++/* Define to 1 if you have the `memfd_create' function. */
++#undef HAVE_MEMFD_CREATE
++
+ /* Define to 1 if you have the `mkostemp' function. */
+ #undef HAVE_MKOSTEMP
+ 
+diff --git a/include/meson.build b/include/meson.build
+index 04c41e999..bbd5a6690 100644
+--- a/include/meson.build
++++ b/include/meson.build
+@@ -141,6 +141,7 @@ conf_data.set('HAVE_GETPEEREID', cc.has_function('getpeereid'))
+ conf_data.set('HAVE_GETPEERUCRED', cc.has_function('getpeerucred'))
+ conf_data.set('HAVE_GETPROGNAME', cc.has_function('getprogname'))
+ conf_data.set('HAVE_GETZONEID', cc.has_function('getzoneid'))
++conf_data.set('HAVE_MEMFD_CREATE', cc.has_function('memfd_create'))
+ conf_data.set('HAVE_MKOSTEMP', cc.has_function('mkostemp'))
+ conf_data.set('HAVE_MMAP', cc.has_function('mmap'))
+ conf_data.set('HAVE_POLL', cc.has_function('poll'))
+-- 
+2.19.2
+

diff --git a/x11-base/xorg-server/files/xorg-server-1.20.4-shm-reindent-shm_tmpfile-to-follow-our-standards.patch b/x11-base/xorg-server/files/xorg-server-1.20.4-shm-reindent-shm_tmpfile-to-follow-our-standards.patch
new file mode 100644
index 00000000000..1ce9e130794
--- /dev/null
+++ b/x11-base/xorg-server/files/xorg-server-1.20.4-shm-reindent-shm_tmpfile-to-follow-our-standards.patch
@@ -0,0 +1,72 @@
+From 804a9b4f57107fa2d0ed1ae0becda5bebaffe6e1 Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Wed, 19 Sep 2018 13:20:12 -0700
+Subject: [PATCH xserver] shm: reindent shm_tmpfile to follow our standards.
+
+Signed-off-by: Eric Anholt <eric@anholt.net>
+---
+ Xext/shm.c | 40 ++++++++++++++++++++--------------------
+ 1 file changed, 20 insertions(+), 20 deletions(-)
+
+diff --git a/Xext/shm.c b/Xext/shm.c
+index 589ed0b4d..ed43b9202 100644
+--- a/Xext/shm.c
++++ b/Xext/shm.c
+@@ -1195,34 +1195,34 @@ static int
+ shm_tmpfile(void)
+ {
+ #ifdef SHMDIR
+-	int	fd;
+-	char	template[] = SHMDIR "/shmfd-XXXXXX";
++    int	fd;
++    char	template[] = SHMDIR "/shmfd-XXXXXX";
+ #ifdef O_TMPFILE
+-	fd = open(SHMDIR, O_TMPFILE|O_RDWR|O_CLOEXEC|O_EXCL, 0666);
+-	if (fd >= 0) {
+-		DebugF ("Using O_TMPFILE\n");
+-		return fd;
+-	}
+-	ErrorF ("Not using O_TMPFILE\n");
++    fd = open(SHMDIR, O_TMPFILE|O_RDWR|O_CLOEXEC|O_EXCL, 0666);
++    if (fd >= 0) {
++        DebugF ("Using O_TMPFILE\n");
++        return fd;
++    }
++    ErrorF ("Not using O_TMPFILE\n");
+ #endif
+ #ifdef HAVE_MKOSTEMP
+-	fd = mkostemp(template, O_CLOEXEC);
++    fd = mkostemp(template, O_CLOEXEC);
+ #else
+-	fd = mkstemp(template);
++    fd = mkstemp(template);
+ #endif
+-	if (fd < 0)
+-		return -1;
+-	unlink(template);
++    if (fd < 0)
++        return -1;
++    unlink(template);
+ #ifndef HAVE_MKOSTEMP
+-	int flags = fcntl(fd, F_GETFD);
+-	if (flags != -1) {
+-		flags |= FD_CLOEXEC;
+-		(void) fcntl(fd, F_SETFD, &flags);
+-	}
++    int flags = fcntl(fd, F_GETFD);
++    if (flags != -1) {
++        flags |= FD_CLOEXEC;
++        (void) fcntl(fd, F_SETFD, &flags);
++    }
+ #endif
+-	return fd;
++    return fd;
+ #else
+-        return -1;
++    return -1;
+ #endif
+ }
+ 
+-- 
+2.19.2
+

diff --git a/x11-base/xorg-server/xorg-server-1.20.4.ebuild b/x11-base/xorg-server/xorg-server-1.20.4.ebuild
new file mode 100644
index 00000000000..73fb1dab471
--- /dev/null
+++ b/x11-base/xorg-server/xorg-server-1.20.4.ebuild
@@ -0,0 +1,217 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+XORG_DOC=doc
+XORG_EAUTORECONF="yes"
+inherit xorg-3 multilib flag-o-matic
+EGIT_REPO_URI="https://anongit.freedesktop.org/git/xorg/xserver.git"
+
+DESCRIPTION="X.Org X servers"
+SLOT="0/${PV}"
+if [[ ${PV} != 9999* ]]; then
+	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+fi
+
+IUSE_SERVERS="dmx kdrive wayland xephyr xnest xorg xvfb"
+IUSE="${IUSE_SERVERS} debug +glamor ipv6 libressl minimal selinux +suid systemd +udev unwind xcsecurity"
+
+CDEPEND=">=app-eselect/eselect-opengl-1.3.0
+	!libressl? ( dev-libs/openssl:0= )
+	libressl? ( dev-libs/libressl:0= )
+	>=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.89
+	>=x11-libs/libpciaccess-0.12.901
+	>=x11-libs/libXau-1.0.4
+	>=x11-libs/libXdmcp-1.0.2
+	>=x11-libs/libXfont2-2.0.1
+	>=x11-libs/libxkbfile-1.0.4
+	>=x11-libs/libxshmfence-1.1
+	>=x11-libs/pixman-0.27.2
+	>=x11-libs/xtrans-1.3.5
+	>=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
+	)
+	glamor? (
+		media-libs/libepoxy[X]
+		>=media-libs/mesa-18[egl,gbm]
+		!x11-libs/glamor
+	)
+	kdrive? (
+		>=x11-libs/libXext-1.0.5
+		x11-libs/libXv
+	)
+	xephyr? (
+		x11-libs/libxcb[xkb]
+		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-18
+	)
+	udev? ( virtual/libudev:= )
+	unwind? ( sys-libs/libunwind )
+	wayland? (
+		>=dev-libs/wayland-1.3.0
+		media-libs/libepoxy
+		>=dev-libs/wayland-protocols-1.1
+	)
+	>=x11-apps/xinit-1.3.3-r1
+	systemd? (
+		sys-apps/dbus
+		sys-apps/systemd
+	)"
+
+DEPEND="${CDEPEND}
+	sys-devel/flex
+	>=x11-base/xorg-proto-2018.3
+	dmx? (
+		doc? (
+			|| (
+				www-client/links
+				www-client/lynx
+				www-client/w3m
+			)
+		)
+	)"
+
+RDEPEND="${CDEPEND}
+	selinux? ( sec-policy/selinux-xserver )
+	!x11-drivers/xf86-video-modesetting
+"
+
+PDEPEND="
+	xorg? ( >=x11-base/xorg-drivers-$(ver_cut 1-2) )"
+
+REQUIRED_USE="!minimal? (
+		|| ( ${IUSE_SERVERS} )
+	)
+	minimal? ( !glamor !wayland )
+	xephyr? ( kdrive )"
+
+UPSTREAMED_PATCHES=(
+	"${FILESDIR}"/${P}-shm-reindent-shm_tmpfile-to-follow-our-standards.patch
+	"${FILESDIR}"/${P}-shm-Pick-the-shm-dir-at-run-time-not-build-time.patch
+	"${FILESDIR}"/${P}-shm-Use-memfd_create-when-possible.patch
+)
+
+PATCHES=(
+	"${UPSTREAMED_PATCHES[@]}"
+	"${FILESDIR}"/${PN}-1.12-unloadsubmodule.patch
+	# needed for new eselect-opengl, bug #541232
+	"${FILESDIR}"/${PN}-1.18-support-multiple-Files-sections.patch
+)
+
+pkg_setup() {
+	if use wayland && ! use glamor; then
+		ewarn "glamor is necessary for acceleration under Xwayland."
+		ewarn "Performance may be unacceptable without it."
+	fi
+
+	# 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
+	# 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 debug)
+		$(use_enable dmx)
+		$(use_enable glamor)
+		$(use_enable kdrive)
+		$(use_enable unwind libunwind)
+		$(use_enable wayland xwayland)
+		$(use_enable !minimal record)
+		$(use_enable !minimal xfree86-utils)
+		$(use_enable !minimal dri)
+		$(use_enable !minimal dri2)
+		$(use_enable !minimal dri3)
+		$(use_enable !minimal glx)
+		$(use_enable xcsecurity)
+		$(use_enable xephyr)
+		$(use_enable xnest)
+		$(use_enable xorg)
+		$(use_enable xvfb)
+		$(use_enable udev config-udev)
+		$(use_with doc doxygen)
+		$(use_with doc xmlto)
+		$(use_with systemd systemd-daemon)
+		$(use_enable systemd systemd-logind)
+		$(usex suid $(use_enable systemd suid-wrapper) '--disable-suid-wrapper')
+		$(usex suid $(use_enable !systemd install-setuid) '--disable-install-setuid')
+		--enable-libdrm
+		--sysconfdir="${EPREFIX}"/etc/X11
+		--localstatedir="${EPREFIX}"/var
+		--with-fontrootdir="${EPREFIX}"/usr/share/fonts
+		--with-xkb-output="${EPREFIX}"/var/lib/xkb
+		--disable-config-hal
+		--disable-linux-acpi
+		--without-dtrace
+		--without-fop
+		--with-os-vendor=Gentoo
+		--with-sha1=libcrypto
+	)
+}
+
+src_install() {
+	default
+
+	server_based_install
+
+	if ! use minimal && use xorg; then
+		# Install xorg.conf.example into docs
+		dodoc "${S}"/hw/xfree86/xorg.conf.example
+	fi
+
+	newinitd "${FILESDIR}"/xdm-setup.initd-1 xdm-setup
+	newinitd "${FILESDIR}"/xdm.initd-11 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
+
+	find "${ED}"/var -type d -empty -delete || die
+}
+
+pkg_postinst() {
+	# sets up libGL and DRI2 symlinks if needed (ie, on a fresh install)
+	eselect opengl set xorg-x11 --use-old
+}
+
+pkg_postrm() {
+	# Get rid of module dir to ensure opengl-update works properly
+	if [[ -z ${REPLACED_BY_VERSION} && -e ${EROOT}/usr/$(get_libdir)/xorg/modules ]]; then
+		rm -rf "${EROOT}"/usr/$(get_libdir)/xorg/modules
+	fi
+}
+
+server_based_install() {
+	if ! use xorg; then
+		rm "${ED}"/usr/share/man/man1/Xserver.1x \
+			"${ED}"/usr/$(get_libdir)/xserver/SecurityPolicy \
+			"${ED}"/usr/$(get_libdir)/pkgconfig/xorg-server.pc \
+			"${ED}"/usr/share/man/man1/Xserver.1x
+	fi
+}


             reply	other threads:[~2019-02-28  5:47 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-28  5:47 Matt Turner [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-11-06  1:22 [gentoo-commits] repo/gentoo:master commit in: x11-base/xorg-server/files/, x11-base/xorg-server/ Matt Turner
2023-12-14  4:12 Sam James
2023-11-25 17:31 Matt Turner
2023-10-25 15:41 Matt Turner
2023-07-09  8:13 Sam James
2021-12-02  2:37 Sam James
2020-03-19 21:50 Matt Turner
2020-01-26 21:10 Matt Turner
2018-05-05 19:04 Nick Sarnie
2018-03-06 20:25 Matt Turner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1551332686.4b03aab97013ea3cacb778956262dbf16e70fcdf.mattst88@gentoo \
    --to=mattst88@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox