dev-python: Add clang-python to chromiumos-overlay

clang-python from portage-stable currently depends on
sys-devel/clang
which is the "empty" package.
Dependency should change to sys-devel/llvm.

The chain of changes moves sys-devel/clang to chromiumos-overlay to
allow the change.

BUG=chromium:1028424
TEST=sudo emerge sys-devel/clang-python

Change-Id: Ic4b958d45c7d57cfde00fe639803c3f8d515e140
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/overlays/chromiumos-overlay/+/2070651
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Queue: Denis Nikitin <denik@chromium.org>
Tested-by: Denis Nikitin <denik@chromium.org>
diff --git a/dev-python/clang-python/Manifest b/dev-python/clang-python/Manifest
new file mode 100644
index 0000000..18a8f33
--- /dev/null
+++ b/dev-python/clang-python/Manifest
@@ -0,0 +1 @@
+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-r1.ebuild b/dev-python/clang-python/clang-python-7.0.0-r1.ebuild
new file mode 100644
index 0000000..a8aa7ed
--- /dev/null
+++ b/dev-python/clang-python/clang-python-7.0.0-r1.ebuild
@@ -0,0 +1,53 @@
+# 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
new file mode 100644
index 0000000..824da55
--- /dev/null
+++ b/dev-python/clang-python/files/7.0.0/0001-python-tests-Update-test_code_completion.patch
@@ -0,0 +1,33 @@
+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
new file mode 100644
index 0000000..89c4bdb
--- /dev/null
+++ b/dev-python/clang-python/metadata.xml
@@ -0,0 +1,7 @@
+<?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>