# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 PYTHON_COMPAT=( python{3_6,3_7,3_8} ) inherit cmake-multilib python-any-r1 DESCRIPTION="Collection of tools, libraries and tests for shader compilation" HOMEPAGE="https://github.com/google/shaderc" SNAPSHOT_COMMIT="f175adffa9d2da6ae18a5f8d54e7b5f27df0f1c2" SRC_URI="https://github.com/google/${PN}/archive/${SNAPSHOT_COMMIT}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/${PN}-${SNAPSHOT_COMMIT}" LICENSE="Apache-2.0" SLOT="0" KEYWORDS="~amd64 ~ppc64 ~x86" IUSE="doc test" RDEPEND=" >=dev-util/glslang-8.13.3560_pre20200404[${MULTILIB_USEDEP}] >=dev-util/spirv-tools-2019.10_pre20191027[${MULTILIB_USEDEP}] " DEPEND="${RDEPEND} ${PYTHON_DEPS} >=dev-util/spirv-headers-1.5.1 doc? ( dev-ruby/asciidoctor ) test? ( dev-cpp/gtest $(python_gen_any_dep 'dev-python/nose[${PYTHON_USEDEP}]') ) " # 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|\$|${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-utils_src_prepare } multilib_src_configure() { local mycmakeargs=( -DSHADERC_SKIP_TESTS="$(usex !test)" ) cmake-utils_src_configure } multilib_src_compile() { if multilib_is_native_abi && use doc; then cmake-utils_src_make glslc_doc_README fi cmake-utils_src_compile } multilib_src_install() { if multilib_is_native_abi; then use doc && local HTML_DOCS=( "${BUILD_DIR}/glslc/README.html" ) fi cmake-utils_src_install }