diff --git a/x11-base/xorg-server/Manifest b/x11-base/xorg-server/Manifest index a7a3573..8cde13b 100644 --- a/x11-base/xorg-server/Manifest +++ b/x11-base/xorg-server/Manifest @@ -17,7 +17,9 @@ AUX xorg-server-1.18-support-multiple-Files-sections.patch 1902 BLAKE2B 69ba852b AUX xorg-server-1.18-sysmacros.patch 1698 BLAKE2B e689cc5ae5b07a12036e815d812014070a13593d2fa15ec448cdf919369b30c449f79fee4a6a864abce7503ef118a7887569391f7385ba1c1b30aeae81ca5f57 SHA512 e92300d9e965ebed7dc6f90d6d58b616e589f3df57efc954280a5eba65fa098bb6069f9b06c81cda169d46051f51a707e5ca659f820fc64948431bbc80e3e5a0 AUX xorg-server-1.19-randr-Account-for-panning-and-transforms-when-constr.patch 2884 BLAKE2B f5d78c9813425c18cd604467c9fe86e609a6db44ad5900a0b8697dac7d995133d162a3a883cb411e397390df517a91297a46d96d96a7741aacc1c0dc632eede5 SHA512 91f2ebe8ed58b377666ed6c71927fe44c8ec01132572c431e31e8d6457d859aa59d15443db95b031c0c1dca406144d1437cf4d3dc44e5a709bc991d5184c604c AUX xorg-server-1.19.4-sysmacros.patch 986 BLAKE2B 04c111591a6a558913217b24aa2357478e7d931b6cee5185dda31ebd38d68463b4a158a18d8a60ffa7ccc5c65e246f261ebbf7c0ebc81fd3ae31e7579b7adab4 SHA512 858676058779363741901ffbf79666f723f917b49f8627ddd2f31768873adfb416a70bc298e2356861cb5abca8be54a6c64f8fa4fd11a91cce072b93857ad168 +AUX xorg-server-1.19.5-glx-do-not-pick-sRGB-config-for-32-bit-RGBA-visual.patch 1555 BLAKE2B ef0a52b2341939f254bdce6b705f0591d0888c8043e5c0da1c4c4e97cdac632c56b27392ac2d7ac63653c7dfe1d381edd619a5e0c1c78f3bf255348c99c30f24 SHA512 66cd27608019557029f15aa81cf1a067e124ec0f854af9e732fef8b12bade4f1797481c86de2437b63ec5364fbeb1e3e05a39aa08df71ad08df79cd7d244e280 AUX xorg-server-1.19.99.901-randr-fix-crash.patch 1774 BLAKE2B 6c8aba90b64989dc215b02514eb53412f8a7353a43373094bf0d0a8564338a4c409f5eabe4a2244fbaba46e6ed0b70d5253027319c92385c83b3a90f8e1911f6 SHA512 8513e59ea8d9782c6f088f202436b1f773a3e782d00a09c879ef49a050bc32aee0eaa8f545ecc4441e57ab82778b07d4e78b480356391e41c528d5b6b3fdda1e AUX xorg-sets.conf 199 BLAKE2B e9414694f372d3f2a65bee903522094a60e261ddcd0c49a1d85a2ee804f3edbb5c605ed2d0b44839a91e98957f05ea88da87530f5f36b2db249e09ee56ee2975 SHA512 910fe28f20909243044f079ff35136942b8790f4f28ac42ffc64a76b7f03cd22057087fa5e4e01192080b52c0d89000ea96d5a807c6f11f680d3f43312c5be41 DIST xorg-server-1.19.5.tar.bz2 5965044 BLAKE2B 23375793ea4459a962f412440e307081ce2acd3c646e5db4d1bfac20e267bcbb1752ba8f6de66df06d25eaf92d1b55082a80eced0d44c257a757d5926ca6a7f3 SHA512 928dea5850b98cd815004cfa133eca23cfa9521920c934c68a92787f2cae13cca1534eee772a4fb74b8ae8cb92662b5d68b95b834c8aa8ec57cd57cb4e5dd45c +EBUILD xorg-server-1.19.5-r2.ebuild 5862 BLAKE2B f3ce919c096d17fe35f06a95c57dc683dcc64410a7b1ed6016f514635bfe648bfedf837d71191e64e768321d927113e2762afe3291a119504822b253bc6ae44d SHA512 0244859e25bc79e697fffac31e5b40ca4dba40af79115b7de689121f05dbd0967edfdeeb66f18fa949ecced0a4cc64e9d64c11290904010bc1e8175dafbec60d EBUILD xorg-server-1.19.5.ebuild 6566 BLAKE2B 3a4ff315fde10ada290ee7f72a80544a56ba83b611f5947e99d0b248c745db632a561b83bfd1daa707977377d5c068a6b94d53f26fc2843f0ab4f01225c7cebe SHA512 a4b919e96b7e4919ee90553a2c157173d4c2bffed8e13846ad3b53be386625dd2728638585b3269bbb55c2c25e6e8d582edd1ef715983658dfb8a4265e761989 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 new file mode 100644 index 0000000..d7e5e51 --- /dev/null +++ b/x11-base/xorg-server/files/xorg-server-1.19.5-glx-do-not-pick-sRGB-config-for-32-bit-RGBA-visual.patch @@ -0,0 +1,39 @@ +From c2954b16c8730c7ed8441fd8dba25900f3aed265 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tapani=20P=C3=A4lli?= +Date: Tue, 28 Nov 2017 09:23:29 +0200 +Subject: [PATCH] glx: do not pick sRGB config for 32-bit RGBA visual +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This fixes blending issues seen with kwin and gnome-shell when +32bit visual has sRGB capability set. + +Reviewed-by: Adam Jackson +Signed-off-by: Tapani Pälli +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103699 +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103646 +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103655 +--- + glx/glxscreens.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/glx/glxscreens.c b/glx/glxscreens.c +index 73444152a..596d972e0 100644 +--- a/glx/glxscreens.c ++++ b/glx/glxscreens.c +@@ -271,6 +271,11 @@ pickFBConfig(__GLXscreen * pGlxScreen, VisualPtr visual) + /* If it's the 32-bit RGBA visual, demand a 32-bit fbconfig. */ + if (visual->nplanes == 32 && config->rgbBits != 32) + continue; ++ /* If it's the 32-bit RGBA visual, do not pick sRGB capable config. ++ * This can cause issues with compositors that are not sRGB aware. ++ */ ++ if (visual->nplanes == 32 && config->sRGBCapable == GL_TRUE) ++ continue; + /* Can't use the same FBconfig for multiple X visuals. I think. */ + if (config->visualID != 0) + continue; +-- +2.17.0 + 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 new file mode 100644 index 0000000..ceb69ef --- /dev/null +++ b/x11-base/xorg-server/xorg-server-1.19.5-r2.ebuild @@ -0,0 +1,225 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +XORG_DOC=doc +inherit xorg-2 multilib versionator flag-o-matic +EGIT_REPO_URI="https://anongit.freedesktop.org/git/xorg/xserver.git" + +DESCRIPTION="X.Org X servers" +SLOT="0/${PV}" +KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux" + +IUSE_SERVERS="dmx kdrive wayland xephyr xnest xorg xvfb" +IUSE="${IUSE_SERVERS} debug +glamor ipv6 libressl minimal selinux +suid systemd tslib +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.46 + >=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-10.3.4-r1[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-10.3.4-r1 + ) + tslib? ( >=x11-libs/tslib-1.0 ) + udev? ( >=virtual/udev-150 ) + 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 + 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-$(get_version_component_range 1-2) )" + +REQUIRED_USE="!minimal? ( + || ( ${IUSE_SERVERS} ) + ) + xephyr? ( kdrive )" + +#UPSTREAMED_PATCHES=( +# "${WORKDIR}/patches/" +#) + +PATCHES=( + "${UPSTREAMED_PATCHES[@]}" + "${FILESDIR}"/${PN}-1.12-unloadsubmodule.patch + "${FILESDIR}"/${PN}-1.19-randr-Account-for-panning-and-transforms-when-constr.patch + # needed for new eselect-opengl, bug #541232 + "${FILESDIR}"/${PN}-1.18-support-multiple-Files-sections.patch + "${FILESDIR}"/${PN}-1.19.4-sysmacros.patch #633530 + "${FILESDIR}"/${PN}-1.19.5-glx-do-not-pick-sRGB-config-for-32-bit-RGBA-visual.patch #653688 +) + +pkg_pretend() { + # older gcc is not supported + [[ "${MERGE_TYPE}" != "binary" && $(gcc-major-version) -lt 4 ]] && \ + die "Sorry, but gcc earlier than 4.0 will not work for xorg-server." +} + +pkg_setup() { + if use wayland && ! use glamor; then + ewarn "glamor is necessary for acceleration under Xwayland." + ewarn "Performance may be unacceptable without it." + fi +} + +src_configure() { + # 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 kdrive kdrive-kbd) + $(use_enable kdrive kdrive-mouse) + $(use_enable kdrive kdrive-evdev) + $(use_enable suid install-setuid) + $(use_enable tslib) + $(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 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) + --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 + ) + + xorg-2_src_configure +} + +src_install() { + xorg-2_src_install + + server_based_install + + if ! use minimal && use xorg; then + # Install xorg.conf.example into docs + dodoc "${AUTOTOOLS_BUILD_DIR}"/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 +} + +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 +}