summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Karbowski <slashbeast@gentoo.org>2020-06-24 20:19:09 +0200
committerPiotr Karbowski <slashbeast@gentoo.org>2020-06-24 20:19:09 +0200
commita8736ba0fd0f3085bdff6ed0272cfd6bc11abac8 (patch)
tree88cdcdf39a5424d52278cf42c586df2b10b111f2 /x11-base
parentsys-kernel/gentoo-sources: Linux patch 5.7.6 (diff)
downloadgentoo-a8736ba0fd0f3085bdff6ed0272cfd6bc11abac8.tar.gz
gentoo-a8736ba0fd0f3085bdff6ed0272cfd6bc11abac8.tar.bz2
gentoo-a8736ba0fd0f3085bdff6ed0272cfd6bc11abac8.zip
x11-base/xorg-server: 1.20.8-r1 added.
This bump changes the way suid flag works if enabled together with elogind. Now the suid wrapper will be installed instead of suid of binary. The suid USE flag is no longer enabled by default, and instead +elogind has been enabled. systemd profile use.mask elogind so there will be no clash. Revbump since we change the way xorg-server is build under some conditions. Designed to enter ~arch now, on 15th the stable, as per the 2020-06-24-xorg-server-dropping-default-suid news item. Signed-off-by: Piotr Karbowski <slashbeast@gentoo.org>
Diffstat (limited to 'x11-base')
-rw-r--r--x11-base/xorg-server/xorg-server-1.20.8-r1.ebuild237
1 files changed, 237 insertions, 0 deletions
diff --git a/x11-base/xorg-server/xorg-server-1.20.8-r1.ebuild b/x11-base/xorg-server/xorg-server-1.20.8-r1.ebuild
new file mode 100644
index 000000000000..a7268b807957
--- /dev/null
+++ b/x11-base/xorg-server/xorg-server-1.20.8-r1.ebuild
@@ -0,0 +1,237 @@
+# Copyright 1999-2020 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
+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 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+fi
+
+IUSE_SERVERS="dmx kdrive wayland xephyr xnest xorg xvfb"
+IUSE="${IUSE_SERVERS} debug +elogind ipv6 libressl +libglvnd minimal selinux suid systemd +udev unwind xcsecurity"
+
+CDEPEND="libglvnd? (
+ media-libs/libglvnd[X]
+ !app-eselect/eselect-opengl
+ !!x11-drivers/nvidia-drivers[-libglvnd(-)]
+ )
+ !libglvnd? ( >=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
+ )
+ 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
+ sys-auth/pambase[elogind]
+ )
+ "
+
+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 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
+ )
+
+ 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_postinst() {
+ if ! use minimal; then
+ # sets up libGL and DRI2 symlinks if needed (ie, on a fresh install)
+ if ! use libglvnd; then
+ eselect opengl set xorg-x11 --use-old
+ fi
+ fi
+}
+
+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
+}