diff options
author | Piotr Karbowski <slashbeast@gentoo.org> | 2020-06-24 20:19:09 +0200 |
---|---|---|
committer | Piotr Karbowski <slashbeast@gentoo.org> | 2020-06-24 20:19:09 +0200 |
commit | a8736ba0fd0f3085bdff6ed0272cfd6bc11abac8 (patch) | |
tree | 88cdcdf39a5424d52278cf42c586df2b10b111f2 /x11-base | |
parent | sys-kernel/gentoo-sources: Linux patch 5.7.6 (diff) | |
download | gentoo-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.ebuild | 237 |
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 +} |