diff --git a/dev-python/clang-python/Manifest b/dev-python/clang-python/Manifest
deleted file mode 100644
index 18a8f33..0000000
--- a/dev-python/clang-python/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST cfe-7.0.0.src.tar.xz 12541904 SHA256 550212711c752697d2f82c648714a7221b1207fd9441543ff4aa9e3be45bba55 SHA512 17a658032a0160c57d4dc23cb45a1516a897e0e2ba4ebff29472e471feca04c5b68cff351cdf231b42aab0cff587b84fe11b921d1ca7194a90e6485913d62cb7 WHIRLPOOL 499a5285d0b943f2060cc0b60a480fda40e847dbc243e7e88ade6ff57c40b9962ec2e32dcbab048a2da9583d671d671bc37c0582a9a20056a3673ef7fcc15079
diff --git a/dev-python/clang-python/clang-python-7.0.0.ebuild b/dev-python/clang-python/clang-python-7.0.0.ebuild
deleted file mode 100644
index a8aa7ed..0000000
--- a/dev-python/clang-python/clang-python-7.0.0.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6,3_7} )
-inherit python-r1
-
-MY_P=cfe-${PV/_/}.src
-DESCRIPTION="Python bindings for sys-devel/clang"
-HOMEPAGE="https://llvm.org/"
-SRC_URI="https://releases.llvm.org/${PV/_//}/${MY_P}.tar.xz"
-
-LICENSE="UoI-NCSA"
-SLOT="0"
-KEYWORDS="*"
-IUSE="test"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-# The module is opening libclang.so directly, and doing some blasphemy
-# on top of it.
-RDEPEND="
-	>=sys-devel/clang-${PV}:*
-	!sys-devel/llvm:0[clang(-),python(-)]
-	!sys-devel/clang:0[python(-)]
-	${PYTHON_DEPS}"
-DEPEND="${RDEPEND}"
-
-S=${WORKDIR}/${MY_P}/bindings/python
-
-PATCHES=(
-	# update completion test results due to completion changes
-	# https://reviews.llvm.org/D50171
-	"${FILESDIR}"/7.0.0/0001-python-tests-Update-test_code_completion.patch
-)
-
-src_unpack() {
-	einfo "Unpacking parts of ${MY_P}.tar.xz ..."
-	tar -xJf "${DISTDIR}/${MY_P}.tar.xz" "${MY_P}/bindings/python" || die
-}
-
-python_test() {
-	"${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}"
-}
-
-src_test() {
-	python_foreach_impl python_test
-}
-
-src_install() {
-	python_foreach_impl python_domodule clang
-}
diff --git a/dev-python/clang-python/files/7.0.0/0001-python-tests-Update-test_code_completion.patch b/dev-python/clang-python/files/7.0.0/0001-python-tests-Update-test_code_completion.patch
deleted file mode 100644
index 824da55..0000000
--- a/dev-python/clang-python/files/7.0.0/0001-python-tests-Update-test_code_completion.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From c083c4bbe436bb0db520998e035ec384dd87e0ad Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Thu, 2 Aug 2018 10:25:10 +0200
-Subject: [PATCH] [python] [tests] Update test_code_completion
-
-Update expected completions to match output generated by clang-7.0.
----
- bindings/python/tests/cindex/test_code_completion.py | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/bindings/python/tests/cindex/test_code_completion.py b/bindings/python/tests/cindex/test_code_completion.py
-index a56bb304cd..efc7912c91 100644
---- a/tests/cindex/test_code_completion.py
-+++ b/tests/cindex/test_code_completion.py
-@@ -61,11 +61,11 @@ void f(P x, Q y) {
-         cr = tu.codeComplete('fake.cpp', 12, 5, unsaved_files=files)
- 
-         expected = [
--          "{'const', TypedText} || Priority: 40 || Availability: Available || Brief comment: None",
--          "{'volatile', TypedText} || Priority: 40 || Availability: Available || Brief comment: None",
-+          "{'const', TypedText} || Priority: 50 || Availability: Available || Brief comment: None",
-+          "{'volatile', TypedText} || Priority: 50 || Availability: Available || Brief comment: None",
-           "{'operator', TypedText} || Priority: 40 || Availability: Available || Brief comment: None",
--          "{'P', TypedText} | {'::', Text} || Priority: 75 || Availability: Available || Brief comment: None",
--          "{'Q', TypedText} | {'::', Text} || Priority: 75 || Availability: Available || Brief comment: None"
-+          "{'P', TypedText} || Priority: 50 || Availability: Available || Brief comment: None",
-+          "{'Q', TypedText} || Priority: 50 || Availability: Available || Brief comment: None"
-         ]
-         self.check_completion_results(cr, expected)
- 
--- 
-2.19.0
-
diff --git a/dev-python/clang-python/metadata.xml b/dev-python/clang-python/metadata.xml
deleted file mode 100644
index 89c4bdb..0000000
--- a/dev-python/clang-python/metadata.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-	<maintainer type="project">
-		<email>llvm@gentoo.org</email>
-	</maintainer>
-</pkgmetadata>
