summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'x11-base/xorg-server')
-rw-r--r--x11-base/xorg-server/Manifest2
-rw-r--r--x11-base/xorg-server/files/xdm-setup.initd-113
-rw-r--r--x11-base/xorg-server/files/xdm.confd-410
-rw-r--r--x11-base/xorg-server/files/xdm.initd-11230
-rw-r--r--x11-base/xorg-server/files/xorg-server-21.1.10-c99.patch39
-rw-r--r--x11-base/xorg-server/metadata.xml37
-rw-r--r--x11-base/xorg-server/xorg-server-1.20.10-r2.ebuild228
-rw-r--r--x11-base/xorg-server/xorg-server-1.20.10-r3.ebuild226
-rw-r--r--x11-base/xorg-server/xorg-server-21.1.13.ebuild194
-rw-r--r--x11-base/xorg-server/xorg-server-9999.ebuild206
10 files changed, 337 insertions, 848 deletions
diff --git a/x11-base/xorg-server/Manifest b/x11-base/xorg-server/Manifest
index dd5b3cd6b313..08011c7bda68 100644
--- a/x11-base/xorg-server/Manifest
+++ b/x11-base/xorg-server/Manifest
@@ -1 +1 @@
-DIST xorg-server-1.20.10.tar.bz2 6307058 BLAKE2B 13306e5f4f7f2b4531f2af5103337defa1d441bff78f20ea4d564a7d046ee546406812b6836fe94ca9323189382754270989b2ac7ded8950ddb2b15562c6ff21 SHA512 a07bee380bb72f2117fe6f831a6e4aded19bea1f2b36e42a019a30348e98d6fe65c0617cf819be9c6b405502f88cafb829df30aab32393774b71f1418a4cefae
+DIST xorg-server-21.1.13.tar.xz 4963952 BLAKE2B f6b05439e54b9709ce7a5b5f3702053ebc586ac8f8976bb6de9955ab34eac7201e027e1076584cf5b6d8c2639703e3a908b9e38f5dc52d4897aac8650f462502 SHA512 a55fbeeed227c12c67f166f2c06a7f4f8d78feeea04c6e73509dbc723185fd0772349aa23f7c44cf0828ac0a0e2f9e4b26cffb220e6dfa7186d60f88b25ccaf1
diff --git a/x11-base/xorg-server/files/xdm-setup.initd-1 b/x11-base/xorg-server/files/xdm-setup.initd-1
deleted file mode 100644
index 8f2ed27e6634..000000000000
--- a/x11-base/xorg-server/files/xdm-setup.initd-1
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-depend() {
- need localmount
-}
-
-start() {
- if get_bootparam "nox" ; then
- touch /etc/.noxdm
- fi
-}
diff --git a/x11-base/xorg-server/files/xdm.confd-4 b/x11-base/xorg-server/files/xdm.confd-4
deleted file mode 100644
index 880d4635f117..000000000000
--- a/x11-base/xorg-server/files/xdm.confd-4
+++ /dev/null
@@ -1,10 +0,0 @@
-# We always try and start X on a static VT. The various DMs normally default
-# to using VT7. If you wish to use the xdm init script, then you should ensure
-# that the VT checked is the same VT your DM wants to use. We do this check to
-# ensure that you haven't accidentally configured something to run on the VT
-# in your /etc/inittab file so that you don't get a dead keyboard.
-CHECKVT=7
-
-# What display manager do you use ? [ xdm | gdm | sddm | gpe | lightdm | entrance ]
-# NOTE: If this is set in /etc/rc.conf, that setting will override this one.
-DISPLAYMANAGER="xdm"
diff --git a/x11-base/xorg-server/files/xdm.initd-11 b/x11-base/xorg-server/files/xdm.initd-11
deleted file mode 100644
index debbfe07629b..000000000000
--- a/x11-base/xorg-server/files/xdm.initd-11
+++ /dev/null
@@ -1,230 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License, v2
-
-# This is here to serve as a note to myself, and future developers.
-#
-# Any Display manager (gdm,kdm,xdm) has the following problem: if
-# it is started before any getty, and no vt is specified, it will
-# usually run on vt2. When the getty on vt2 then starts, and the
-# DM is already started, the getty will take control of the keyboard,
-# leaving us with a "dead" keyboard.
-#
-# Resolution: add the following line to /etc/inittab
-#
-# x:a:once:/etc/X11/startDM.sh
-#
-# and have /etc/X11/startDM.sh start the DM in daemon mode if
-# a lock is present (with the info of what DM should be started),
-# else just fall through.
-#
-# How this basically works, is the "a" runlevel is a additional
-# runlevel that you can use to fork processes with init, but the
-# runlevel never gets changed to this runlevel. Along with the "a"
-# runlevel, the "once" key word means that startDM.sh will only be
-# run when we specify it to run, thus eliminating respawning
-# startDM.sh when "xdm" is not added to the default runlevel, as was
-# done previously.
-#
-# This script then just calls "telinit a", and init will run
-# /etc/X11/startDM.sh after the current runlevel completes (this
-# script should only be added to the actual runlevel the user is
-# using).
-#
-# Martin Schlemmer
-# aka Azarah
-# 04 March 2002
-
-depend() {
- need localmount xdm-setup
-
- # this should start as early as possible
- # we can't do 'before *' as that breaks it
- # (#139824) Start after ypbind and autofs for network authentication
- # (#145219 #180163) Could use lirc mouse as input device
- # (#70689 comment #92) Start after consolefont to avoid display corruption
- # (#291269) Start after quota, since some dm need readable home
- # (#390609) gdm-3 will fail when dbus is not running
- # (#366753) starting keymaps after X causes problems
- after bootmisc consolefont modules netmount
- after readahead-list ypbind autofs openvpn gpm lircmd
- after quota keymaps
- before alsasound
-
- # Start before X
- use consolekit dbus xfs
-}
-
-setup_dm() {
- local MY_XDM
-
- MY_XDM=$(echo "${DISPLAYMANAGER}" | tr '[:upper:]' '[:lower:]')
-
- # Load our root path from profile.env
- # Needed for kdm
- PATH=${PATH}:$(. /etc/profile.env; echo "${ROOTPATH}")
-
- NAME=
- case "${MY_XDM}" in
- kdm|kde)
- EXE=/usr/bin/kdm
- PIDFILE=/run/kdm.pid
- ;;
- entrance*)
- EXE=/usr/sbin/entrance
- PIDFILE=/run/entrance.pid
- ;;
- gdm|gnome)
- # gdm-3 and above has different paths
- if [ -f /usr/sbin/gdm ]; then
- EXE=/usr/sbin/gdm
- PIDFILE=/run/gdm/gdm.pid
- START_STOP_ARGS="--background"
- AUTOCLEAN_CGROUP="yes"
- else
- EXE=/usr/bin/gdm
- PIDFILE=/run/gdm.pid
- fi
- [ "${RC_UNAME}" != "Linux" ] && NAME=gdm-binary
- ;;
- wdm)
- EXE=/usr/bin/wdm
- PIDFILE=
- ;;
- gpe)
- EXE=/usr/bin/gpe-dm
- PIDFILE=/run/gpe-dm.pid
- ;;
- lxdm)
- EXE=/usr/sbin/lxdm-binary
- PIDFILE=/run/lxdm.pid
- START_STOP_ARGS="--background"
- ;;
- lightdm)
- EXE=/usr/sbin/lightdm
- PIDFILE=/run/lightdm.pid
- START_STOP_ARGS="--background"
- ;;
- sddm)
- EXE="/usr/bin/sddm"
- START_STOP_ARGS="-m --background"
- PIDFILE=/run/sddm.pid
- ;;
- *)
- # first find out if there is such executable
- EXE="$(command -v ${MY_XDM} 2>/dev/null)"
- PIDFILE="/run/${MY_XDM}.pid"
-
- # warn user that he is doing sick things if the exe was not found
- if [ -z "${EXE}" ]; then
- echo "ERROR: Your XDM value is invalid."
- echo " No ${MY_XDM} executable could be found on your system."
- fi
- ;;
- esac
-
- if ! [ -x "${EXE}" ]; then
- EXE=/usr/bin/xdm
- PIDFILE=/run/xdm.pid
- if ! [ -x "/usr/bin/xdm" ]; then
- echo "ERROR: Please set your DISPLAYMANAGER variable in /etc/conf.d/xdm,"
- echo " or install x11-apps/xdm package"
- eend 255
- fi
- fi
-}
-
-# Check to see if something is defined on our VT
-vtstatic() {
- if [ -e /etc/inittab ] ; then
- grep -Eq "^[^#]+.*\<tty$1\>" /etc/inittab
- elif [ -e /etc/ttys ] ; then
- grep -q "^ttyv$(($1 - 1))" /etc/ttys
- else
- return 1
- fi
-}
-
-start() {
- local EXE NAME PIDFILE AUTOCLEAN_CGROUP
- setup_dm
-
- if [ -f /etc/.noxdm ]; then
- einfo "Skipping ${EXE##*/}, /etc/.noxdm found or \"nox\" bootparam passed."
- rm /etc/.noxdm
- return 0
- fi
-
- ebegin "Setting up ${EXE##*/}"
-
- # save the prefered DM
- save_options "service" "${EXE}"
- save_options "name" "${NAME}"
- save_options "pidfile" "${PIDFILE}"
- save_options "start_stop_args" "${START_STOP_ARGS}"
- save_options "autoclean_cgroup" "${AUTOCLEAN_CGROUP:-no}"
-
- if [ -n "${CHECKVT-y}" ] ; then
- if vtstatic "${CHECKVT:-7}" ; then
- if [ -x /sbin/telinit ] && [ "${SOFTLEVEL}" != "BOOT" ] && [ "${RC_SOFTLEVEL}" != "BOOT" ]; then
- ewarn "Something is already defined on VT ${CHECKVT:-7}, will start X later"
- telinit a >/dev/null 2>&1
- return 0
- else
- eerror "Something is already defined on VT ${CHECKVT:-7}, not starting"
- return 1
- fi
- fi
- fi
-
- /etc/X11/startDM.sh
- eend 0
-}
-
-stop() {
- local curvt retval
-
- retval=0
- if [ -t 0 ]; then
- if type fgconsole >/dev/null 2>&1; then
- curvt=$(fgconsole 2>/dev/null)
- else
- curvt=$(tty)
- case "${curvt}" in
- /dev/ttyv[0-9]*) curvt=${curvt#/dev/ttyv} ;;
- *) curvt= ;;
- esac
- fi
- fi
- local myexe myname mypidfile myservice
- myexe=$(get_options "service")
- myname=$(get_options "name")
- mypidfile=$(get_options "pidfile")
- myservice=${myexe##*/}
- yesno "${rc_cgroup_cleanup:-no}" || rc_cgroup_cleanup=$(get_options "autoclean_cgroup")
-
- [ -z "${myexe}" ] && return 0
-
- ebegin "Stopping ${myservice}"
-
- if start-stop-daemon --quiet --test --stop --exec "${myexe}" 2>/dev/null; then
- start-stop-daemon --stop --exec "${myexe}" --retry TERM/5/TERM/5 \
- ${mypidfile:+--pidfile} ${mypidfile} \
- ${myname:+--name} ${myname}
- retval=${?}
- fi
-
- # switch back to original vt
- if [ -n "${curvt}" ]; then
- if type chvt >/dev/null 2>&1; then
- chvt "${curvt}"
- else
- vidcontrol -s "$((curvt + 1))"
- fi
- fi
-
- eend ${retval} "Error stopping ${myservice}"
- return ${retval}
-}
-
-# vim: set ts=4 :
diff --git a/x11-base/xorg-server/files/xorg-server-21.1.10-c99.patch b/x11-base/xorg-server/files/xorg-server-21.1.10-c99.patch
new file mode 100644
index 000000000000..12a48e611329
--- /dev/null
+++ b/x11-base/xorg-server/files/xorg-server-21.1.10-c99.patch
@@ -0,0 +1,39 @@
+https://bugs.gentoo.org/885763
+https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1114
+https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1222
+https://gitlab.freedesktop.org/xorg/xserver/-/commit/34a430a16ec2cb9851b1f2bc7fc2117e19b9fcc7
+
+From f3cb68d274c4536130683d28182620fbbf1b287d Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Thu, 13 Apr 2023 15:45:58 +0200
+Subject: [PATCH] fb: Declare wfbFinishScreenInit, wfbScreenInit for
+ !FB_ACCESS_WRAPPER
+
+xf86-video-nouveau calls wfbScreenInit without defining
+FB_ACCESS_WRAPPER (which has other unintended side effects).
+Presently, this compiles and links because compilers still support
+implicit function declarations, but this is going to change fairly
+soon. This seems to be the most straightforward change to keep
+the driver building.
+
+(cherry picked from commit 34a430a16ec2cb9851b1f2bc7fc2117e19b9fcc7)
+--- a/fb/fb.h
++++ b/fb/fb.h
+@@ -1027,7 +1027,6 @@ extern _X_EXPORT Bool
+ int dpiy, int width, /* pixel width of frame buffer */
+ int bpp); /* bits per pixel of frame buffer */
+
+-#ifdef FB_ACCESS_WRAPPER
+ extern _X_EXPORT Bool
+ wfbFinishScreenInit(ScreenPtr pScreen,
+ void *pbits,
+@@ -1049,7 +1048,6 @@ wfbScreenInit(ScreenPtr pScreen,
+ int width,
+ int bpp,
+ SetupWrapProcPtr setupWrap, FinishWrapProcPtr finishWrap);
+-#endif
+
+ extern _X_EXPORT Bool
+ fbFinishScreenInit(ScreenPtr pScreen,
+--
+GitLab
diff --git a/x11-base/xorg-server/metadata.xml b/x11-base/xorg-server/metadata.xml
index 30e7cd9f41e0..b88ab959a211 100644
--- a/x11-base/xorg-server/metadata.xml
+++ b/x11-base/xorg-server/metadata.xml
@@ -1,22 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>x11@gentoo.org</email>
- <name>X11</name>
-</maintainer>
-<use>
- <flag name="dmx">Build the Distributed Multiheaded X server</flag>
- <flag name="elogind">Use elogind to get control over framebuffer when running as regular user</flag>
- <flag name="kdrive">Build the kdrive X servers</flag>
- <flag name="unwind">Enable libunwind usage for backtraces</flag>
- <flag name="xcsecurity">Build Security extension</flag>
- <flag name="xephyr">Build the Xephyr server</flag>
- <flag name="xnest">Build the Xnest server</flag>
- <flag name="xorg">Build the Xorg X server (HIGHLY RECOMMENDED)</flag>
- <flag name="xvfb">Build the Xvfb server</flag>
-</use>
-<upstream>
- <remote-id type="cpe">cpe:/a:x.org:xorg-server</remote-id>
-</upstream>
+ <maintainer type="project">
+ <email>x11@gentoo.org</email>
+ <name>X11</name>
+ </maintainer>
+ <use>
+ <flag name="elogind">Use elogind to get control over framebuffer when running as regular user</flag>
+ <flag name="unwind">Enable libunwind usage for backtraces</flag>
+ <flag name="xcsecurity">Build Security extension</flag>
+ <flag name="xephyr">Build the Xephyr server</flag>
+ <flag name="xnest">Build the Xnest server</flag>
+ <flag name="xorg">Build the Xorg X server (HIGHLY RECOMMENDED)</flag>
+ <flag name="xvfb">Build the Xvfb server</flag>
+ </use>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:x.org:xorg-server</remote-id>
+ <remote-id type="freedesktop-gitlab">xorg/xserver</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/x11-base/xorg-server/xorg-server-1.20.10-r2.ebuild b/x11-base/xorg-server/xorg-server-1.20.10-r2.ebuild
deleted file mode 100644
index b1ac96ca735c..000000000000
--- a/x11-base/xorg-server/xorg-server-1.20.10-r2.ebuild
+++ /dev/null
@@ -1,228 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-XORG_DOC=doc
-inherit xorg-3 multilib flag-o-matic toolchain-funcs
-EGIT_REPO_URI="https://gitlab.freedesktop.org/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 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-fi
-
-IUSE_SERVERS="dmx kdrive wayland xephyr xnest xorg xvfb"
-IUSE="${IUSE_SERVERS} debug +elogind ipv6 libressl minimal selinux suid systemd test +udev unwind xcsecurity"
-RESTRICT="!test? ( test )"
-
-CDEPEND="
- media-libs/libglvnd[X]
- !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
- )
- 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[X(+),egl,gbm]
- >=media-libs/libepoxy-1.5.4[X,egl(+)]
- )
- udev? ( virtual/libudev:= )
- unwind? ( sys-libs/libunwind )
- wayland? (
- >=dev-libs/wayland-1.3.0
- >=media-libs/libepoxy-1.5.4[egl(+)]
- >=dev-libs/wayland-protocols-1.18
- )
- >=x11-apps/xinit-1.3.3-r1
- systemd? (
- sys-apps/dbus
- sys-apps/systemd
- )
- elogind? (
- sys-apps/dbus
- sys-auth/elogind[pam]
- sys-auth/pambase[elogind]
- )
- !!x11-drivers/nvidia-drivers[-libglvnd(+)]
-"
-
-DEPEND="${CDEPEND}
- sys-devel/flex
- >=x11-base/xorg-proto-2018.4
- dmx? (
- doc? (
- || (
- www-client/links
- www-client/lynx
- www-client/w3m
- )
- )
- )"
-
-RDEPEND="${CDEPEND}
- selinux? ( sec-policy/selinux-xserver )
-"
-
-PDEPEND="
- xorg? ( >=x11-base/xorg-drivers-$(ver_cut 1-2) )"
-
-REQUIRED_USE="!minimal? (
- || ( ${IUSE_SERVERS} )
- )
- elogind? ( udev )
- ?? ( elogind systemd )
- minimal? ( !wayland )
- xephyr? ( kdrive )"
-
-UPSTREAMED_PATCHES=(
-)
-
-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 minimal; then
- ewarn "glamor is necessary for acceleration under Xwayland."
- ewarn "Performance may be unacceptable without it."
- ewarn "Build with USE=-minimal to enable glamor."
- 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 kdrive)
- $(use_enable test unit-tests)
- $(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 glamor)
- $(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)
- --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
- CPP="$(tc-getPROG CPP cpp)"
- )
-
- if use systemd || use elogind; then
- XORG_CONFIGURE_OPTIONS+=(
- "--enable-systemd-logind"
- "--disable-install-setuid"
- "$(use_enable suid suid-wrapper)"
- )
- else
- XORG_CONFIGURE_OPTIONS+=(
- "--disable-systemd-logind"
- "--disable-suid-wrapper"
- "$(use_enable suid install-setuid)"
- )
- fi
-}
-
-src_install() {
- xorg-3_src_install
-
- 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_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
-}
diff --git a/x11-base/xorg-server/xorg-server-1.20.10-r3.ebuild b/x11-base/xorg-server/xorg-server-1.20.10-r3.ebuild
deleted file mode 100644
index 0c9d0b6e78a0..000000000000
--- a/x11-base/xorg-server/xorg-server-1.20.10-r3.ebuild
+++ /dev/null
@@ -1,226 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-XORG_DOC=doc
-inherit xorg-3 multilib flag-o-matic toolchain-funcs
-EGIT_REPO_URI="https://gitlab.freedesktop.org/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 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux"
-fi
-
-IUSE_SERVERS="dmx kdrive wayland xephyr xnest xorg xvfb"
-IUSE="${IUSE_SERVERS} debug +elogind ipv6 libressl minimal selinux suid systemd test +udev unwind xcsecurity"
-RESTRICT="!test? ( test )"
-
-CDEPEND="
- media-libs/libglvnd[X]
- !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-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
- )
- 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[X(+),egl,gbm]
- >=media-libs/libepoxy-1.5.4[X,egl(+)]
- )
- udev? ( virtual/libudev:= )
- unwind? ( sys-libs/libunwind )
- wayland? (
- >=dev-libs/wayland-1.3.0
- >=media-libs/libepoxy-1.5.4[egl(+)]
- >=dev-libs/wayland-protocols-1.18
- )
- >=x11-apps/xinit-1.3.3-r1
- systemd? (
- sys-apps/dbus
- sys-apps/systemd
- )
- elogind? (
- sys-apps/dbus
- sys-auth/elogind[pam]
- sys-auth/pambase[elogind]
- )
- !!x11-drivers/nvidia-drivers[-libglvnd(+)]
-"
-DEPEND="${CDEPEND}
- >=x11-base/xorg-proto-2018.4
- >=x11-libs/xtrans-1.3.5
- dmx? (
- doc? (
- || (
- www-client/links
- www-client/lynx
- www-client/w3m
- )
- )
- )
-"
-RDEPEND="${CDEPEND}
- !systemd? ( gui-libs/display-manager-init )
- selinux? ( sec-policy/selinux-xserver )
-"
-BDEPEND="
- sys-devel/flex
- wayland? ( dev-util/wayland-scanner )
-"
-PDEPEND="
- xorg? ( >=x11-base/xorg-drivers-$(ver_cut 1-2) )"
-
-REQUIRED_USE="!minimal? (
- || ( ${IUSE_SERVERS} )
- )
- elogind? ( udev )
- ?? ( elogind systemd )
- minimal? ( !wayland )
- xephyr? ( kdrive )"
-
-UPSTREAMED_PATCHES=(
-)
-
-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 minimal; then
- ewarn "glamor is necessary for acceleration under Xwayland."
- ewarn "Performance may be unacceptable without it."
- ewarn "Build with USE=-minimal to enable glamor."
- 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 kdrive)
- $(use_enable test unit-tests)
- $(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 glamor)
- $(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)
- --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
- CPP="$(tc-getPROG CPP cpp)"
- )
-
- if use systemd || use elogind; then
- XORG_CONFIGURE_OPTIONS+=(
- "--enable-systemd-logind"
- "--disable-install-setuid"
- "$(use_enable suid suid-wrapper)"
- )
- else
- XORG_CONFIGURE_OPTIONS+=(
- "--disable-systemd-logind"
- "--disable-suid-wrapper"
- "$(use_enable suid install-setuid)"
- )
- fi
-}
-
-src_install() {
- xorg-3_src_install
-
- server_based_install
-
- if ! use minimal && use xorg; then
- # Install xorg.conf.example into docs
- dodoc "${S}"/hw/xfree86/xorg.conf.example
- fi
-
- # 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_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
-}
diff --git a/x11-base/xorg-server/xorg-server-21.1.13.ebuild b/x11-base/xorg-server/xorg-server-21.1.13.ebuild
new file mode 100644
index 000000000000..aac526f8a150
--- /dev/null
+++ b/x11-base/xorg-server/xorg-server-21.1.13.ebuild
@@ -0,0 +1,194 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+XORG_TARBALL_SUFFIX="xz"
+XORG_EAUTORECONF="no"
+inherit flag-o-matic xorg-3 meson
+EGIT_REPO_URI="https://gitlab.freedesktop.org/xorg/xserver.git"
+
+DESCRIPTION="X.Org X servers"
+SLOT="0/${PV}"
+if [[ ${PV} != 9999* ]]; then
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+fi
+
+IUSE_SERVERS="xephyr xnest xorg xvfb"
+IUSE="${IUSE_SERVERS} debug +elogind minimal selinux suid systemd test +udev unwind xcsecurity"
+RESTRICT="!test? ( test )"
+
+CDEPEND="
+ media-libs/libglvnd[X]
+ dev-libs/libbsd
+ dev-libs/openssl:0=
+ >=x11-apps/iceauth-1.0.2
+ >=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-misc/xbitmaps-1.0.1
+ >=x11-misc/xkeyboard-config-2.4.1-r3
+ xorg? (
+ >=x11-libs/libxcvt-0.1.0
+ )
+ xnest? (
+ >=x11-libs/libXext-1.0.99.4
+ >=x11-libs/libX11-1.1.5
+ )
+ 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? (
+ >=media-libs/mesa-18[X(+),egl(+),gbm(+)]
+ >=media-libs/libepoxy-1.5.4[X,egl(+)]
+ )
+ udev? ( virtual/libudev:= )
+ unwind? ( sys-libs/libunwind:= )
+ selinux? (
+ sys-process/audit
+ sys-libs/libselinux:=
+ )
+ systemd? (
+ sys-apps/dbus
+ sys-apps/systemd
+ )
+ elogind? (
+ sys-apps/dbus
+ sys-auth/elogind[pam]
+ sys-auth/pambase[elogind]
+ )
+ !!x11-drivers/nvidia-drivers[-libglvnd(+)]
+"
+DEPEND="${CDEPEND}
+ >=x11-base/xorg-proto-2021.4.99.2
+ >=x11-libs/xtrans-1.3.5
+ media-fonts/font-util
+ test? ( >=x11-libs/libxcvt-0.1.0 )
+"
+RDEPEND="${CDEPEND}
+ !systemd? ( gui-libs/display-manager-init )
+ selinux? ( sec-policy/selinux-xserver )
+ xorg? ( >=x11-apps/xinit-1.3.3-r1 )
+"
+BDEPEND="
+ app-alternatives/lex
+"
+PDEPEND="
+ xorg? ( >=x11-base/xorg-drivers-$(ver_cut 1-2) )"
+
+REQUIRED_USE="!minimal? (
+ || ( ${IUSE_SERVERS} )
+ )
+ elogind? ( udev )
+ ?? ( elogind systemd )"
+
+UPSTREAMED_PATCHES=(
+)
+
+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
+ # pending upstream backport, bug #885763
+ "${FILESDIR}"/${PN}-21.1.10-c99.patch
+)
+
+src_configure() {
+ # bug #835653
+ use x86 && replace-flags -Os -O2
+
+ # 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
+ local emesonargs=(
+ --localstatedir "${EPREFIX}/var"
+ --sysconfdir "${EPREFIX}/etc/X11"
+ -Dbuildtype=$(usex debug debug plain)
+ -Db_ndebug=$(usex debug false true)
+ $(meson_use !minimal dri1)
+ $(meson_use !minimal dri2)
+ $(meson_use !minimal dri3)
+ $(meson_use !minimal glamor)
+ $(meson_use !minimal glx)
+ $(meson_use udev)
+ $(meson_use udev udev_kms)
+ $(meson_use unwind libunwind)
+ $(meson_use xcsecurity)
+ $(meson_use selinux xselinux)
+ $(meson_use xephyr)
+ $(meson_use xnest)
+ $(meson_use xorg)
+ $(meson_use xvfb)
+ -Ddocs=false
+ -Ddrm=true
+ -Ddtrace=false
+ -Dipv6=true
+ -Dhal=false
+ -Dlinux_acpi=false
+ -Dlinux_apm=false
+ -Dsecure-rpc=false
+ -Dsha1=libcrypto
+ -Dxkb_output_dir="${EPREFIX}/var/lib/xkb"
+ )
+
+ if [[ ${PV} == 9999 ]] ; then
+ # Gone in 21.1.x, but not in master.
+ emesonargs+=( -Dxwayland=false )
+ fi
+
+ if use systemd || use elogind; then
+ emesonargs+=(
+ -Dsystemd_logind=true
+ $(meson_use suid suid_wrapper)
+ )
+ else
+ emesonargs+=(
+ -Dsystemd_logind=false
+ -Dsuid_wrapper=false
+ )
+ fi
+
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ # The meson build system does not support install-setuid
+ if ! use systemd && ! use elogind; then
+ if use suid; then
+ chmod u+s "${ED}"/usr/bin/Xorg
+ fi
+ fi
+
+ if ! use xorg; then
+ rm -f "${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 || die
+ fi
+
+ # install the @x11-module-rebuild set for Portage
+ insinto /usr/share/portage/config/sets
+ newins "${FILESDIR}"/xorg-sets.conf xorg.conf
+}
+
+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
+}
diff --git a/x11-base/xorg-server/xorg-server-9999.ebuild b/x11-base/xorg-server/xorg-server-9999.ebuild
index 7b4a9180cd77..61e6018a1dfd 100644
--- a/x11-base/xorg-server/xorg-server-9999.ebuild
+++ b/x11-base/xorg-server/xorg-server-9999.ebuild
@@ -1,29 +1,28 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-XORG_DOC=doc
-XORG_EAUTORECONF="yes"
-inherit xorg-3 multilib flag-o-matic toolchain-funcs
+XORG_TARBALL_SUFFIX="xz"
+XORG_EAUTORECONF="no"
+inherit flag-o-matic xorg-3 meson
EGIT_REPO_URI="https://gitlab.freedesktop.org/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 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
fi
-IUSE_SERVERS="dmx kdrive wayland xephyr xnest xorg xvfb"
-IUSE="${IUSE_SERVERS} debug +elogind ipv6 libressl minimal selinux suid systemd test +udev unwind xcsecurity"
+IUSE_SERVERS="xephyr xnest xorg xvfb"
+IUSE="${IUSE_SERVERS} debug +elogind minimal selinux suid systemd test +udev unwind xcsecurity"
RESTRICT="!test? ( test )"
CDEPEND="
media-libs/libglvnd[X]
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
+ dev-libs/libbsd
+ dev-libs/openssl: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
@@ -36,25 +35,15 @@ CDEPEND="
>=x11-libs/pixman-0.27.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
+ xorg? (
+ >=x11-libs/libxcvt-0.1.0
)
- kdrive? (
- >=x11-libs/libXext-1.0.5
- x11-libs/libXv
+ xnest? (
+ >=x11-libs/libXext-1.0.99.4
+ >=x11-libs/libX11-1.1.5
)
xephyr? (
- x11-libs/libxcb[xkb]
+ x11-libs/libxcb
x11-libs/xcb-util
x11-libs/xcb-util-image
x11-libs/xcb-util-keysyms
@@ -62,19 +51,15 @@ CDEPEND="
x11-libs/xcb-util-wm
)
!minimal? (
- >=x11-libs/libX11-1.1.5
- >=x11-libs/libXext-1.0.5
- >=media-libs/mesa-18[X(+),egl,gbm]
+ >=media-libs/mesa-18[X(+),egl(+),gbm(+)]
>=media-libs/libepoxy-1.5.4[X,egl(+)]
)
udev? ( virtual/libudev:= )
- unwind? ( sys-libs/libunwind )
- wayland? (
- >=dev-libs/wayland-1.3.0
- >=media-libs/libepoxy-1.5.4[egl(+)]
- >=dev-libs/wayland-protocols-1.18
+ unwind? ( sys-libs/libunwind:= )
+ selinux? (
+ sys-process/audit
+ sys-libs/libselinux:=
)
- >=x11-apps/xinit-1.3.3-r1
systemd? (
sys-apps/dbus
sys-apps/systemd
@@ -87,25 +72,18 @@ CDEPEND="
!!x11-drivers/nvidia-drivers[-libglvnd(+)]
"
DEPEND="${CDEPEND}
- >=x11-base/xorg-proto-2018.4
+ >=x11-base/xorg-proto-2024.1
>=x11-libs/xtrans-1.3.5
- dmx? (
- doc? (
- || (
- www-client/links
- www-client/lynx
- www-client/w3m
- )
- )
- )
+ media-fonts/font-util
+ test? ( >=x11-libs/libxcvt-0.1.0 )
"
RDEPEND="${CDEPEND}
!systemd? ( gui-libs/display-manager-init )
selinux? ( sec-policy/selinux-xserver )
+ xorg? ( >=x11-apps/xinit-1.3.3-r1 )
"
BDEPEND="
- sys-devel/flex
- wayland? ( dev-util/wayland-scanner )
+ app-alternatives/lex
"
PDEPEND="
xorg? ( >=x11-base/xorg-drivers-$(ver_cut 1-2) )"
@@ -114,12 +92,7 @@ REQUIRED_USE="!minimal? (
|| ( ${IUSE_SERVERS} )
)
elogind? ( udev )
- ?? ( elogind systemd )
- minimal? ( !wayland )
- xephyr? ( kdrive )"
-
-UPSTREAMED_PATCHES=(
-)
+ ?? ( elogind systemd )"
PATCHES=(
"${UPSTREAMED_PATCHES[@]}"
@@ -128,85 +101,85 @@ PATCHES=(
"${FILESDIR}"/${PN}-1.18-support-multiple-Files-sections.patch
)
-pkg_setup() {
- if use wayland && use minimal; then
- ewarn "glamor is necessary for acceleration under Xwayland."
- ewarn "Performance may be unacceptable without it."
- ewarn "Build with USE=-minimal to enable glamor."
- fi
+src_configure() {
+ # bug #835653
+ use x86 && replace-flags -Os -O2
+
+ use debug && EMESON_BUILDTYPE=debug
# 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 kdrive)
- $(use_enable test unit-tests)
- $(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 glamor)
- $(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)
- --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-sha1=libcrypto
- CPP="$(tc-getPROG CPP cpp)"
+ local emesonargs=(
+ --localstatedir "${EPREFIX}/var"
+ --sysconfdir "${EPREFIX}/etc/X11"
+ -Db_ndebug=$(usex debug false true)
+ $(meson_use !minimal dri1)
+ $(meson_use !minimal dri2)
+ $(meson_use !minimal dri3)
+ $(meson_use !minimal glamor)
+ $(meson_use !minimal glx)
+ $(meson_use udev)
+ $(meson_use udev udev_kms)
+ $(meson_use unwind libunwind)
+ $(meson_use xcsecurity)
+ $(meson_use selinux xselinux)
+ $(meson_use xephyr)
+ $(meson_use xnest)
+ $(meson_use xorg)
+ $(meson_use xvfb)
+ -Ddocs=false
+ -Ddrm=true
+ -Ddtrace=false
+ -Dipv6=true
+ -Dhal=false
+ -Dlinux_acpi=false
+ -Dlinux_apm=false
+ -Dsecure-rpc=false
+ -Dsha1=libcrypto
+ -Dxkb_output_dir="${EPREFIX}/var/lib/xkb"
)
+ if [[ ${PV} == 9999 ]] ; then
+ # Gone in 21.1.x, but not in master.
+ emesonargs+=( -Dxwayland=false )
+ fi
+
if use systemd || use elogind; then
- XORG_CONFIGURE_OPTIONS+=(
- "--enable-systemd-logind"
- "--disable-install-setuid"
- "$(use_enable suid suid-wrapper)"
+ emesonargs+=(
+ -Dsystemd_logind=true
+ $(meson_use suid suid_wrapper)
)
else
- XORG_CONFIGURE_OPTIONS+=(
- "--disable-systemd-logind"
- "--disable-suid-wrapper"
- "$(use_enable suid install-setuid)"
+ emesonargs+=(
+ -Dsystemd_logind=false
+ -Dsuid_wrapper=false
)
fi
+
+ meson_src_configure
}
src_install() {
- xorg-3_src_install
+ meson_src_install
- server_based_install
+ # The meson build system does not support install-setuid
+ if ! use systemd && ! use elogind; then
+ if use suid; then
+ chmod u+s "${ED}"/usr/bin/Xorg
+ fi
+ fi
- if ! use minimal && use xorg; then
- # Install xorg.conf.example into docs
- dodoc "${S}"/hw/xfree86/xorg.conf.example
+ if ! use xorg; then
+ rm -f "${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 || die
fi
# 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_postrm() {
@@ -215,12 +188,3 @@ pkg_postrm() {
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
-}