diff --git a/x11-proto/bigreqsproto/Manifest b/x11-proto/bigreqsproto/Manifest
deleted file mode 100644
index 8142944..0000000
--- a/x11-proto/bigreqsproto/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST bigreqsproto-1.1.1.tar.bz2 102069 RMD160 1cce15a22eb1c2e0eb14f1dfd1c8c21fd19d4112 SHA1 2db1d1e98958eee4d6cae0f68dbd03b2ec1018ce SHA256 1c3b85872b58d215e8fbfdc7c36bb397d10053324a5df8722227d35254fff09a
diff --git a/x11-proto/bigreqsproto/bigreqsproto-1.1.1.ebuild b/x11-proto/bigreqsproto/bigreqsproto-1.1.1.ebuild
deleted file mode 100644
index 968fa97..0000000
--- a/x11-proto/bigreqsproto/bigreqsproto-1.1.1.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-proto/bigreqsproto/bigreqsproto-1.1.1.ebuild,v 1.8 2011/02/14 14:26:53 xarthisius Exp $
-
-EAPI=3
-inherit xorg-2
-
-DESCRIPTION="X.Org BigReqs protocol headers"
-
-KEYWORDS="*"
-IUSE="doc"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
-	doc? ( app-text/xmlto )"
-
-pkg_setup() {
-	xorg-2_pkg_setup
-
-	CONFIGURE_OPTIONS="$(use_enable doc specs)
-		$(use_with doc xmlto)
-		--without-fop"
-}
diff --git a/x11-proto/bigreqsproto/metadata.xml b/x11-proto/bigreqsproto/metadata.xml
deleted file mode 100644
index 01c4c00..0000000
--- a/x11-proto/bigreqsproto/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<herd>x11</herd>
-</pkgmetadata>
diff --git a/x11-proto/compositeproto/Manifest b/x11-proto/compositeproto/Manifest
deleted file mode 100644
index c8b588c..0000000
--- a/x11-proto/compositeproto/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST compositeproto-0.4.2.tar.bz2 101208 RMD160 198d51821a3862718c656d8ccf3a8305e834f1c9 SHA1 aa7b5abcfd5bbfad7cb681ce89dc1d6e381e3044 SHA256 049359f0be0b2b984a8149c966dd04e8c58e6eade2a4a309cf1126635ccd0cfc
diff --git a/x11-proto/compositeproto/compositeproto-0.4.2.ebuild b/x11-proto/compositeproto/compositeproto-0.4.2.ebuild
deleted file mode 100644
index 5f62a01..0000000
--- a/x11-proto/compositeproto/compositeproto-0.4.2.ebuild
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-proto/compositeproto/compositeproto-0.4.2.ebuild,v 1.8 2011/02/14 14:20:37 xarthisius Exp $
-
-EAPI=3
-inherit xorg-2
-
-DESCRIPTION="X.Org Composite protocol headers"
-
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND=""
-DEPEND="${RDEPEND}"
diff --git a/x11-proto/compositeproto/metadata.xml b/x11-proto/compositeproto/metadata.xml
deleted file mode 100644
index 01c4c00..0000000
--- a/x11-proto/compositeproto/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<herd>x11</herd>
-</pkgmetadata>
diff --git a/x11-proto/damageproto/Manifest b/x11-proto/damageproto/Manifest
deleted file mode 100644
index 5836207..0000000
--- a/x11-proto/damageproto/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST damageproto-1.2.1.tar.bz2 98392 RMD160 3354e2f38d443818ff7cd40fd19d72e8fd183043 SHA1 bd0f0f4dc8f37eaabd9279d10fe2889710507358 SHA256 5c7c112e9b9ea8a9d5b019e5f17d481ae20f766cb7a4648360e7c1b46fc9fc5b
diff --git a/x11-proto/damageproto/damageproto-1.2.1.ebuild b/x11-proto/damageproto/damageproto-1.2.1.ebuild
deleted file mode 100644
index 49708e1..0000000
--- a/x11-proto/damageproto/damageproto-1.2.1.ebuild
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-proto/damageproto/damageproto-1.2.1.ebuild,v 1.8 2011/02/14 14:27:44 xarthisius Exp $
-
-EAPI=3
-inherit xorg-2
-
-DESCRIPTION="X.Org Damage protocol headers"
-
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND=""
-DEPEND="${RDEPEND}"
diff --git a/x11-proto/damageproto/metadata.xml b/x11-proto/damageproto/metadata.xml
deleted file mode 100644
index 01c4c00..0000000
--- a/x11-proto/damageproto/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<herd>x11</herd>
-</pkgmetadata>
diff --git a/x11-proto/dri2proto/Manifest b/x11-proto/dri2proto/Manifest
deleted file mode 100644
index f3c7925..0000000
--- a/x11-proto/dri2proto/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST dri2proto-2.8.tar.bz2 108746 SHA256 f9b55476def44fc7c459b2537d17dbc731e36ed5d416af7ca0b1e2e676f8aa04 SHA512 1602f58cd8a3371dacf894cde4889b9147fc08e83f98d8e0d1c748abe43ecb74cf4e0e3d5eb2f33568ba5e6d9f310303b98ba43ae3bc956ae693824b1ae0745a WHIRLPOOL f27b9a5e62df4146b8d8ef8552ae316068d66c058d837b67c3e8f113a41c92d216f7606f127779992cec21221a3b529f9c6113bc419c14d7f1c8552bf87b4d2e
diff --git a/x11-proto/dri2proto/dri2proto-2.8-r1.ebuild b/x11-proto/dri2proto/dri2proto-2.8-r1.ebuild
deleted file mode 100644
index 045a3b2..0000000
--- a/x11-proto/dri2proto/dri2proto-2.8-r1.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-XORG_MULTILIB=yes
-inherit xorg-2
-
-DESCRIPTION="X.Org DRI2 protocol headers"
-
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND=""
-DEPEND="${RDEPEND}"
diff --git a/x11-proto/dri2proto/metadata.xml b/x11-proto/dri2proto/metadata.xml
deleted file mode 100644
index e943b72..0000000
--- a/x11-proto/dri2proto/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
-	<email>x11@gentoo.org</email>
-	<name>X11</name>
-</maintainer>
-</pkgmetadata>
diff --git a/x11-proto/dri3proto/Manifest b/x11-proto/dri3proto/Manifest
deleted file mode 100644
index a6c2d76..0000000
--- a/x11-proto/dri3proto/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST dri3proto-1.0.tar.bz2 105366 SHA256 01be49d70200518b9a6b297131f6cc71f4ea2de17436896af153226a774fc074 SHA512 d2925bc2e2bfb3f30c4dc3082d84dc6a2e7d8ea02021ea02d681cbf92e6b256e9e4e0f5abfc394aa0c7762d841b1c8f82d2098c616ca1d7f4a3b5fd8a54f01f8 WHIRLPOOL 3010aae8ca5a72d31f61bac3c2dd976ae7ddace283782768d8ea6713f2c0d2eb2ed5090af1b8778ae04cf4ddb6d3620823ef2d0cbf137c4de8fa30eaf599007c
diff --git a/x11-proto/dri3proto/dri3proto-1.0.ebuild b/x11-proto/dri3proto/dri3proto-1.0.ebuild
deleted file mode 100644
index be02c98..0000000
--- a/x11-proto/dri3proto/dri3proto-1.0.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-XORG_MULTILIB=yes
-inherit xorg-2
-
-DESCRIPTION="X.Org DRI3 protocol specification and Xlib/Xserver headers"
-
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND=""
-DEPEND="${RDEPEND}"
diff --git a/x11-proto/dri3proto/metadata.xml b/x11-proto/dri3proto/metadata.xml
deleted file mode 100644
index e943b72..0000000
--- a/x11-proto/dri3proto/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
-	<email>x11@gentoo.org</email>
-	<name>X11</name>
-</maintainer>
-</pkgmetadata>
diff --git a/x11-proto/fixesproto/Manifest b/x11-proto/fixesproto/Manifest
deleted file mode 100644
index e1bce36..0000000
--- a/x11-proto/fixesproto/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST fixesproto-5.0.tar.bz2 100886 RMD160 e6733c26d84c58ba74263e90c79f2f6a1974c34a SHA1 ab605af5da8c98c0c2f8b2c578fed7c864ee996a SHA256 ba2f3f31246bdd3f2a0acf8bd3b09ba99cab965c7fb2c2c92b7dc72870e424ce
diff --git a/x11-proto/fixesproto/fixesproto-5.0.ebuild b/x11-proto/fixesproto/fixesproto-5.0.ebuild
deleted file mode 100644
index 42899cd..0000000
--- a/x11-proto/fixesproto/fixesproto-5.0.ebuild
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-proto/fixesproto/fixesproto-5.0.ebuild,v 1.7 2011/04/16 18:07:21 armin76 Exp $
-
-EAPI=4
-inherit xorg-2
-
-DESCRIPTION="X.Org Fixes protocol headers"
-
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND=">=x11-proto/xextproto-7.0.99.1"
-DEPEND="${RDEPEND}"
diff --git a/x11-proto/fixesproto/metadata.xml b/x11-proto/fixesproto/metadata.xml
deleted file mode 100644
index 01c4c00..0000000
--- a/x11-proto/fixesproto/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<herd>x11</herd>
-</pkgmetadata>
diff --git a/x11-proto/fontsproto/Manifest b/x11-proto/fontsproto/Manifest
deleted file mode 100644
index 19de558..0000000
--- a/x11-proto/fontsproto/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST fontsproto-2.1.3.tar.bz2 154087 SHA256 259046b0dd9130825c4a4c479ba3591d6d0f17a33f54e294b56478729a6e5ab8 SHA512 f46d5b733aa48644aa3aa75d4ed47231ef78cb60f747f7200d82331a1ba566190bf37b5b9926c690dec6356043ce7c85a5b59fc1b4b11667ef432518b5d4cc87 WHIRLPOOL ebf1e550989c08658f56e0a0fbd90c14d966779c640fbdaae9cbcb453169822456fe0f3bebd50edc5346428a1ac7a2e797e402637d0cf9ba3064df6c9938650c
diff --git a/x11-proto/fontsproto/fontsproto-2.1.3.ebuild b/x11-proto/fontsproto/fontsproto-2.1.3.ebuild
deleted file mode 100644
index 10ecc9b..0000000
--- a/x11-proto/fontsproto/fontsproto-2.1.3.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-XORG_DOC=doc
-inherit xorg-2
-
-DESCRIPTION="X.Org Fonts protocol headers"
-
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND=""
-DEPEND="${RDEPEND}"
-
-src_configure() {
-	XORG_CONFIGURE_OPTIONS=(
-		$(use_enable doc specs)
-		$(use_with doc xmlto)
-		--without-fop
-	)
-	xorg-2_src_configure
-}
diff --git a/x11-proto/fontsproto/metadata.xml b/x11-proto/fontsproto/metadata.xml
deleted file mode 100644
index e943b72..0000000
--- a/x11-proto/fontsproto/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
-	<email>x11@gentoo.org</email>
-	<name>X11</name>
-</maintainer>
-</pkgmetadata>
diff --git a/x11-proto/glproto/Manifest b/x11-proto/glproto/Manifest
deleted file mode 100644
index ca88d46..0000000
--- a/x11-proto/glproto/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST glproto-1.4.17.tar.bz2 126969 SHA256 adaa94bded310a2bfcbb9deb4d751d965fcfe6fb3a2f6d242e2df2d6589dbe40 SHA512 3e5bb1949ab9993e07d2ed7e829b9e0a8803eab476e9f4082fc01087c3dce01f3bcb9d55261eaf60e55977a689b326ed1dcf40f74d5e1fc660c83bea094b6754 WHIRLPOOL 48b345a946f136cdd011d25ac796cd43c761fbe052e5d238c6250c4db798c5612978b1e526b10bd1b870bb302f745574a8e4ed8403464305278afb15694f4630
diff --git a/x11-proto/glproto/glproto-1.4.17-r1.ebuild b/x11-proto/glproto/glproto-1.4.17-r1.ebuild
deleted file mode 100644
index 4e42873..0000000
--- a/x11-proto/glproto/glproto-1.4.17-r1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-XORG_MULTILIB=yes
-inherit xorg-2
-
-DESCRIPTION="X.Org GL protocol headers"
-KEYWORDS="*"
-LICENSE="SGI-B-2.0"
-IUSE=""
-
-RDEPEND=">=app-eselect/eselect-opengl-1.3.0"
-DEPEND=""
-
-src_install() {
-	xorg-2_src_install
-}
-
-pkg_postinst() {
-	xorg-2_pkg_postinst
-	eselect opengl set --ignore-missing --use-old xorg-x11
-}
diff --git a/x11-proto/glproto/metadata.xml b/x11-proto/glproto/metadata.xml
deleted file mode 100644
index e943b72..0000000
--- a/x11-proto/glproto/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
-	<email>x11@gentoo.org</email>
-	<name>X11</name>
-</maintainer>
-</pkgmetadata>
diff --git a/x11-proto/inputproto/Manifest b/x11-proto/inputproto/Manifest
deleted file mode 100644
index 6320401..0000000
--- a/x11-proto/inputproto/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST inputproto-2.3.tar.bz2 195642 SHA256 7d26b193f6699f8e9c1e28bf026844b7ecea33dd644402523471be109152c32f SHA512 4bc3986a49273777850342cfa086641eeba0fd95ad428a2f025bd44e9ea04516cb6e190b3fd2a99fe21c63d9fe4010bebe57aefe3807050d00f8b301289ec43a WHIRLPOOL 6604906b9bf756559a6ba236b4f0b4fb97062e6b09aac57fdd17c3e1ca7c4bec470f725c2e4a1a3252fae4326a27e06486008e8f859cc58c1b0471482066f7fb
diff --git a/x11-proto/inputproto/inputproto-2.3.ebuild b/x11-proto/inputproto/inputproto-2.3.ebuild
deleted file mode 100644
index 63201d7..0000000
--- a/x11-proto/inputproto/inputproto-2.3.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-proto/inputproto/inputproto-2.3.ebuild,v 1.1 2013/03/08 00:01:57 chithanh Exp $
-
-EAPI=4
-
-XORG_MULTILIB=yes
-inherit xorg-2
-
-DESCRIPTION="X.Org Input protocol headers"
-
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND=""
-DEPEND="${RDEPEND}
-!<x11-libs/libXi-1.2.99"
diff --git a/x11-proto/inputproto/metadata.xml b/x11-proto/inputproto/metadata.xml
deleted file mode 100644
index 01c4c00..0000000
--- a/x11-proto/inputproto/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<herd>x11</herd>
-</pkgmetadata>
diff --git a/x11-proto/kbproto/Manifest b/x11-proto/kbproto/Manifest
deleted file mode 100644
index 4bfd32e..0000000
--- a/x11-proto/kbproto/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST kbproto-1.0.5.tar.bz2 111270 RMD160 76f97a2a2e40328bd91a7a9de4030ceac788fb6e SHA1 d95fada09399568c434729b436e1a09503e15b7a SHA256 0eba4f525e1700798cc0585fe29556e4369fba6517c670866273ad104cf5f49d
diff --git a/x11-proto/kbproto/kbproto-1.0.5.ebuild b/x11-proto/kbproto/kbproto-1.0.5.ebuild
deleted file mode 100644
index 6be0bbc..0000000
--- a/x11-proto/kbproto/kbproto-1.0.5.ebuild
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-proto/kbproto/kbproto-1.0.5.ebuild,v 1.8 2011/02/14 14:01:32 xarthisius Exp $
-
-EAPI=3
-inherit xorg-2
-
-DESCRIPTION="X.Org KB protocol headers"
-
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND=""
-DEPEND="${RDEPEND}"
diff --git a/x11-proto/kbproto/metadata.xml b/x11-proto/kbproto/metadata.xml
deleted file mode 100644
index 01c4c00..0000000
--- a/x11-proto/kbproto/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<herd>x11</herd>
-</pkgmetadata>
diff --git a/x11-proto/metadata.xml b/x11-proto/metadata.xml
deleted file mode 100644
index 855298e..0000000
--- a/x11-proto/metadata.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<catmetadata>
-	<longdescription lang="en">
-		x11-proto contains the X11 protocol headers.
-	</longdescription>
-	<longdescription lang="ja">
-		x11-protoカテゴリにはX11のプロトコルヘーダが含まれます。
-	</longdescription>
-	<longdescription lang="de">
-		Die Kategorie x11-proto enthält die Headerdateien für das
-		X11-Protokoll.
-	</longdescription>
-	<longdescription lang="pt">
-		A categoria x11-proto contém os cabeçalhos de protocolo de X11.
-	</longdescription>
-	<longdescription lang="pl">
-		Kategoria x11-proto zawiera nagłówki protokołu X11.
-	</longdescription>
-	<longdescription lang="es">
-		x11-proto contiene las cabeceras del protocolo X11.
-	</longdescription>
-</catmetadata>
-
diff --git a/x11-proto/presentproto/Manifest b/x11-proto/presentproto/Manifest
deleted file mode 100644
index 568dd64..0000000
--- a/x11-proto/presentproto/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST presentproto-1.1.tar.bz2 116156 SHA256 f69b23a8869f78a5898aaf53938b829c8165e597cda34f06024d43ee1e6d26b9 SHA512 2c712136c8b4e99190932928d98e1a628197d0bf25180cac196ab8768720d61f7907006315bc3610e23666a8fbe39cfa9115c5fd72914aee2498776c8b46f7b2 WHIRLPOOL c5551ee1a3309b304b13e770bfc0e4d22f1487eacb56ea49edeb1699a081094c7e4172edaa39e36fd1a3657417dc94e52c5e4cfd67486f8a638b1df133e5c9ef
diff --git a/x11-proto/presentproto/metadata.xml b/x11-proto/presentproto/metadata.xml
deleted file mode 100644
index e943b72..0000000
--- a/x11-proto/presentproto/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
-	<email>x11@gentoo.org</email>
-	<name>X11</name>
-</maintainer>
-</pkgmetadata>
diff --git a/x11-proto/presentproto/presentproto-1.1.ebuild b/x11-proto/presentproto/presentproto-1.1.ebuild
deleted file mode 100644
index 5963fab..0000000
--- a/x11-proto/presentproto/presentproto-1.1.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-XORG_MULTILIB=yes
-inherit xorg-2
-
-DESCRIPTION="X.Org Present protocol specification and Xlib/Xserver headers"
-
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND=""
-DEPEND="${RDEPEND}"
diff --git a/x11-proto/randrproto/Manifest b/x11-proto/randrproto/Manifest
deleted file mode 100644
index f751077..0000000
--- a/x11-proto/randrproto/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST randrproto-1.5.0.tar.bz2 142168 SHA256 4c675533e79cd730997d232c8894b6692174dce58d3e207021b8f860be498468 SHA512 5c56f6acfe3a9da5ffda45e4af2da5081a5116d53f4d2dafe399eae168656727927ca0fb4c29fc6583e87709ac83b025ae206fba9356ebf9e26d3ff545da57f4 WHIRLPOOL 74948985aad576b81055abc1b97697f6324d936278560dbc95a3250fd2be74dd5dde470a39e033a6cbbc535a9cdb65454a2591820465688e0d3d2bbb70cf84dc
diff --git a/x11-proto/randrproto/metadata.xml b/x11-proto/randrproto/metadata.xml
deleted file mode 100644
index e943b72..0000000
--- a/x11-proto/randrproto/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
-	<email>x11@gentoo.org</email>
-	<name>X11</name>
-</maintainer>
-</pkgmetadata>
diff --git a/x11-proto/randrproto/randrproto-1.5.0.ebuild b/x11-proto/randrproto/randrproto-1.5.0.ebuild
deleted file mode 100644
index b6fb8c9..0000000
--- a/x11-proto/randrproto/randrproto-1.5.0.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-XORG_MULTILIB=yes
-inherit xorg-2
-
-DESCRIPTION="X.Org Randr protocol headers"
-
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND=""
-DEPEND="${RDEPEND}"
diff --git a/x11-proto/recordproto/Manifest b/x11-proto/recordproto/Manifest
deleted file mode 100644
index 92fdb14..0000000
--- a/x11-proto/recordproto/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST recordproto-1.14.1.tar.bz2 112238 RMD160 cab883a9175adef6bab78b814a6c36ac22518fae SHA1 14acb36540814bfe5d3caf47311b72a3bf1322bd SHA256 b27eb043d3e618bc1f8b704a64f8ae218ea00e7f36f9107ac41d41940773098d
diff --git a/x11-proto/recordproto/metadata.xml b/x11-proto/recordproto/metadata.xml
deleted file mode 100644
index 01c4c00..0000000
--- a/x11-proto/recordproto/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<herd>x11</herd>
-</pkgmetadata>
diff --git a/x11-proto/recordproto/recordproto-1.14.1.ebuild b/x11-proto/recordproto/recordproto-1.14.1.ebuild
deleted file mode 100644
index 2f295f6..0000000
--- a/x11-proto/recordproto/recordproto-1.14.1.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-proto/recordproto/recordproto-1.14.1.ebuild,v 1.8 2011/02/14 14:21:28 xarthisius Exp $
-
-EAPI=3
-inherit xorg-2
-
-DESCRIPTION="X.Org Record protocol headers"
-
-KEYWORDS="*"
-IUSE="doc"
-
-RDEPEND="!<x11-libs/libXtst-1.0.99.2"
-DEPEND="${RDEPEND}
-	doc? ( app-text/xmlto )"
-
-pkg_setup() {
-	xorg-2_pkg_setup
-
-	CONFIGURE_OPTIONS="$(use_enable doc specs)
-		$(use_with doc xmlto)
-		--without-fop"
-}
diff --git a/x11-proto/renderproto/Manifest b/x11-proto/renderproto/Manifest
deleted file mode 100644
index 3ce946b..0000000
--- a/x11-proto/renderproto/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST renderproto-0.11.1.tar.bz2 105741 RMD160 ec176a258b707fa560f8f0190e31fed6478fec74 SHA1 7ae9868a358859fe539482b02414aa15c2d8b1e4 SHA256 06735a5b92b20759204e4751ecd6064a2ad8a6246bb65b3078b862a00def2537
diff --git a/x11-proto/renderproto/metadata.xml b/x11-proto/renderproto/metadata.xml
deleted file mode 100644
index 01c4c00..0000000
--- a/x11-proto/renderproto/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<herd>x11</herd>
-</pkgmetadata>
diff --git a/x11-proto/renderproto/renderproto-0.11.1.ebuild b/x11-proto/renderproto/renderproto-0.11.1.ebuild
deleted file mode 100644
index 0c00c73..0000000
--- a/x11-proto/renderproto/renderproto-0.11.1.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-proto/renderproto/renderproto-0.11.1.ebuild,v 1.8 2011/02/14 14:00:11 xarthisius Exp $
-
-EAPI=3
-
-inherit xorg-2
-
-DESCRIPTION="X.Org Render protocol headers"
-
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND=""
-DEPEND="${RDEPEND}"
diff --git a/x11-proto/resourceproto/Manifest b/x11-proto/resourceproto/Manifest
deleted file mode 100644
index b26c4d4..0000000
--- a/x11-proto/resourceproto/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST resourceproto-1.2.0.tar.bz2 102992 RMD160 651aa6eef3fd2c8e6e1b532eb48f81bddbdc1799 SHA1 9ff9bb9243b0474330959dc3853973523c9dd9ce SHA256 3c66003a6bdeb0f70932a9ed3cf57cc554234154378d301e0c5cfa189d8f6818
diff --git a/x11-proto/resourceproto/metadata.xml b/x11-proto/resourceproto/metadata.xml
deleted file mode 100644
index 01c4c00..0000000
--- a/x11-proto/resourceproto/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<herd>x11</herd>
-</pkgmetadata>
diff --git a/x11-proto/resourceproto/resourceproto-1.2.0.ebuild b/x11-proto/resourceproto/resourceproto-1.2.0.ebuild
deleted file mode 100644
index 3573c57..0000000
--- a/x11-proto/resourceproto/resourceproto-1.2.0.ebuild
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-proto/resourceproto/resourceproto-1.2.0.ebuild,v 1.8 2011/08/20 15:55:26 jer Exp $
-
-EAPI=4
-inherit xorg-2
-
-DESCRIPTION="X.Org Resource protocol headers"
-
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND=""
-DEPEND="${RDEPEND}"
diff --git a/x11-proto/scrnsaverproto/Manifest b/x11-proto/scrnsaverproto/Manifest
deleted file mode 100644
index 3d6c3c4..0000000
--- a/x11-proto/scrnsaverproto/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST scrnsaverproto-1.2.1.tar.bz2 107997 RMD160 8e567d080daa9adcbfeeeb9b0fe27ec68e441246 SHA1 94758e81ac20469c5b586b6cef924c8ab9a32e0f SHA256 fad2f73cac136fcddd311d27a14ac7e519a9bec6ab272490d9c9b363556024f1
diff --git a/x11-proto/scrnsaverproto/metadata.xml b/x11-proto/scrnsaverproto/metadata.xml
deleted file mode 100644
index 01c4c00..0000000
--- a/x11-proto/scrnsaverproto/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<herd>x11</herd>
-</pkgmetadata>
diff --git a/x11-proto/scrnsaverproto/scrnsaverproto-1.2.1.ebuild b/x11-proto/scrnsaverproto/scrnsaverproto-1.2.1.ebuild
deleted file mode 100644
index d1f84a7..0000000
--- a/x11-proto/scrnsaverproto/scrnsaverproto-1.2.1.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-proto/scrnsaverproto/scrnsaverproto-1.2.1.ebuild,v 1.8 2011/02/14 14:22:51 xarthisius Exp $
-
-EAPI=3
-inherit xorg-2
-
-DESCRIPTION="X.Org ScrnSaver protocol headers"
-
-KEYWORDS="*"
-IUSE="doc"
-
-RDEPEND="!<x11-libs/libXScrnSaver-1.2"
-DEPEND="${RDEPEND}
-	doc? ( app-text/xmlto )"
-
-pkg_setup() {
-	xorg-2_pkg_setup
-
-	CONFIGURE_OPTIONS="$(use_enable doc specs)
-		$(use_with doc xmlto)
-		--without-fop"
-}
diff --git a/x11-proto/trapproto/Manifest b/x11-proto/trapproto/Manifest
deleted file mode 100644
index 492c4de..0000000
--- a/x11-proto/trapproto/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST trapproto-3.4.3.tar.bz2 48785 RMD160 f4adc2687aabd0f6e69fde6949675930ad241869 SHA1 b108aa39a7bfde530d5cd347fda7c58770d5b8da SHA256 ff32a0d3bc696cadc3457be9c85e9818af2b6daa2f159188bb01aad7e932a0e1
diff --git a/x11-proto/trapproto/metadata.xml b/x11-proto/trapproto/metadata.xml
deleted file mode 100644
index 01c4c00..0000000
--- a/x11-proto/trapproto/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<herd>x11</herd>
-</pkgmetadata>
diff --git a/x11-proto/trapproto/trapproto-3.4.3.ebuild b/x11-proto/trapproto/trapproto-3.4.3.ebuild
deleted file mode 100644
index 67f0ca5..0000000
--- a/x11-proto/trapproto/trapproto-3.4.3.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-proto/trapproto/trapproto-3.4.3.ebuild,v 1.19 2011/02/06 10:29:38 leio Exp $
-
-# Must be before x-modular eclass is inherited
-#SNAPSHOT="yes"
-
-inherit x-modular
-
-DESCRIPTION="X.Org Trap protocol headers"
-
-KEYWORDS="*"
-IUSE=""
-RDEPEND=""
-DEPEND="${RDEPEND}"
diff --git a/x11-proto/videoproto/Manifest b/x11-proto/videoproto/Manifest
deleted file mode 100644
index d08bfc8..0000000
--- a/x11-proto/videoproto/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST videoproto-2.3.1.tar.bz2 100391 RMD160 c86504e542312852debf01466f3860e97d3ccb8d SHA1 bb8b366687a7f345e3a8697bac516cb436cbf4b2 SHA256 3ec76d24931d1e08c6c8d0b89a25e32dc44bc8f87d1dcb3fe201e3c99f89635a
diff --git a/x11-proto/videoproto/metadata.xml b/x11-proto/videoproto/metadata.xml
deleted file mode 100644
index 01c4c00..0000000
--- a/x11-proto/videoproto/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<herd>x11</herd>
-</pkgmetadata>
diff --git a/x11-proto/videoproto/videoproto-2.3.1.ebuild b/x11-proto/videoproto/videoproto-2.3.1.ebuild
deleted file mode 100644
index 08b97e7..0000000
--- a/x11-proto/videoproto/videoproto-2.3.1.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-proto/videoproto/videoproto-2.3.1.ebuild,v 1.8 2011/02/14 13:57:31 xarthisius Exp $
-
-EAPI=3
-
-inherit xorg-2
-
-DESCRIPTION="X.Org Video protocol headers"
-
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND=""
-DEPEND="${RDEPEND}"
diff --git a/x11-proto/xcb-proto/Manifest b/x11-proto/xcb-proto/Manifest
deleted file mode 100644
index 07cba63..0000000
--- a/x11-proto/xcb-proto/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xcb-proto-1.12.tar.bz2 153890 SHA256 5922aba4c664ab7899a29d92ea91a87aa4c1fc7eb5ee550325c3216c480a4906 SHA512 1f427eaf223971b25b56c9f641350e03f5ebeb17a1fc212ce2a0c892de7aba7e53d5e3958b073a122bb344c387c0ff394cf96f542ff046f33de4e1cd27fb9e5c WHIRLPOOL b9189567c3abeb5a3a3a2a4d32ae5c72070601b6c68ff2b06d09be03bd83889f3dd9b499e0eb1bfb0687b74d726a7c825706cf5e7d874b77a7b9b473c9b660df
diff --git a/x11-proto/xcb-proto/files/xcb-proto-1.12-make-whitespace-usage-consistent.patch b/x11-proto/xcb-proto/files/xcb-proto-1.12-make-whitespace-usage-consistent.patch
deleted file mode 100644
index 6957948..0000000
--- a/x11-proto/xcb-proto/files/xcb-proto-1.12-make-whitespace-usage-consistent.patch
+++ /dev/null
@@ -1,208 +0,0 @@
-From ea7a3ac6c658164690e0febb55f4467cb9e0bcac Mon Sep 17 00:00:00 2001
-From: Thomas Klausner <wiz@NetBSD.org>
-Date: Thu, 19 May 2016 17:30:04 +0200
-Subject: Make whitespace use consistent.
-
-At least python-3.5.x complains about this forcefully.
-
-Signed-off-by: Thomas Klausner <wiz@NetBSD.org>
-Signed-off-by: Uli Schlachter <psychon@znc.in>
-
-diff --git a/xcbgen/align.py b/xcbgen/align.py
-index 5e31838..d4c12ee 100644
---- a/xcbgen/align.py
-+++ b/xcbgen/align.py
-@@ -16,12 +16,12 @@ class Alignment(object):
-         return self.align == other.align and self.offset == other.offset
- 
-     def __str__(self):
--	return "(align=%d, offset=%d)" % (self.align, self.offset)
-+        return "(align=%d, offset=%d)" % (self.align, self.offset)
- 
-     @staticmethod
-     def for_primitive_type(size):
--	# compute the required start_alignment based on the size of the type
--	if size % 8 == 0:
-+        # compute the required start_alignment based on the size of the type
-+        if size % 8 == 0:
-             # do 8-byte primitives require 8-byte alignment in X11?
-             return Alignment(8,0)
-         elif size % 4 == 0:
-@@ -33,7 +33,7 @@ class Alignment(object):
- 
- 
-     def align_after_fixed_size(self, size):
--	new_offset = (self.offset + size) % self.align
-+        new_offset = (self.offset + size) % self.align
-         return Alignment(self.align, new_offset)
- 
- 
-@@ -41,7 +41,7 @@ class Alignment(object):
-         '''
-         Assuming the given external_align, checks whether
-         self is fulfilled for all cases.
--	Returns True if yes, False otherwise.
-+        Returns True if yes, False otherwise.
-         '''
-         if self.align == 1 and self.offset == 0:
-             # alignment 1 with offset 0 is always fulfilled
-@@ -55,9 +55,9 @@ class Alignment(object):
-             # the external align guarantees less alignment -> not guaranteed
-             return False
- 
--	if external_align.align % self.align != 0:
-+        if external_align.align % self.align != 0:
-             # the external align cannot be divided by our align
--	    # -> not guaranteed
-+            # -> not guaranteed
-             # (this can only happen if there are alignments that are not
-             # a power of 2, which is highly discouraged. But better be
-             # safe and check for it)
-@@ -72,7 +72,7 @@ class Alignment(object):
- 
-     def combine_with(self, other):
-         # returns the alignment that is guaranteed when
--	# both, self or other, can happen
-+        # both, self or other, can happen
-         new_align = gcd(self.align, other.align)
-         new_offset_candidate1 = self.offset % new_align
-         new_offset_candidate2 = other.offset % new_align
-@@ -83,8 +83,8 @@ class Alignment(object):
-             new_align = gcd(new_align, offset_diff)
-             new_offset_candidate1 = self.offset % new_align
-             new_offset_candidate2 = other.offset % new_align
--	    assert new_offset_candidate1 == new_offset_candidate2
--	    new_offset = new_offset_candidate1
-+            assert new_offset_candidate1 == new_offset_candidate2
-+            new_offset = new_offset_candidate1
-         # return the result
-         return Alignment(new_align, new_offset)
- 
-@@ -92,44 +92,44 @@ class Alignment(object):
- class AlignmentLog(object):
- 
-     def __init__(self):
--	self.ok_list = []
--	self.fail_list = []
--	self.verbosity = 1
-+        self.ok_list = []
-+        self.fail_list = []
-+        self.verbosity = 1
- 
-     def __str__(self):
--	result = ""
-+        result = ""
- 
--	# output the OK-list
--	for (align_before, field_name, type_obj, callstack, align_after) in self.ok_list:
--	    stacksize = len(callstack)
-+        # output the OK-list
-+        for (align_before, field_name, type_obj, callstack, align_after) in self.ok_list:
-+            stacksize = len(callstack)
-             indent = '  ' * stacksize
--	    if self.ok_callstack_is_relevant(callstack):
-+            if self.ok_callstack_is_relevant(callstack):
-                 if field_name is None or field_name == "":
--	            result += ("    %sok: %s:\n\t%sbefore: %s, after: %s\n"
--		        % (indent, str(type_obj), indent, str(align_before), str(align_after)))
--	        else:
--		    result += ("    %sok: field \"%s\" in %s:\n\t%sbefore: %s, after: %s\n"
--		        % (indent, str(field_name), str(type_obj),
--		           indent, str(align_before), str(align_after)))
-+                    result += ("    %sok: %s:\n\t%sbefore: %s, after: %s\n"
-+                        % (indent, str(type_obj), indent, str(align_before), str(align_after)))
-+                else:
-+                    result += ("    %sok: field \"%s\" in %s:\n\t%sbefore: %s, after: %s\n"
-+                        % (indent, str(field_name), str(type_obj),
-+                           indent, str(align_before), str(align_after)))
-                 if self.verbosity >= 1:
--		    result += self.callstack_to_str(indent, callstack)
-+                    result += self.callstack_to_str(indent, callstack)
- 
--	# output the fail-list
--	for (align_before, field_name, type_obj, callstack, reason) in self.fail_list:
--	    stacksize = len(callstack)
-+        # output the fail-list
-+        for (align_before, field_name, type_obj, callstack, reason) in self.fail_list:
-+            stacksize = len(callstack)
-             indent = '  ' * stacksize
--	    if field_name is None or field_name == "":
--	        result += ("    %sfail: align %s is incompatible with\n\t%s%s\n\t%sReason: %s\n"
--		    % (indent, str(align_before), indent, str(type_obj), indent, reason))
--	    else:
--		result += ("    %sfail: align %s is incompatible with\n\t%sfield \"%s\" in %s\n\t%sReason: %s\n"
--		    % (indent, str(align_before), indent, str(field_name), str(type_obj), indent, reason))
-+            if field_name is None or field_name == "":
-+                result += ("    %sfail: align %s is incompatible with\n\t%s%s\n\t%sReason: %s\n"
-+                    % (indent, str(align_before), indent, str(type_obj), indent, reason))
-+            else:
-+                result += ("    %sfail: align %s is incompatible with\n\t%sfield \"%s\" in %s\n\t%sReason: %s\n"
-+                    % (indent, str(align_before), indent, str(field_name), str(type_obj), indent, reason))
- 
-             if self.verbosity >= 1:
--	        result += self.callstack_to_str(indent, callstack)
-+                result += self.callstack_to_str(indent, callstack)
- 
- 
--	return result
-+        return result
- 
- 
-     def callstack_to_str(self, indent, callstack):
-@@ -137,41 +137,41 @@ class AlignmentLog(object):
-         for stack_elem in callstack:
-             result += "\t  %s%s\n" % (indent, str(stack_elem))
-         result += "\t%s]\n" % indent
--	return result
-+        return result
- 
- 
-     def ok_callstack_is_relevant(self, ok_callstack):
-         # determine whether an ok callstack is relevant for logging
--	if self.verbosity >= 2:
--	    return True
-+        if self.verbosity >= 2:
-+            return True
- 
-         # empty callstacks are always relevant
--	if len(ok_callstack) == 0:
-+        if len(ok_callstack) == 0:
-             return True
- 
--	# check whether the ok_callstack is a subset or equal to a fail_callstack
-+        # check whether the ok_callstack is a subset or equal to a fail_callstack
-         for (align_before, field_name, type_obj, fail_callstack, reason) in self.fail_list:
-             if len(ok_callstack) <= len(fail_callstack):
-                 zipped = zip(ok_callstack, fail_callstack[:len(ok_callstack)])
--		is_subset = all([i == j for i, j in zipped])
--		if is_subset:
-+                is_subset = all([i == j for i, j in zipped])
-+                if is_subset:
-                     return True
- 
-         return False
- 
- 
-     def ok(self, align_before, field_name, type_obj, callstack, align_after):
--	self.ok_list.append((align_before, field_name, type_obj, callstack, align_after))
-+        self.ok_list.append((align_before, field_name, type_obj, callstack, align_after))
- 
-     def fail(self, align_before, field_name, type_obj, callstack, reason):
--	self.fail_list.append((align_before, field_name, type_obj, callstack, reason))
-+        self.fail_list.append((align_before, field_name, type_obj, callstack, reason))
- 
-     def append(self, other):
--	self.ok_list.extend(other.ok_list)
--	self.fail_list.extend(other.fail_list)
-+        self.ok_list.extend(other.ok_list)
-+        self.fail_list.extend(other.fail_list)
- 
-     def ok_count(self):
--	return len(self.ok_list)
-+        return len(self.ok_list)
- 
- 
- 
--- 
-cgit v0.10.2
-
diff --git a/x11-proto/xcb-proto/files/xcb-proto-1.12-print-is-a-function-and-needs-parentheses.patch b/x11-proto/xcb-proto/files/xcb-proto-1.12-print-is-a-function-and-needs-parentheses.patch
deleted file mode 100644
index fed0745..0000000
--- a/x11-proto/xcb-proto/files/xcb-proto-1.12-print-is-a-function-and-needs-parentheses.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From bea5e1c85bdc0950913790364e18228f20395a3d Mon Sep 17 00:00:00 2001
-From: Thomas Klausner <wiz@NetBSD.org>
-Date: Thu, 19 May 2016 17:30:05 +0200
-Subject: print() is a function and needs parentheses.
-
-Fixes build with python-3.x.
-
-Signed-off-by: Thomas Klausner <wiz@NetBSD.org>
-Signed-off-by: Uli Schlachter <psychon@znc.in>
-
-diff --git a/xcbgen/xtypes.py b/xcbgen/xtypes.py
-index c3b5758..b83b119 100644
---- a/xcbgen/xtypes.py
-+++ b/xcbgen/xtypes.py
-@@ -501,7 +501,7 @@ class ComplexType(Type):
-                 int(required_start_align_element.get('align', "4"), 0),
-                 int(required_start_align_element.get('offset', "0"), 0))
-             if verbose_align_log:
--                print "Explicit start-align for %s: %s\n" % (self, self.required_start_align)
-+                print ("Explicit start-align for %s: %s\n" % (self, self.required_start_align))
- 
-     def resolve(self, module):
-         if self.resolved:
-@@ -592,7 +592,7 @@ class ComplexType(Type):
-                 if verbose_align_log:
-                     print ("calc_required_start_align: %s has start-align %s"
-                         % (str(self), str(self.required_start_align)))
--                    print "Details:\n" + str(log)
-+                    print ("Details:\n" + str(log))
-                 if self.required_start_align.offset != 0:
-                     print (("WARNING: %s\n\thas start-align with non-zero offset: %s"
-                         + "\n\tsuggest to add explicit definition with:"
-@@ -619,12 +619,12 @@ class ComplexType(Type):
-             for offset in range(0,align):
-                 align_candidate = Alignment(align, offset)
-                 if verbose_align_log:
--                    print "trying %s for %s" % (str(align_candidate), str(self))
-+                    print ("trying %s for %s" % (str(align_candidate), str(self)))
-                 my_log = AlignmentLog()
-                 if self.is_possible_start_align(align_candidate, callstack, my_log):
-                     log.append(my_log)
-                     if verbose_align_log:
--                        print "found start-align %s for %s" % (str(align_candidate), str(self))
-+                        print ("found start-align %s for %s" % (str(align_candidate), str(self)))
-                     return align_candidate
-                 else:
-                     my_ok_count = my_log.ok_count()
-@@ -641,7 +641,7 @@ class ComplexType(Type):
-         # none of the candidates applies
-         # this type has illegal internal aligns for all possible start_aligns
-         if verbose_align_log:
--            print "didn't find start-align for %s" % str(self)
-+            print ("didn't find start-align for %s" % str(self))
-         log.append(best_log)
-         return None
- 
-@@ -900,7 +900,7 @@ class SwitchType(ComplexType):
-     # aux function for unchecked_get_alignment_after
-     def get_align_for_selected_case_field(self, case_field, start_align, callstack, log):
-         if verbose_align_log:
--            print "get_align_for_selected_case_field: %s, case_field = %s" % (str(self), str(case_field))
-+            print ("get_align_for_selected_case_field: %s, case_field = %s" % (str(self), str(case_field)))
-         total_align = start_align
-         for field in self.bitcases:
-             my_callstack = callstack[:]
--- 
-cgit v0.10.2
-
diff --git a/x11-proto/xcb-proto/files/xcb-proto-1.12-update-xml-schema.patch b/x11-proto/xcb-proto/files/xcb-proto-1.12-update-xml-schema.patch
deleted file mode 100644
index deb6673..0000000
--- a/x11-proto/xcb-proto/files/xcb-proto-1.12-update-xml-schema.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-From 95a262e0e66cd88b9d7a133917b3ba70ace77301 Mon Sep 17 00:00:00 2001
-From: Jon Turney <jon.turney@dronecode.org.uk>
-Date: Wed, 3 Feb 2016 16:41:57 +0000
-Subject: Update XML schema to fix 'make check'
-
-Here is an attempt at updating the schema to add serialize attribute to pad
-element and required_start_align element.
-
-Not sure if I've added required_start_align element in the right place. The
-default case in the switch element is removed as it doesn't seem to be used, and
-otherwise makes the schema ambiguous.
-
-$ make check
-Making check in src
-make[1]: Entering directory '/jhbuild/x86_64-pc-cygwin/build/xcb/proto/src'
-make  check-local
-make[2]: Entering directory '/jhbuild/x86_64-pc-cygwin/build/xcb/proto/src'
-/usr/bin/xmllint --noout --schema /jhbuild/checkout/xcb/proto/src/xcb.xsd
-/jhbuild/checkout/xcb/proto/src/*.xml
-/jhbuild/checkout/xcb/proto/src/bigreq.xml validates
-/jhbuild/checkout/xcb/proto/src/composite.xml validates
-/jhbuild/checkout/xcb/proto/src/damage.xml validates
-/jhbuild/checkout/xcb/proto/src/dpms.xml validates
-/jhbuild/checkout/xcb/proto/src/dri2.xml validates
-/jhbuild/checkout/xcb/proto/src/dri3.xml validates
-/jhbuild/checkout/xcb/proto/src/ge.xml validates
-Element 'required_start_align': This element is not expected. Expected is one of ( pad, field, list, fd ).
-Element 'required_start_align': This element is not expected. Expected is one of ( pad, field, list, fd ).
-Element 'required_start_align': This element is not expected. Expected is one of ( pad, field, list, fd ).
-Element 'required_start_align': This element is not expected. Expected is one of ( pad, field, list, fd ).
-/jhbuild/checkout/xcb/proto/src/glx.xml fails to validate
-Element 'required_start_align': This element is not expected. Expected is one of ( pad, field, list, fd, exprfield, switch, reply, doc ).
-Element 'required_start_align': This element is not expected. Expected is one of ( pad, field, list, fd, exprfield, switch, reply, doc ).
-Element 'required_start_align': This element is not expected. Expected is one of ( pad, field, list, fd, doc ).
-Element 'required_start_align': This element is not expected. Expected is one of ( pad, field, list, fd, doc ).
-/jhbuild/checkout/xcb/proto/src/present.xml fails to validate
-/jhbuild/checkout/xcb/proto/src/randr.xml validates
-/jhbuild/checkout/xcb/proto/src/record.xml validates
-/jhbuild/checkout/xcb/proto/src/render.xml validates
-/jhbuild/checkout/xcb/proto/src/res.xml validates
-/jhbuild/checkout/xcb/proto/src/screensaver.xml validates
-/jhbuild/checkout/xcb/proto/src/shape.xml validates
-/jhbuild/checkout/xcb/proto/src/shm.xml validates
-/jhbuild/checkout/xcb/proto/src/sync.xml validates
-/jhbuild/checkout/xcb/proto/src/xc_misc.xml validates
-/jhbuild/checkout/xcb/proto/src/xevie.xml validates
-/jhbuild/checkout/xcb/proto/src/xf86dri.xml validates
-/jhbuild/checkout/xcb/proto/src/xf86vidmode.xml validates
-/jhbuild/checkout/xcb/proto/src/xfixes.xml validates
-/jhbuild/checkout/xcb/proto/src/xinerama.xml validates
-Element 'required_start_align': This element is not expected. Expected is one of ( bitcase, case, pad, field, list, fd ).
-Element 'required_start_align': This element is not expected. Expected is one of ( bitcase, case, pad, field, list, fd ).
-Element 'required_start_align': This element is not expected. Expected is one of ( bitcase, case, pad, field, list, fd ).
-/jhbuild/checkout/xcb/proto/src/xinput.xml fails to validate
-Element 'pad', attribute 'serialize': The attribute 'serialize' is not allowed.
-Element 'pad', attribute 'serialize': The attribute 'serialize' is not allowed.
-Element 'pad', attribute 'serialize': The attribute 'serialize' is not allowed.
-Element 'pad', attribute 'serialize': The attribute 'serialize' is not allowed.
-Element 'pad', attribute 'serialize': The attribute 'serialize' is not allowed.
-/jhbuild/checkout/xcb/proto/src/xkb.xml fails to validate
-/jhbuild/checkout/xcb/proto/src/xprint.xml validates
-/jhbuild/checkout/xcb/proto/src/xproto.xml validates
-/jhbuild/checkout/xcb/proto/src/xselinux.xml validates
-/jhbuild/checkout/xcb/proto/src/xtest.xml validates
-/jhbuild/checkout/xcb/proto/src/xv.xml validates
-/jhbuild/checkout/xcb/proto/src/xvmc.xml validates
-Makefile:534: recipe for target 'check-local' failed
-
-Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
-Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95494
-Reviewd-by: Ran Benita <ran234@gmail.com>
-Signed-off-by: Uli Schlachter <psychon@znc.in>
-
-diff --git a/src/xcb.xsd b/src/xcb.xsd
-index c1dce3e..f0c5f44 100644
---- a/src/xcb.xsd
-+++ b/src/xcb.xsd
-@@ -44,6 +44,15 @@ authorization from the authors.
-     <xsd:complexType>
-       <xsd:attribute name="bytes" type="xsd:integer" use="optional" />
-       <xsd:attribute name="align" type="xsd:integer" use="optional" />
-+      <xsd:attribute name="serialize" type="xsd:boolean" use="optional" />
-+    </xsd:complexType>
-+  </xsd:element>
-+
-+  <!-- Alignment -->
-+  <xsd:element name="required_start_align" >
-+    <xsd:complexType>
-+      <xsd:attribute name="align" type="xsd:integer" use="required" />
-+      <xsd:attribute name="offset" type="xsd:integer" use="optional" />
-     </xsd:complexType>
-   </xsd:element>
- 
-@@ -76,14 +85,13 @@ authorization from the authors.
-     <xsd:sequence>
-       <!-- switch(expression) -->
-       <xsd:group ref="expression" minOccurs="1" maxOccurs="1" />
-+      <xsd:element ref="required_start_align" minOccurs="0" maxOccurs="1" />
-       <xsd:choice>
-         <!-- bitcase expression - bit test -->
-         <xsd:element name="bitcase" type="caseexpr" minOccurs="0" maxOccurs="unbounded" />
-         <!-- case expression - value test -->
-         <xsd:element name="case" type="caseexpr" minOccurs="0" maxOccurs="unbounded" />
-       </xsd:choice>
--      <!-- default: -->
--      <xsd:group ref="fields" minOccurs="0" maxOccurs="1" />
-     </xsd:sequence>
-     <xsd:attribute name="name" type="xsd:string" use="required" />
-   </xsd:complexType>
-@@ -201,6 +209,7 @@ authorization from the authors.
-       <xsd:element ref="field" />
-       <xsd:element ref="list" />
-       <xsd:element ref="fd" />
-+      <xsd:element ref="required_start_align" />
-     </xsd:choice>
-   </xsd:group>
- 
--- 
-cgit v0.10.2
-
diff --git a/x11-proto/xcb-proto/xcb-proto-1.12-r2.ebuild b/x11-proto/xcb-proto/xcb-proto-1.12-r2.ebuild
deleted file mode 100644
index a49cbb8..0000000
--- a/x11-proto/xcb-proto/xcb-proto-1.12-r2.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
-XORG_MULTILIB=yes
-
-inherit python-r1 xorg-2
-
-DESCRIPTION="X C-language Bindings protocol headers"
-HOMEPAGE="https://xcb.freedesktop.org/"
-EGIT_REPO_URI="https://anongit.freedesktop.org/git/xcb/proto.git"
-[[ ${PV} != 9999* ]] && \
-	SRC_URI="https://xcb.freedesktop.org/dist/${P}.tar.bz2"
-
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE=""
-
-RDEPEND="${PYTHON_DEPS}"
-DEPEND="${RDEPEND}
-	dev-libs/libxml2"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-PATCHES=(
-	"${FILESDIR}"/${P}-make-whitespace-usage-consistent.patch
-	"${FILESDIR}"/${P}-print-is-a-function-and-needs-parentheses.patch
-	"${FILESDIR}"/${P}-update-xml-schema.patch
-)
-
-src_configure() {
-	python_setup
-	xorg-2_src_configure
-}
-
-multilib_src_configure() {
-	autotools-utils_src_configure
-
-	if multilib_is_native_abi; then
-		python_foreach_impl autotools-utils_src_configure
-	fi
-}
-
-multilib_src_compile() {
-	default
-
-	if multilib_is_native_abi; then
-		python_foreach_impl autotools-utils_src_compile -C xcbgen \
-			top_builddir="${BUILD_DIR}"
-	fi
-}
-
-src_install() {
-	xorg-2_src_install
-
-	# pkg-config file hardcodes python sitedir, bug 486512
-	sed -i -e '/pythondir/s:=.*$:=/dev/null:' \
-		"${ED}"/usr/lib*/pkgconfig/xcb-proto.pc || die
-}
-
-multilib_src_install() {
-	default
-
-	if multilib_is_native_abi; then
-		python_foreach_impl autotools-utils_src_install -C xcbgen \
-			top_builddir="${BUILD_DIR}"
-	fi
-}
diff --git a/x11-proto/xcmiscproto/Manifest b/x11-proto/xcmiscproto/Manifest
deleted file mode 100644
index 558cdc9..0000000
--- a/x11-proto/xcmiscproto/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xcmiscproto-1.2.1.tar.bz2 101926 RMD160 f3259b96fac1e00534d29f93b8effd7717b04b41 SHA1 ff7ddb6e5698bf4461a524ca30f3b32e2a9dce8a SHA256 730e27e22bfb99409bc364233f3f766f5163de0cbf2edad33738cfdf55f04c15
diff --git a/x11-proto/xcmiscproto/metadata.xml b/x11-proto/xcmiscproto/metadata.xml
deleted file mode 100644
index 01c4c00..0000000
--- a/x11-proto/xcmiscproto/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<herd>x11</herd>
-</pkgmetadata>
diff --git a/x11-proto/xcmiscproto/xcmiscproto-1.2.1.ebuild b/x11-proto/xcmiscproto/xcmiscproto-1.2.1.ebuild
deleted file mode 100644
index 64a36e9..0000000
--- a/x11-proto/xcmiscproto/xcmiscproto-1.2.1.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-proto/xcmiscproto/xcmiscproto-1.2.1.ebuild,v 1.8 2011/02/14 14:32:25 xarthisius Exp $
-
-EAPI=3
-inherit xorg-2
-
-DESCRIPTION="X.Org XCMisc protocol headers"
-
-KEYWORDS="*"
-IUSE="doc"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
-	doc? ( app-text/xmlto )"
-
-pkg_setup() {
-	xorg-2_pkg_setup
-
-	CONFIGURE_OPTIONS="$(use_enable doc specs)
-		$(use_with doc xmlto)
-		--without-fop"
-}
diff --git a/x11-proto/xextproto/Manifest b/x11-proto/xextproto/Manifest
deleted file mode 100644
index 2350d6f..0000000
--- a/x11-proto/xextproto/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xextproto-7.3.0.tar.bz2 229310 SHA256 f3f4b23ac8db9c3a9e0d8edb591713f3d70ef9c3b175970dd8823dfc92aa5bb0 SHA512 238beed85fcf6fe5b0809e52814dd44fa45fe6868239990086cb8dd2c446292dd4794698abd07ed10bd146a7096c1679f7160da226f9e861dfaf6c8e22315d61 WHIRLPOOL ae113b48e79d540e3b5cb90a6d89e3f1fb6af139726153c31f0cbaeaf34fcad2cded56bf7dd2b2b3bbf1834d85df68abb7eb671ce2b67119ef4e194b30c4cd6f
diff --git a/x11-proto/xextproto/metadata.xml b/x11-proto/xextproto/metadata.xml
deleted file mode 100644
index e943b72..0000000
--- a/x11-proto/xextproto/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
-	<email>x11@gentoo.org</email>
-	<name>X11</name>
-</maintainer>
-</pkgmetadata>
diff --git a/x11-proto/xextproto/xextproto-7.3.0.ebuild b/x11-proto/xextproto/xextproto-7.3.0.ebuild
deleted file mode 100644
index 8d96070..0000000
--- a/x11-proto/xextproto/xextproto-7.3.0.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-XORG_DOC=doc
-XORG_MULTILIB=yes
-inherit xorg-2
-
-DESCRIPTION="X.Org XExt protocol headers"
-
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND="!<x11-libs/libXext-1.0.99"
-DEPEND="${RDEPEND}"
-
-pkg_setup() {
-	xorg-2_pkg_setup
-
-	XORG_CONFIGURE_OPTIONS=(
-		$(use_with doc xmlto)
-		--without-fop
-	)
-}
diff --git a/x11-proto/xf86bigfontproto/Manifest b/x11-proto/xf86bigfontproto/Manifest
deleted file mode 100644
index d34a3b6..0000000
--- a/x11-proto/xf86bigfontproto/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xf86bigfontproto-1.2.0.tar.bz2 49191 RMD160 847c3ecfe705ede5e9292586835d0fe2bc7ccf45 SHA1 312a2ea708b257520c1af4393b69d73a393a478f SHA256 ba9220e2c4475f5ed2ddaa7287426b30089e4d29bd58d35fad57ba5ea43e1648
diff --git a/x11-proto/xf86bigfontproto/metadata.xml b/x11-proto/xf86bigfontproto/metadata.xml
deleted file mode 100644
index 01c4c00..0000000
--- a/x11-proto/xf86bigfontproto/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<herd>x11</herd>
-</pkgmetadata>
diff --git a/x11-proto/xf86bigfontproto/xf86bigfontproto-1.2.0.ebuild b/x11-proto/xf86bigfontproto/xf86bigfontproto-1.2.0.ebuild
deleted file mode 100644
index b68405d..0000000
--- a/x11-proto/xf86bigfontproto/xf86bigfontproto-1.2.0.ebuild
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 1999-2010 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-proto/xf86bigfontproto/xf86bigfontproto-1.2.0.ebuild,v 1.12 2010/11/05 09:38:57 mduft Exp $
-
-EAPI=3
-inherit xorg-2
-
-DESCRIPTION="X.Org XF86BigFont protocol headers"
-
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND=""
-DEPEND="${RDEPEND}"
diff --git a/x11-proto/xf86dgaproto/Manifest b/x11-proto/xf86dgaproto/Manifest
deleted file mode 100644
index 75e622b..0000000
--- a/x11-proto/xf86dgaproto/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xf86dgaproto-2.1.tar.bz2 85934 RMD160 5fe5b3a2a8929c2a661b41fa733610917c7d74c5 SHA1 97a06120e7195c968875e8ba42e82c90ab54948b SHA256 ac5ef65108e1f2146286e53080975683dae49fc94680042e04bd1e2010e99050
diff --git a/x11-proto/xf86dgaproto/metadata.xml b/x11-proto/xf86dgaproto/metadata.xml
deleted file mode 100644
index 01c4c00..0000000
--- a/x11-proto/xf86dgaproto/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<herd>x11</herd>
-</pkgmetadata>
diff --git a/x11-proto/xf86dgaproto/xf86dgaproto-2.1.ebuild b/x11-proto/xf86dgaproto/xf86dgaproto-2.1.ebuild
deleted file mode 100644
index fa727c3..0000000
--- a/x11-proto/xf86dgaproto/xf86dgaproto-2.1.ebuild
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright 1999-2010 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-proto/xf86dgaproto/xf86dgaproto-2.1.ebuild,v 1.10 2010/08/02 18:14:35 armin76 Exp $
-
-inherit x-modular
-
-DESCRIPTION="X.Org XF86DGA protocol headers"
-
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND="!<x11-libs/libXxf86dga-1.0.99.1"
-DEPEND="${RDEPEND}"
diff --git a/x11-proto/xf86driproto/Manifest b/x11-proto/xf86driproto/Manifest
deleted file mode 100644
index 04ca4db..0000000
--- a/x11-proto/xf86driproto/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xf86driproto-2.1.1.tar.bz2 96528 RMD160 d7da476ce21b8e695d14e796daf1e25315798927 SHA1 23e861f40ba0f0cbbfd7db7ba2ef623762ffca17 SHA256 9c4b8d7221cb6dc4309269ccc008a22753698ae9245a398a59df35f1404d661f
diff --git a/x11-proto/xf86driproto/metadata.xml b/x11-proto/xf86driproto/metadata.xml
deleted file mode 100644
index 01c4c00..0000000
--- a/x11-proto/xf86driproto/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<herd>x11</herd>
-</pkgmetadata>
diff --git a/x11-proto/xf86driproto/xf86driproto-2.1.1.ebuild b/x11-proto/xf86driproto/xf86driproto-2.1.1.ebuild
deleted file mode 100644
index bdacb51..0000000
--- a/x11-proto/xf86driproto/xf86driproto-2.1.1.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-proto/xf86driproto/xf86driproto-2.1.1.ebuild,v 1.7 2011/03/05 17:50:36 xarthisius Exp $
-
-EAPI=3
-
-inherit xorg-2
-
-DESCRIPTION="X.Org XF86DRI protocol headers"
-
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND=""
-DEPEND="${RDEPEND}"
diff --git a/x11-proto/xf86rushproto/Manifest b/x11-proto/xf86rushproto/Manifest
deleted file mode 100644
index dd8dc98..0000000
--- a/x11-proto/xf86rushproto/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xf86rushproto-1.1.2.tar.bz2 37695 RMD160 2854318476fcc0faa52b0f9bee623504a2f25c22 SHA1 756838c1269412881f23727ac18dd088bb7ce183 SHA256 07d9b237541f2d6313b5b28f5335d987a766b36c87b133f77cc48f31d969a3ae
diff --git a/x11-proto/xf86rushproto/metadata.xml b/x11-proto/xf86rushproto/metadata.xml
deleted file mode 100644
index 01c4c00..0000000
--- a/x11-proto/xf86rushproto/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<herd>x11</herd>
-</pkgmetadata>
diff --git a/x11-proto/xf86rushproto/xf86rushproto-1.1.2-r1.ebuild b/x11-proto/xf86rushproto/xf86rushproto-1.1.2-r1.ebuild
deleted file mode 100644
index 56fc856..0000000
--- a/x11-proto/xf86rushproto/xf86rushproto-1.1.2-r1.ebuild
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-proto/xf86rushproto/xf86rushproto-1.1.2-r1.ebuild,v 1.8 2012/07/12 18:13:44 ranger Exp $
-
-EAPI=4
-inherit xorg-2
-
-DESCRIPTION="X.Org XF86Rush protocol headers"
-
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND=""
-DEPEND="${RDEPEND}"
diff --git a/x11-proto/xf86vidmodeproto/Manifest b/x11-proto/xf86vidmodeproto/Manifest
deleted file mode 100644
index 4ba2dfe..0000000
--- a/x11-proto/xf86vidmodeproto/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xf86vidmodeproto-2.3.1.tar.bz2 96822 RMD160 200a5911d46be3306a85d9684ac5aea695bfc653 SHA1 11d54c3210887631ea71e8f8030a77692e964fc4 SHA256 45d9499aa7b73203fd6b3505b0259624afed5c16b941bd04fcf123e5de698770
diff --git a/x11-proto/xf86vidmodeproto/metadata.xml b/x11-proto/xf86vidmodeproto/metadata.xml
deleted file mode 100644
index 01c4c00..0000000
--- a/x11-proto/xf86vidmodeproto/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<herd>x11</herd>
-</pkgmetadata>
diff --git a/x11-proto/xf86vidmodeproto/xf86vidmodeproto-2.3.1.ebuild b/x11-proto/xf86vidmodeproto/xf86vidmodeproto-2.3.1.ebuild
deleted file mode 100644
index 3b0bcea..0000000
--- a/x11-proto/xf86vidmodeproto/xf86vidmodeproto-2.3.1.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-proto/xf86vidmodeproto/xf86vidmodeproto-2.3.1.ebuild,v 1.7 2011/03/05 17:49:59 xarthisius Exp $
-
-EAPI=3
-
-inherit xorg-2
-
-DESCRIPTION="X.Org XF86VidMode protocol headers"
-
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND="!<x11-libs/libXxf86vm-1.0.99.1"
-DEPEND="${RDEPEND}"
diff --git a/x11-proto/xineramaproto/Manifest b/x11-proto/xineramaproto/Manifest
deleted file mode 100644
index d09440c..0000000
--- a/x11-proto/xineramaproto/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xineramaproto-1.2.1.tar.bz2 96239 RMD160 ec5d4878b93766bf9e12bf981f4b419db5fa5853 SHA1 818bffc16139d6e3de4344c83f00c495d3536753 SHA256 977574bb3dc192ecd9c55f59f991ec1dff340be3e31392c95deff423da52485b
diff --git a/x11-proto/xineramaproto/metadata.xml b/x11-proto/xineramaproto/metadata.xml
deleted file mode 100644
index 01c4c00..0000000
--- a/x11-proto/xineramaproto/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<herd>x11</herd>
-</pkgmetadata>
diff --git a/x11-proto/xineramaproto/xineramaproto-1.2.1.ebuild b/x11-proto/xineramaproto/xineramaproto-1.2.1.ebuild
deleted file mode 100644
index 4e011d6..0000000
--- a/x11-proto/xineramaproto/xineramaproto-1.2.1.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-proto/xineramaproto/xineramaproto-1.2.1.ebuild,v 1.7 2011/03/05 17:51:07 xarthisius Exp $
-
-EAPI=3
-
-inherit xorg-2
-
-DESCRIPTION="X.Org Xinerama protocol headers"
-
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND="!<x11-libs/libXinerama-1.0.99.1"
-DEPEND="${RDEPEND}"
diff --git a/x11-proto/xproto/Manifest b/x11-proto/xproto/Manifest
deleted file mode 100644
index 99b6c79..0000000
--- a/x11-proto/xproto/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xproto-7.0.31.tar.bz2 300356 SHA256 c6f9747da0bd3a95f86b17fb8dd5e717c8f3ab7f0ece3ba1b247899ec1ef7747 SHA512 bba6141525c21fd9a3cf210853658cc7af69f82e1ac15bacfffb9280efc3fe3c6fa708095b541b6f33f114c11e808bde8c8839ae63ff88e30963abdfac12702b WHIRLPOOL 7c7a5a31f74706d88201234e218171950af0b5011e44c79a1507ffd599c535b911b1490c3c3835bd865b0464d7e5b7a2f7fe07ebdde16126a5e479c09b17fc07
diff --git a/x11-proto/xproto/metadata.xml b/x11-proto/xproto/metadata.xml
deleted file mode 100644
index e943b72..0000000
--- a/x11-proto/xproto/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
-	<email>x11@gentoo.org</email>
-	<name>X11</name>
-</maintainer>
-</pkgmetadata>
diff --git a/x11-proto/xproto/xproto-7.0.31.ebuild b/x11-proto/xproto/xproto-7.0.31.ebuild
deleted file mode 100644
index 9a364b0..0000000
--- a/x11-proto/xproto/xproto-7.0.31.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-XORG_DOC=doc
-XORG_MULTILIB=yes
-inherit xorg-2
-
-DESCRIPTION="X.Org xproto protocol headers"
-KEYWORDS="*"
-IUSE=""
-
-RDEPEND=""
-DEPEND="${RDEPEND}"
-
-src_configure() {
-	XORG_CONFIGURE_OPTIONS=(
-		$(use_enable doc specs)
-		$(use_with doc xmlto)
-		--without-fop
-	)
-	xorg-2_src_configure
-}
