summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRepository mirror & CI <repomirrorci@gentoo.org>2019-02-28 06:05:50 +0000
committerRepository mirror & CI <repomirrorci@gentoo.org>2019-02-28 06:05:50 +0000
commitfd2b13e556201e9a4287883bbe8533cdd4fb28f2 (patch)
tree4cd3f77c35a91106f3145376cd0aab85420dfa0c
parent2019-02-28 03:24:09 UTC (diff)
parentx11-libs/libfontenc: Version bump to 1.1.4 (diff)
downloadgentoo-fd2b13e556201e9a4287883bbe8533cdd4fb28f2.tar.gz
gentoo-fd2b13e556201e9a4287883bbe8533cdd4fb28f2.tar.bz2
gentoo-fd2b13e556201e9a4287883bbe8533cdd4fb28f2.zip
Merge updates from master
-rw-r--r--eclass/xorg-2.eclass19
-rw-r--r--eclass/xorg-3.eclass372
-rw-r--r--x11-apps/xclock/Manifest1
-rw-r--r--x11-apps/xclock/xclock-1.0.8.ebuild19
-rw-r--r--x11-apps/xev/Manifest1
-rw-r--r--x11-apps/xev/xev-1.2.3.ebuild16
-rw-r--r--x11-apps/xhost/Manifest1
-rw-r--r--x11-apps/xhost/xhost-1.0.8.ebuild20
-rw-r--r--x11-apps/xlsatoms/Manifest1
-rw-r--r--x11-apps/xlsatoms/xlsatoms-1.1.3.ebuild13
-rw-r--r--x11-apps/xmodmap/Manifest1
-rw-r--r--x11-apps/xmodmap/xmodmap-1.0.10.ebuild14
-rw-r--r--x11-apps/xrdb/Manifest1
-rw-r--r--x11-apps/xrdb/xrdb-1.2.0.ebuild14
-rw-r--r--x11-apps/xstdcmap/Manifest1
-rw-r--r--x11-apps/xstdcmap/xstdcmap-1.0.4.ebuild13
-rw-r--r--x11-apps/xvinfo/Manifest1
-rw-r--r--x11-apps/xvinfo/xvinfo-1.1.4.ebuild15
-rw-r--r--x11-base/xorg-server/Manifest1
-rw-r--r--x11-base/xorg-server/files/xorg-server-1.20.4-shm-Pick-the-shm-dir-at-run-time-not-build-time.patch174
-rw-r--r--x11-base/xorg-server/files/xorg-server-1.20.4-shm-Use-memfd_create-when-possible.patch89
-rw-r--r--x11-base/xorg-server/files/xorg-server-1.20.4-shm-reindent-shm_tmpfile-to-follow-our-standards.patch72
-rw-r--r--x11-base/xorg-server/xorg-server-1.20.4.ebuild217
-rw-r--r--x11-base/xorg-server/xorg-server-9999.ebuild27
-rw-r--r--x11-libs/libfontenc/Manifest1
-rw-r--r--x11-libs/libfontenc/libfontenc-1.1.4.ebuild19
26 files changed, 1089 insertions, 34 deletions
diff --git a/eclass/xorg-2.eclass b/eclass/xorg-2.eclass
index c35e659705fe..416a3ae30ec0 100644
--- a/eclass/xorg-2.eclass
+++ b/eclass/xorg-2.eclass
@@ -80,7 +80,8 @@ HOMEPAGE="https://www.x.org/wiki/ https://cgit.freedesktop.org/"
# The subdirectory to download source from. Possible settings are app,
# doc, data, util, driver, font, lib, proto, xserver. Set above the
# inherit to override the default autoconfigured module.
-if [[ -z ${XORG_MODULE} ]]; then
+: ${XORG_MODULE:="auto"}
+if [[ ${XORG_MODULE} == auto ]]; then
case ${CATEGORY} in
app-doc) XORG_MODULE=doc/ ;;
media-fonts) XORG_MODULE=font/ ;;
@@ -236,7 +237,7 @@ fi
DOC_DEPEND="
doc? (
- app-text/asciidoc
+ || ( app-text/asciidoc dev-ruby/asciidoctor )
app-text/xmlto
app-doc/doxygen
app-text/docbook-xml-dtd:4.1.2
@@ -257,19 +258,7 @@ case ${XORG_DOC} in
esac
unset DOC_DEPEND
-# @ECLASS-VARIABLE: XORG_MODULE_REBUILD
-# @DESCRIPTION:
-# Describes whether a package contains modules that need to be rebuilt on
-# xorg-server upgrade. This has an effect only since EAPI=5.
-# Possible values are "yes" or "no". Default value is "yes" for packages which
-# are recognized as DRIVER by this eclass and "no" for all other packages.
-if [[ "${DRIVER}" == yes ]]; then
- : ${XORG_MODULE_REBUILD:="yes"}
-else
- : ${XORG_MODULE_REBUILD:="no"}
-fi
-
-if [[ ${XORG_MODULE_REBUILD} == yes ]]; then
+if [[ ${DRIVER} == yes ]]; then
case ${EAPI} in
4)
;;
diff --git a/eclass/xorg-3.eclass b/eclass/xorg-3.eclass
new file mode 100644
index 000000000000..4577767a77b1
--- /dev/null
+++ b/eclass/xorg-3.eclass
@@ -0,0 +1,372 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: xorg-3.eclass
+# @MAINTAINER:
+# x11@gentoo.org
+# @AUTHOR:
+# Author: Tomáš Chvátal <scarabeus@gentoo.org>
+# Author: Donnie Berkholz <dberkholz@gentoo.org>
+# Author: Matt Turner <mattst88@gentoo.org>
+# @SUPPORTED_EAPIS: 7
+# @BLURB: Reduces code duplication in the modularized X11 ebuilds.
+# @DESCRIPTION:
+# This eclass makes trivial X ebuilds possible for apps, drivers,
+# and more. Many things that would normally be done in various functions
+# can be accessed by setting variables instead, such as patching,
+# running eautoreconf, passing options to configure and installing docs.
+#
+# All you need to do in a basic ebuild is inherit this eclass and set
+# DESCRIPTION, KEYWORDS and RDEPEND/DEPEND. If your package is hosted
+# with the other X packages, you don't need to set SRC_URI. Pretty much
+# everything else should be automatic.
+
+GIT_ECLASS=""
+if [[ ${PV} == *9999* ]]; then
+ GIT_ECLASS="git-r3"
+ XORG_EAUTORECONF="yes"
+fi
+
+# @ECLASS-VARIABLE: XORG_MULTILIB
+# @DESCRIPTION:
+# If set to 'yes', the multilib support for package will be enabled. Set
+# before inheriting this eclass.
+: ${XORG_MULTILIB:="no"}
+
+# we need to inherit autotools first to get the deps
+inherit autotools eutils libtool multilib toolchain-funcs \
+ flag-o-matic ${GIT_ECLASS}
+
+if [[ ${XORG_MULTILIB} == yes ]]; then
+ inherit multilib-minimal
+fi
+
+EXPORTED_FUNCTIONS="src_prepare src_configure src_unpack src_compile src_install"
+case "${EAPI:-0}" in
+ 7) ;;
+ *) die "EAPI=${EAPI} is not supported" ;;
+esac
+
+# exports must be ALWAYS after inherit
+EXPORT_FUNCTIONS ${EXPORTED_FUNCTIONS}
+
+IUSE=""
+HOMEPAGE="https://www.x.org/wiki/ https://cgit.freedesktop.org/"
+
+# @ECLASS-VARIABLE: XORG_EAUTORECONF
+# @DESCRIPTION:
+# If set to 'yes' and configure.ac exists, eautoreconf will run. Set
+# before inheriting this eclass.
+: ${XORG_EAUTORECONF:="no"}
+
+# @ECLASS-VARIABLE: XORG_BASE_INDIVIDUAL_URI
+# @DESCRIPTION:
+# Set up SRC_URI for individual modular releases. If set to an empty
+# string, no SRC_URI will be provided by the eclass.
+: ${XORG_BASE_INDIVIDUAL_URI="https://www.x.org/releases/individual"}
+
+# @ECLASS-VARIABLE: XORG_MODULE
+# @DESCRIPTION:
+# The subdirectory to download source from. Possible settings are app,
+# doc, data, util, driver, lib, proto, xserver. Set above the
+# inherit to override the default autoconfigured module.
+: ${XORG_MODULE:="auto"}
+if [[ ${XORG_MODULE} == auto ]]; then
+ case ${CATEGORY} in
+ app-doc) XORG_MODULE=doc/ ;;
+ x11-apps|x11-wm) XORG_MODULE=app/ ;;
+ x11-misc|x11-themes) XORG_MODULE=util/ ;;
+ x11-base) XORG_MODULE=xserver/ ;;
+ x11-drivers) XORG_MODULE=driver/ ;;
+ x11-libs) XORG_MODULE=lib/ ;;
+ *) XORG_MODULE= ;;
+ esac
+fi
+
+# @ECLASS-VARIABLE: XORG_PACKAGE_NAME
+# @DESCRIPTION:
+# For git checkout the git repository might differ from package name.
+# This variable can be used for proper directory specification
+: ${XORG_PACKAGE_NAME:=${PN}}
+
+if [[ -n ${GIT_ECLASS} ]]; then
+ : ${EGIT_REPO_URI:="https://anongit.freedesktop.org/git/xorg/${XORG_MODULE}${XORG_PACKAGE_NAME}.git"}
+elif [[ -n ${XORG_BASE_INDIVIDUAL_URI} ]]; then
+ SRC_URI="${XORG_BASE_INDIVIDUAL_URI}/${XORG_MODULE}${P}.tar.bz2"
+fi
+
+: ${SLOT:=0}
+
+# Set the license for the package. This can be overridden by setting
+# LICENSE after the inherit. Nearly all FreeDesktop-hosted X packages
+# are under the MIT license. (This is what Red Hat does in their rpms)
+: ${LICENSE:=MIT}
+
+# Set up autotools shared dependencies
+# Remember that all versions here MUST be stable
+XORG_EAUTORECONF_ARCHES="ppc-aix x86-winnt"
+EAUTORECONF_DEPEND+="
+ >=sys-devel/libtool-2.2.6a
+ sys-devel/m4"
+if [[ ${PN} != util-macros ]] ; then
+ EAUTORECONF_DEPEND+=" >=x11-misc/util-macros-1.18 >=media-fonts/font-util-1.2.0"
+fi
+WANT_AUTOCONF="latest"
+WANT_AUTOMAKE="latest"
+for arch in ${XORG_EAUTORECONF_ARCHES}; do
+ EAUTORECONF_DEPENDS+=" ${arch}? ( ${EAUTORECONF_DEPEND} )"
+done
+DEPEND+=" ${EAUTORECONF_DEPENDS}"
+[[ ${XORG_EAUTORECONF} != no ]] && BDEPEND+=" ${EAUTORECONF_DEPEND}"
+unset EAUTORECONF_DEPENDS
+unset EAUTORECONF_DEPEND
+
+# @ECLASS-VARIABLE: XORG_STATIC
+# @DESCRIPTION:
+# Enables static-libs useflag. Set to no, if your package gets:
+#
+# QA: configure: WARNING: unrecognized options: --disable-static
+: ${XORG_STATIC:="yes"}
+
+# Add static-libs useflag where useful.
+if [[ ${XORG_STATIC} == yes \
+ && ${CATEGORY} != app-doc \
+ && ${CATEGORY} != x11-apps \
+ && ${CATEGORY} != x11-drivers \
+ && ${PN} != util-macros \
+ && ${PN} != xbitmaps \
+ && ${PN} != xorg-cf-files \
+ && ${PN/xcursor} = ${PN} ]]; then
+ IUSE+=" static-libs"
+fi
+
+DEPEND+=" virtual/pkgconfig"
+
+# @ECLASS-VARIABLE: XORG_DRI
+# @DESCRIPTION:
+# Possible values are "always" or the value of the useflag DRI capabilities
+# are required for. Default value is "no"
+#
+# Eg. XORG_DRI="opengl" will pull all dri dependent deps for opengl useflag
+: ${XORG_DRI:="no"}
+
+DRI_COMMON_DEPEND="
+ x11-base/xorg-server[-minimal]
+ x11-libs/libdrm
+"
+case ${XORG_DRI} in
+ no)
+ ;;
+ always)
+ COMMON_DEPEND+=" ${DRI_COMMON_DEPEND}"
+ ;;
+ *)
+ COMMON_DEPEND+=" ${XORG_DRI}? ( ${DRI_COMMON_DEPEND} )"
+ IUSE+=" ${XORG_DRI}"
+ ;;
+esac
+unset DRI_COMMON_DEPEND
+
+if [[ ${PN} == xf86-video-* || ${PN} == xf86-input-* ]]; then
+ DEPEND+=" x11-base/xorg-proto"
+ RDEPEND+=" x11-base/xorg-server:="
+ COMMON_DEPEND+=" >=x11-base/xorg-server-1.20[xorg]"
+ [[ ${PN} == xf86-video-* ]] && COMMON_DEPEND+=" >=x11-libs/libpciaccess-0.14"
+fi
+
+
+# @ECLASS-VARIABLE: XORG_DOC
+# @DESCRIPTION:
+# Possible values are "always" or the value of the useflag doc packages
+# are required for. Default value is "no"
+#
+# Eg. XORG_DOC="manual" will pull all doc dependent deps for manual useflag
+: ${XORG_DOC:="no"}
+
+DOC_DEPEND="
+ doc? (
+ || ( app-text/asciidoc dev-ruby/asciidoctor )
+ app-text/xmlto
+ app-doc/doxygen
+ app-text/docbook-xml-dtd:4.1.2
+ app-text/docbook-xml-dtd:4.2
+ app-text/docbook-xml-dtd:4.3
+ )
+"
+case ${XORG_DOC} in
+ no)
+ ;;
+ always)
+ BDEPEND+=" ${DOC_DEPEND}"
+ ;;
+ *)
+ BDEPEND+=" ${XORG_DOC}? ( ${DOC_DEPEND} )"
+ IUSE+=" ${XORG_DOC}"
+ ;;
+esac
+unset DOC_DEPEND
+
+DEPEND+=" ${COMMON_DEPEND}"
+RDEPEND+=" ${COMMON_DEPEND}"
+unset COMMON_DEPEND
+
+debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: DEPEND=${DEPEND}"
+debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: RDEPEND=${RDEPEND}"
+debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: PDEPEND=${PDEPEND}"
+debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: BDEPEND=${BDEPEND}"
+
+# @FUNCTION: xorg-3_src_unpack
+# @DESCRIPTION:
+# Simply unpack source code.
+xorg-3_src_unpack() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ -n ${GIT_ECLASS} ]]; then
+ git-r3_src_unpack
+ else
+ unpack ${A}
+ fi
+}
+
+# @FUNCTION: xorg-3_reconf_source
+# @DESCRIPTION:
+# Run eautoreconf if necessary, and run elibtoolize.
+xorg-3_reconf_source() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ case ${CHOST} in
+ *-aix* | *-winnt*)
+ # some hosts need full eautoreconf
+ [[ -e "./configure.ac" || -e "./configure.in" ]] \
+ && XORG_EAUTORECONF=yes
+ ;;
+ *)
+ # elibtoolize required for BSD
+ [[ ${XORG_EAUTORECONF} != no && ( -e "./configure.ac" || -e "./configure.in" ) ]] \
+ && XORG_EAUTORECONF=yes
+ ;;
+ esac
+
+ [[ ${XORG_EAUTORECONF} != no ]] && eautoreconf
+ elibtoolize --patch-only
+}
+
+# @FUNCTION: xorg-3_src_prepare
+# @DESCRIPTION:
+# Prepare a package after unpacking, performing all X-related tasks.
+xorg-3_src_prepare() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ default
+ xorg-3_reconf_source
+}
+
+# @FUNCTION: xorg-3_flags_setup
+# @DESCRIPTION:
+# Set up CFLAGS for a debug build
+xorg-3_flags_setup() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ # Win32 require special define
+ [[ ${CHOST} == *-winnt* ]] && append-cppflags -DWIN32 -D__STDC__
+ # hardened ldflags
+ [[ ${PN} == xorg-server || ${PN} == xf86-video-* || ${PN} == xf86-input-* ]] \
+ && append-ldflags -Wl,-z,lazy
+
+ # Quite few libraries fail on runtime without these:
+ if has static-libs ${IUSE//+}; then
+ filter-flags -Wl,-Bdirect
+ filter-ldflags -Bdirect
+ filter-ldflags -Wl,-Bdirect
+ fi
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf "${econfargs[@]}"
+}
+
+# @FUNCTION: xorg-3_src_configure
+# @DESCRIPTION:
+# Perform any necessary pre-configuration steps, then run configure
+xorg-3_src_configure() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ xorg-3_flags_setup
+
+ # @VARIABLE: XORG_CONFIGURE_OPTIONS
+ # @DESCRIPTION:
+ # Array of an additional options to pass to configure.
+ # @DEFAULT_UNSET
+ local xorgconfadd=("${XORG_CONFIGURE_OPTIONS[@]}")
+
+ # Check if package supports disabling of dep tracking
+ # Fixes warnings like:
+ # WARNING: unrecognized options: --disable-dependency-tracking
+ if grep -q -s "disable-depencency-tracking" ${ECONF_SOURCE:-.}/configure; then
+ local dep_track="--disable-dependency-tracking"
+ fi
+
+ # Check if package supports disabling of selective -Werror=...
+ if grep -q -s "disable-selective-werror" ${ECONF_SOURCE:-.}/configure; then
+ local selective_werror="--disable-selective-werror"
+ fi
+
+ local econfargs=(
+ ${dep_track}
+ ${selective_werror}
+ "${xorgconfadd[@]}"
+ )
+
+ # Handle static-libs found in IUSE, disable them by default
+ if in_iuse static-libs; then
+ econfargs+=(
+ --enable-shared
+ $(use_enable static-libs static)
+ )
+ fi
+
+ if [[ ${XORG_MULTILIB} == yes ]]; then
+ multilib-minimal_src_configure "$@"
+ else
+ econf "${econfargs[@]}" "$@"
+ fi
+}
+
+multilib_src_compile() {
+ emake "$@" || die 'emake failed'
+}
+
+# @FUNCTION: xorg-3_src_compile
+# @DESCRIPTION:
+# Compile a package, performing all X-related tasks.
+xorg-3_src_compile() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${XORG_MULTILIB} == yes ]]; then
+ multilib-minimal_src_compile "$@"
+ else
+ emake "$@" || die 'emake failed'
+ fi
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" "${install_args[@]}" "$@" install || die "emake install failed"
+}
+
+# @FUNCTION: xorg-3_src_install
+# @DESCRIPTION:
+# Install a built package to ${D}, performing any necessary steps.
+xorg-3_src_install() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ local install_args=( docdir="${EPREFIX}/usr/share/doc/${PF}" )
+
+ if [[ ${XORG_MULTILIB} == yes ]]; then
+ multilib-minimal_src_install "$@"
+ else
+ emake DESTDIR="${D}" "${install_args[@]}" "$@" install || die "emake install failed"
+ fi
+
+ # Don't install libtool archives (even for modules)
+ find "${D}" -type f -name '*.la' -delete || die
+}
diff --git a/x11-apps/xclock/Manifest b/x11-apps/xclock/Manifest
index 276396227a90..1b562004d67e 100644
--- a/x11-apps/xclock/Manifest
+++ b/x11-apps/xclock/Manifest
@@ -1 +1,2 @@
DIST xclock-1.0.7.tar.bz2 164035 BLAKE2B d52db001d577b8eb9208ada8e77784ab2a5916551216dae7e71a51381105915778c90124f35dcc83553e332cb6c6435c00041ae8dd0d2033fd70b69435ee677f SHA512 56689bdae6c83e9e1da5c4c48cf1136ca8b4f45b177f27bc1deeb24758e2c180035b639e8df72e3ebf32dc301bceb59118309fcce2ffab54e5abe9bfa645e607
+DIST xclock-1.0.8.tar.bz2 172030 BLAKE2B aced446898a2cc181a0e57260841f194f67dc0fad42fdb6371e2bdd8d11dfb0418d9cbf4e3e51a4df21f2646c74ca5ee2887bfbbc62571cbc84b551f3793396f SHA512 1272221ace3657505bae1b22f181e9ecbf1710900c89a860c8ceae47ae31ca5e75b6557c37dc0a881a0a24c9597b9a07f46200926feb1013f1e2e995111a7646
diff --git a/x11-apps/xclock/xclock-1.0.8.ebuild b/x11-apps/xclock/xclock-1.0.8.ebuild
new file mode 100644
index 000000000000..85c863c07f9d
--- /dev/null
+++ b/x11-apps/xclock/xclock-1.0.8.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit xorg-3
+
+DESCRIPTION="analog / digital clock for X"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris"
+IUSE=""
+
+RDEPEND="x11-libs/libX11
+ x11-libs/libXmu
+ x11-libs/libXrender
+ x11-libs/libXft
+ x11-libs/libxkbfile
+ x11-libs/libXaw"
+DEPEND="${RDEPEND}"
diff --git a/x11-apps/xev/Manifest b/x11-apps/xev/Manifest
index d98acf713abd..b6ff18f711bc 100644
--- a/x11-apps/xev/Manifest
+++ b/x11-apps/xev/Manifest
@@ -1,2 +1,3 @@
DIST xev-1.2.1.tar.bz2 125884 BLAKE2B faa41acc01b47c4b031ac0aa69154839cf43c180d90287cb929a922b2c5b8d174834f559c80cfeecc3839e4064d8e37d29c340756ce37e114f4420bf551b9e80 SHA512 6fbe8e69eeeafff4561b695293f23d9ce0f20261474f4a0f0281278b13f11e7ed9efd49f2712586f909e3e7a26b9fe39f8e98b50a2bf189d077668fc67388d19
DIST xev-1.2.2.tar.bz2 132596 BLAKE2B 243556cda4ea52f488b60c98566fa1b84896c972eef484f9a29d8a7a3e6709a26c47f5478f7a010d430c79471f1f04d684a5b761a721013540f9f1e08d0573c9 SHA512 453fc18072e4d4fd088a1b2e918f3772aaa2c56b36c082deb41ec4d434d1579de75f447fc4e0507086c170152e02d6db8b60dc7fd87ae18a2e817448bd628fca
+DIST xev-1.2.3.tar.bz2 134866 BLAKE2B 9ff8bdb1e75754a5390115d10dd5851f71b2319ad7ff02299ff28284aa23c14cd1ad3ee9eea81718ed355fc31983e4f7ec0312b31e3f86d3691bb52ebbe0cc4e SHA512 47cc7ac096e77cfa4e687914d767263cf3e1dca5bffd0f68c7ba0fe751b248c8a16525bd2da4d6efa0ea8d637831c893d41c9687cace4aaa9c0909a45ef1943e
diff --git a/x11-apps/xev/xev-1.2.3.ebuild b/x11-apps/xev/xev-1.2.3.ebuild
new file mode 100644
index 000000000000..f03e86b75dd0
--- /dev/null
+++ b/x11-apps/xev/xev-1.2.3.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit xorg-3
+
+DESCRIPTION="Print contents of X events"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x86-winnt"
+IUSE=""
+
+RDEPEND="x11-libs/libX11
+ x11-libs/libXrandr"
+DEPEND="${RDEPEND}
+ x11-base/xorg-proto"
diff --git a/x11-apps/xhost/Manifest b/x11-apps/xhost/Manifest
index 1f8833cd26da..cfd2706eed5f 100644
--- a/x11-apps/xhost/Manifest
+++ b/x11-apps/xhost/Manifest
@@ -1,2 +1,3 @@
DIST xhost-1.0.6.tar.bz2 133176 BLAKE2B 8cb649716b93d3bf020e4897f2d6f7f1a0a765c4fb8715b1c128475725bc6822cfe49aebfdc6677c1eccc8510938848dae538f7b4c90282c4b01df0af124fb62 SHA512 4e9b8b5b3a13b995e4f3596b26fa637d5892936090516eef1eb296c257358496ed5ad7b5c1e924003fcc18b6c8d4592f83e515d66a605a895f1d9fdc5d064f1a
DIST xhost-1.0.7.tar.bz2 135767 BLAKE2B 0156640ede491a8a2f1610ca5d68d97e88fa349bcbad39a308aae46d29f7cf8f93a8fee8273ba369484efd9641653e7bcfbd8fb3ec14d9f07b20e4ffd7fd6fd2 SHA512 670a8c97291565f6c36c94e135f7bd60a572bb42b4fca9d2460823db0d0576187c64f9b876ed60d348029d3f74a732862eea4ce889a6b6b9c97665746a38b1d7
+DIST xhost-1.0.8.tar.bz2 138539 BLAKE2B f05d58444537431d9dce5e6dccc27bc8116141d66b34b6edb356dbe823898dbb2927f8ad8dc133178efc7e5b399b7b6428883ea7c665577d4b1984300474eabe SHA512 55581f9bc45a70a73b13fe718ca83c4cb0a6116d26addc0f07659ebeb5bf7d2379e84cab5a1702ae77a298a66f42ae03f41ddc7d5acd61c6f18448e58ad7cb6b
diff --git a/x11-apps/xhost/xhost-1.0.8.ebuild b/x11-apps/xhost/xhost-1.0.8.ebuild
new file mode 100644
index 000000000000..c31226dbf270
--- /dev/null
+++ b/x11-apps/xhost/xhost-1.0.8.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit xorg-3
+
+DESCRIPTION="Controls host and/or user access to a running X server"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="ipv6"
+
+RDEPEND="x11-libs/libX11
+ x11-libs/libXmu
+ x11-libs/libXau"
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ XORG_CONFIGURE_OPTIONS="$(use_enable ipv6)"
+}
diff --git a/x11-apps/xlsatoms/Manifest b/x11-apps/xlsatoms/Manifest
index 9f7ea9ec883c..abe3e830c88f 100644
--- a/x11-apps/xlsatoms/Manifest
+++ b/x11-apps/xlsatoms/Manifest
@@ -1 +1,2 @@
DIST xlsatoms-1.1.2.tar.bz2 123157 BLAKE2B db6dcd01a8494411068ae43cb93c03fe03191c981d400a7f1fe2c179e7db2bc665af8989f6e4f0b136668d3f78cf491015b58d5fc3dc7707925b9688be780848 SHA512 f29001de22818792212312f1b9daee1bf7afa2ef2ae945cd8c14bdc1a7bb40064d3878c5efea60458ac0bf515ab1ece16fa90cbd2b0a879a5f07f3aa3e6a0baa
+DIST xlsatoms-1.1.3.tar.bz2 126327 BLAKE2B 7a4ca35e6968432fc99dcf665b3f63ac84e5bda8a7b061fca9df7bb12e447e83feaf4c82d80a4e469e680042d7b856708821febe44897acf5cba7777e90073c4 SHA512 c267ccfdc5a83e834bfb5c3b144e22642badcadef4eb146eeec2df6fe6f85e9379500ae4219912c70fa2e535036a1a96cf496381f5d814e79af075e03c975f30
diff --git a/x11-apps/xlsatoms/xlsatoms-1.1.3.ebuild b/x11-apps/xlsatoms/xlsatoms-1.1.3.ebuild
new file mode 100644
index 000000000000..520a0d79ab35
--- /dev/null
+++ b/x11-apps/xlsatoms/xlsatoms-1.1.3.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit xorg-3
+
+DESCRIPTION="list interned atoms defined on server"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE=""
+
+RDEPEND="x11-libs/libxcb:="
+DEPEND="${RDEPEND}"
diff --git a/x11-apps/xmodmap/Manifest b/x11-apps/xmodmap/Manifest
index 156b815ebeff..1113d77afa6d 100644
--- a/x11-apps/xmodmap/Manifest
+++ b/x11-apps/xmodmap/Manifest
@@ -1,2 +1,3 @@
+DIST xmodmap-1.0.10.tar.bz2 145489 BLAKE2B 503e72882a1d6d5c916cb60b898156adbdccc3e90bda85b161ac7a57ee607605331be73bd779603cfab1013d065e28f3165cce2ef50d71579330ab0361078a22 SHA512 324c7dcef843186088f16b3bc47485eb3c9b4331e56ce43b692deb4bb3d4f4f27512480e91a379cceac8383df920dc5e37cd825246b50b6343291cec48134c04
DIST xmodmap-1.0.8.tar.bz2 141026 BLAKE2B 1c2e510d7083f98a7b72d7a48a0fd74f4d660ee8966c7282f15d6e898b0b0ce6083f626915d48d345db8be385e187ff542c724f23aaf0deefbbaaae2be1f0597 SHA512 716cd1ee2cdb1db31b84c018eb223fb3eb05d499a7e76e0bdf038b58a5f71dd17631c8ce39d8108f6c47fe11fad718016f2891baa813b35a9dc607d3a3946a63
DIST xmodmap-1.0.9.tar.bz2 142565 BLAKE2B 36fc73d518240fc37243c67ecd5101f4cd39343198c7271717eb6c491c502db6579ffd5db639b509977f2e168b4f0995b8aa7a9a821dbde5ede65199c2feb39f SHA512 6e50f2ba072ec171bd3fc34f75b21c63f9834f3c0f1608c857f80a4b2c8a9696b03dde79f8342bf67504b759297bc24a64056a625d295a4f89dd31eb938400ac
diff --git a/x11-apps/xmodmap/xmodmap-1.0.10.ebuild b/x11-apps/xmodmap/xmodmap-1.0.10.ebuild
new file mode 100644
index 000000000000..a0a6e05eff58
--- /dev/null
+++ b/x11-apps/xmodmap/xmodmap-1.0.10.ebuild
@@ -0,0 +1,14 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit xorg-3
+
+DESCRIPTION="utility for modifying keymaps and pointer button mappings in X"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+RDEPEND="x11-libs/libX11"
+DEPEND="${RDEPEND}"
diff --git a/x11-apps/xrdb/Manifest b/x11-apps/xrdb/Manifest
index 61aafa3232c5..4e1f3e889b08 100644
--- a/x11-apps/xrdb/Manifest
+++ b/x11-apps/xrdb/Manifest
@@ -1,2 +1,3 @@
DIST xrdb-1.1.0.tar.bz2 138035 BLAKE2B 62cea13d943692cf8be654b53c89751925c0e1b07c84cbe954070c109a5792908bb3642b208ac2da151f8416ab645c05d3d54084424d9fc9d5aba4efc99604e6 SHA512 8e2a177653d5aa895c71ed3640e0f1dd9fe8bf5cd6f0c6ff7e372394a2a41c3aa2286905fd9c69e3d140024d235b81a1f32b5d4012b1ac5ac1ed945599dee407
DIST xrdb-1.1.1.tar.bz2 141950 BLAKE2B bfd0e384e4bdbae3209caf4e729a8151ec174ca1a461d3dd5a357b8a383fcf7da072741e539a8830434b416c894684e20cde8bde11fb211420d5796c2c08298b SHA512 20c342004ef911fc4d3ef4ac3ac15d1c30bb946b8156f3a6916c242e470be0cb63261563462fd1e2e07b1a7cc527b8cacf5f913e31b02196629a95043cf8d13f
+DIST xrdb-1.2.0.tar.bz2 142194 BLAKE2B 2fee77b287f43125413bbbc288b1d89986a93775797c02dde564e678bec3c429bca487d752d82f8da924a95e177a46e3b4de507b7fdca56b95789e1d7ea3dae3 SHA512 14e1cdfb2152fb28f1f4641b177ab236648d7e967a95b952bf4cfce8d3e1ef085e85385354e3381aaf644462e8888a1847f755ab4016ecb4cb4a715b001dd2ef
diff --git a/x11-apps/xrdb/xrdb-1.2.0.ebuild b/x11-apps/xrdb/xrdb-1.2.0.ebuild
new file mode 100644
index 000000000000..0d57b078b2df
--- /dev/null
+++ b/x11-apps/xrdb/xrdb-1.2.0.ebuild
@@ -0,0 +1,14 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit xorg-3
+
+DESCRIPTION="X server resource database utility"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+RDEPEND="x11-libs/libXmu
+ x11-libs/libX11"
+DEPEND="${RDEPEND}"
diff --git a/x11-apps/xstdcmap/Manifest b/x11-apps/xstdcmap/Manifest
index 8caa65992e54..fde0ce0a8689 100644
--- a/x11-apps/xstdcmap/Manifest
+++ b/x11-apps/xstdcmap/Manifest
@@ -1 +1,2 @@
DIST xstdcmap-1.0.3.tar.bz2 117491 BLAKE2B 971dc6e2e42fa7631f8cb084a6cf22dcb87e20ae23d93c1f73d92c5532878e36a4c192707ce49dbd9d6a6a95ac4c3d36911f63f3d7fc1847d503d43499736a44 SHA512 8037ddb9c6b8f3a65d35637a1fca2b1b6c7e76afce5c13b1947cf72c3ca87679aa2ed05caf308d90549432b7fe029a522a99f32701bd0087c140bf4fafdb4d49
+DIST xstdcmap-1.0.4.tar.bz2 126269 BLAKE2B 5c2fccbc374871738ae03d722a045cc3ffd6bc431774d76525653e70c5ddb9a4281b2372996ff492807f9d4aee414eac1016f2696ea4e1979407a5b7cf37e1b5 SHA512 2adbb0aec1766341e04090efa962241ff6c9e32c612851b7221cec0ee16852107d406a08ec5251070f39df882c13e3c8c9edcd88f278187a9f373e1727643a8f
diff --git a/x11-apps/xstdcmap/xstdcmap-1.0.4.ebuild b/x11-apps/xstdcmap/xstdcmap-1.0.4.ebuild
new file mode 100644
index 000000000000..f7396b9cf08e
--- /dev/null
+++ b/x11-apps/xstdcmap/xstdcmap-1.0.4.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit xorg-3
+
+DESCRIPTION="X standard colormap utility"
+KEYWORDS="~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE=""
+RDEPEND="x11-libs/libXmu
+ x11-libs/libX11"
+DEPEND="${RDEPEND}"
diff --git a/x11-apps/xvinfo/Manifest b/x11-apps/xvinfo/Manifest
index bf404f653b00..106b74bcc162 100644
--- a/x11-apps/xvinfo/Manifest
+++ b/x11-apps/xvinfo/Manifest
@@ -1,2 +1,3 @@
DIST xvinfo-1.1.2.tar.bz2 116906 BLAKE2B 11775fe342b840dec32ad48a4d47a53e897d9b4157a3a49b59768963855b2df470ba9ab098f418fa87f526c6723effc9584f993f7f2641870f7e92735dc46ad5 SHA512 0cf431afb52807f88654aaa3acbd286630461c934516ee5bbe280ec468ebfd3970b5b10f69d3a25aa36b6e0c0ac46d1c20c9606ac1de76261df80f1821362732
DIST xvinfo-1.1.3.tar.bz2 123750 BLAKE2B 4a180335e7829ac31258f880955a36d1e6a5abccd3ce2cba1dcb8ec43aca6a5584df2fa4e345d6ce5885efc55b6c586e13a78010cd009cb01bec17dc5b8ab0a9 SHA512 df8356898390d2aec4fbd15cee1627bb86b57ff8af41a527d4f6f6703a81f399a3098da342b94af6d4cf4a817d9fda1946a206bfbe3995e87ceb9910bb8b51bc
+DIST xvinfo-1.1.4.tar.bz2 126503 BLAKE2B 54a1e08913cd51cfeaced1c704834e0348d02cfb2e606f2cbb103acfdf649595a77680364bfb5bbe684a15c743d2d18b6031e77150d0e9fb0d3405d474accc3c SHA512 85e1f936c5c826f0fdde3670bd77d5cde8641c6e8e7849e42142e91b5aa01d7e0e60d2b064eb6fef4f5666321813ca2dc9f9656756ccbe6dcda37b119ee8a63e
diff --git a/x11-apps/xvinfo/xvinfo-1.1.4.ebuild b/x11-apps/xvinfo/xvinfo-1.1.4.ebuild
new file mode 100644
index 000000000000..65e01d47494a
--- /dev/null
+++ b/x11-apps/xvinfo/xvinfo-1.1.4.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit xorg-3
+
+DESCRIPTION="Print out X-Video extension adaptor information"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE=""
+
+RDEPEND="x11-libs/libXv
+ x11-libs/libX11"
+DEPEND="${RDEPEND}"
diff --git a/x11-base/xorg-server/Manifest b/x11-base/xorg-server/Manifest
index 4dc159133939..d0d520e0f006 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 000000000000..54ed62935a6d
--- /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 000000000000..fce25944537f
--- /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 000000000000..1ce9e1307943
--- /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 000000000000..73fb1dab4718
--- /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
+}
diff --git a/x11-base/xorg-server/xorg-server-9999.ebuild b/x11-base/xorg-server/xorg-server-9999.ebuild
index d1cbe013ded9..f9f7d5827997 100644
--- a/x11-base/xorg-server/xorg-server-9999.ebuild
+++ b/x11-base/xorg-server/xorg-server-9999.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
XORG_DOC=doc
-inherit xorg-2 multilib versionator flag-o-matic
+inherit xorg-3 multilib flag-o-matic
EGIT_REPO_URI="https://anongit.freedesktop.org/git/xorg/xserver.git"
DESCRIPTION="X.Org X servers"
@@ -101,7 +101,7 @@ RDEPEND="${CDEPEND}
"
PDEPEND="
- xorg? ( >=x11-base/xorg-drivers-$(get_version_component_range 1-2) )"
+ xorg? ( >=x11-base/xorg-drivers-$(ver_cut 1-2) )"
REQUIRED_USE="!minimal? (
|| ( ${IUSE_SERVERS} )
@@ -109,9 +109,8 @@ REQUIRED_USE="!minimal? (
minimal? ( !glamor !wayland )
xephyr? ( kdrive )"
-#UPSTREAMED_PATCHES=(
-# "${WORKDIR}/patches/"
-#)
+UPSTREAMED_PATCHES=(
+)
PATCHES=(
"${UPSTREAMED_PATCHES[@]}"
@@ -120,20 +119,12 @@ PATCHES=(
"${FILESDIR}"/${PN}-1.18-support-multiple-Files-sections.patch
)
-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
@@ -176,18 +167,16 @@ src_configure() {
--without-fop
--with-sha1=libcrypto
)
-
- xorg-2_src_configure
}
src_install() {
- xorg-2_src_install
+ default
server_based_install
if ! use minimal && use xorg; then
# Install xorg.conf.example into docs
- dodoc "${AUTOTOOLS_BUILD_DIR}"/hw/xfree86/xorg.conf.example
+ dodoc "${S}"/hw/xfree86/xorg.conf.example
fi
newinitd "${FILESDIR}"/xdm-setup.initd-1 xdm-setup
diff --git a/x11-libs/libfontenc/Manifest b/x11-libs/libfontenc/Manifest
index 8e4501f048ef..b430ab376c0b 100644
--- a/x11-libs/libfontenc/Manifest
+++ b/x11-libs/libfontenc/Manifest
@@ -1 +1,2 @@
DIST libfontenc-1.1.3.tar.bz2 301494 BLAKE2B 1d9d5387cd11820b1d458cab8de26fbaebeb2d0b5c6197a455b0261e53004e6d8eb9cea7dab27ad163c8897237a864075f981ec3a740cf8056c3f15be23ecd3d SHA512 7346079a6980464f57f5da0e96025bbf4b13fbb7ed976b58d9c54b78525d9d0b4174b4783326a12048971cf5d05221bafe2f41c6b02931743913719cde21740c
+DIST libfontenc-1.1.4.tar.bz2 320492 BLAKE2B 34da17e220789f5078e870329390c0e3ee665598db3432ef5a33e78d1db4b12460c7467bcbcc1dad67e9f6ade0173f9fad915a2fbbee51f0be23feedc242e7bd SHA512 76fa851d00113241f15fdd5b5bb7e927b8d8b9a82ce3fcb0678b8c7e32cb5e8d898c4bda1d60dafb7748145049d3240627ac34a2360c64e98a7a912ea7c30582
diff --git a/x11-libs/libfontenc/libfontenc-1.1.4.ebuild b/x11-libs/libfontenc/libfontenc-1.1.4.ebuild
new file mode 100644
index 000000000000..15246b281cd5
--- /dev/null
+++ b/x11-libs/libfontenc/libfontenc-1.1.4.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit xorg-3
+
+DESCRIPTION="X.Org fontenc library"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+IUSE=""
+
+RDEPEND="sys-libs/zlib"
+DEPEND="${RDEPEND}
+ x11-base/xorg-proto"
+
+XORG_CONFIGURE_OPTIONS=(
+ --with-encodingsdir="${EPREFIX}/usr/share/fonts/encodings"
+)