shaderc: added package from upstream

Added media-libs/shaderc to version 2020.6_pre20210327 on amd64,
arm

Changed the ebuild to allow python3.6, previously it was
>= 3.7

BUG=b:195262671
TEST=ran emerge, CQ passes

Change-Id: I4079a74fb187e6c6a3e54403651d6c20359ab69f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/overlays/portage-stable/+/3065955
Reviewed-by: Jim Pollock <jmpollock@chromium.org>
Tested-by: Michael Olney <mpolney@google.com>
Commit-Queue: Michael Olney <mpolney@google.com>
diff --git a/media-libs/shaderc/Manifest b/media-libs/shaderc/Manifest
new file mode 100644
index 0000000..6d7cd5f
--- /dev/null
+++ b/media-libs/shaderc/Manifest
@@ -0,0 +1,3 @@
+DIST shaderc-2020.5_pre20201216.tar.gz 220278 BLAKE2B 9565873bd1d85c2800b26ba821da8044aecf7ef7268b4843570b18bfbe07e0c9891b4f67b3ef58d7ac0813a2ca306ec2af8ef8bacb15047903d2d9bd1b723b6f SHA512 6b133b83f300c09408efa61f56b299b5ee3900fb739f2ada37e0ee3b8af4bf50423f0f9ca9a637d845bb02eeb61347456ddae9d616b5e46d2e481994ca3d35f3
+DIST shaderc-2020.6_pre20210327.tar.gz 220258 BLAKE2B 5f3321d7bea0a39bec865cf3c6b25baba82068ecea6a5272a4c1e3432bb9f1c0062c1bcf9a57bac1e92dcd382dfb0837a03bbe434d19e83b755dc5da16e2f1dd SHA512 07f4a49faed28f23fb2f7b33c804c9909617e362f8046d6cafaaf3c74d6453ac53ea3f848dde8d2164a8827375e492c4fc544d7b9276c3e7ca80cae4baf1b47c
+DIST shaderc-2021.0.tar.gz 220308 BLAKE2B 7178b99ce726f73e4eee2eb1b81b9575cf5a97a1d29bf0ed6a64ffde1095f91e14ae2c7f62d21f33bf2f7551e94b6d3e3c8fd149446899276a67d7df33a8e679 SHA512 cec230949f98589eef2532b02048e3d1b4a2c07ceff1043bfe5b30cdbd3511cdfcbb625cc115d9cfa52252b20a486e146db7e2e1944d89f9371811d64f9f675c
diff --git a/media-libs/shaderc/OWNERS b/media-libs/shaderc/OWNERS
new file mode 100644
index 0000000..23e599c
--- /dev/null
+++ b/media-libs/shaderc/OWNERS
@@ -0,0 +1,4 @@
+avg@google.com
+jmpollock@google.com
+mpolney@google.com
+slangley@google.com
diff --git a/media-libs/shaderc/files/shaderc-2020.4-fix-build.patch b/media-libs/shaderc/files/shaderc-2020.4-fix-build.patch
new file mode 100644
index 0000000..93f8252
--- /dev/null
+++ b/media-libs/shaderc/files/shaderc-2020.4-fix-build.patch
@@ -0,0 +1,13 @@
+diff --git a/libshaderc_util/src/compiler.cc b/libshaderc_util/src/compiler.cc
+index c5ce37e..4703634 100644
+--- a/libshaderc_util/src/compiler.cc
++++ b/libshaderc_util/src/compiler.cc
+@@ -20,7 +20,7 @@
+ #include <thread>
+ #include <tuple>
+ 
+-#include "SPIRV/GlslangToSpv.h"
++#include "glslang/SPIRV/GlslangToSpv.h"
+ #include "libshaderc_util/format.h"
+ #include "libshaderc_util/io.h"
+ #include "libshaderc_util/message.h"
diff --git a/media-libs/shaderc/metadata.xml b/media-libs/shaderc/metadata.xml
new file mode 100644
index 0000000..b63343c
--- /dev/null
+++ b/media-libs/shaderc/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+  <maintainer type="person">
+    <email>sarnex@gentoo.org</email>
+    <name>Nick Sarnie</name>
+  </maintainer>  
+  <upstream>
+    <remote-id type="github">google/shaderc</remote-id>
+  </upstream>
+</pkgmetadata>
diff --git a/media-libs/shaderc/shaderc-2020.6_pre20210327.ebuild b/media-libs/shaderc/shaderc-2020.6_pre20210327.ebuild
new file mode 100644
index 0000000..f9f3d55
--- /dev/null
+++ b/media-libs/shaderc/shaderc-2020.6_pre20210327.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python{3_6,3_7,3_8,3_9} )
+
+CMAKE_ECLASS=cmake
+
+inherit cmake-multilib python-any-r1
+
+DESCRIPTION="Collection of tools, libraries and tests for shader compilation"
+HOMEPAGE="https://github.com/google/shaderc"
+EGIT_COMMIT="3fe94c6a76d2b617e7fb20fdf3cde98001a274e3"
+SRC_URI="https://github.com/google/${PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${EGIT_COMMIT}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="*"
+IUSE="doc test"
+
+RDEPEND="
+	>=dev-util/glslang-11.2.0[${MULTILIB_USEDEP}]
+	>=dev-util/spirv-tools-2021.0_pre20210327[${MULTILIB_USEDEP}]
+"
+DEPEND="${RDEPEND}
+	${PYTHON_DEPS}
+	>=dev-util/spirv-headers-1.5.4.2_pre20210327
+	doc? ( dev-ruby/asciidoctor )
+	test? (
+		dev-cpp/gtest
+		$(python_gen_any_dep 'dev-python/nose[${PYTHON_USEDEP}]')
+	)
+"
+
+PATCHES=(
+		"${FILESDIR}"/${PN}-2020.4-fix-build.patch
+)
+
+# https://github.com/google/shaderc/issues/470
+RESTRICT=test
+
+python_check_deps() {
+	if use test; then
+		has_version --host-root "dev-python/nose[${PYTHON_USEDEP}]"
+	fi
+}
+
+src_prepare() {
+	cmake_comment_add_subdirectory examples
+
+	# Unbundle glslang, spirv-headers, spirv-tools
+	cmake_comment_add_subdirectory third_party
+	sed -i \
+		-e "s|\$<TARGET_FILE:spirv-dis>|${EPREFIX}/usr/bin/spirv-dis|" \
+		glslc/test/CMakeLists.txt || die
+
+	# Disable git versioning
+	sed -i -e '/build-version/d' glslc/CMakeLists.txt || die
+
+	# Manually create build-version.inc as we disabled git versioning
+	cat <<- EOF > glslc/src/build-version.inc || die
+		"${P}\n"
+		"$(best_version dev-util/spirv-tools)\n"
+		"$(best_version dev-util/glslang)\n"
+	EOF
+
+	cmake_src_prepare
+}
+
+multilib_src_configure() {
+	local mycmakeargs=(
+		-DSHADERC_SKIP_TESTS="$(usex !test)"
+		-DSHADERC_ENABLE_WERROR_COMPILE="false"
+	)
+	cmake_src_configure
+}
+
+multilib_src_compile() {
+	if multilib_is_native_abi && use doc; then
+		cmake_src_compile glslc_doc_README
+	fi
+	cmake_src_compile
+}
+
+multilib_src_install() {
+	if multilib_is_native_abi; then
+		use doc && local HTML_DOCS=( "${BUILD_DIR}/glslc/README.html" )
+	fi
+	cmake_src_install
+}