diff options
Diffstat (limited to 'media-libs/shaderc')
-rw-r--r-- | media-libs/shaderc/Manifest | 1 | ||||
-rw-r--r-- | media-libs/shaderc/shaderc-2022.1-r2.ebuild | 92 |
2 files changed, 93 insertions, 0 deletions
diff --git a/media-libs/shaderc/Manifest b/media-libs/shaderc/Manifest index 68189969fadf..c558870b5a48 100644 --- a/media-libs/shaderc/Manifest +++ b/media-libs/shaderc/Manifest @@ -1,4 +1,5 @@ AUX shaderc-2020.4-fix-build.patch 424 BLAKE2B 6d8760ef64bf9f4d6e291d7b3b37735573b1cf43f510870a43f8169a6ea1909d72c1b3d7c0fb295733c07f6e626d4b148ca2deb384d7aae4554c8da01482b930 SHA512 95cbd65997146c3ba018c81d49f90a7713f99f5bc86b6c30d6c83ca9bb139309df763d325b75c9b1d02ca60ed3bddd003eb08e64e3856867bc15d58c620341ed DIST shaderc-2022.1.tar.gz 222009 BLAKE2B c6707699a49c130b2669620e11f52862790999954a84b05f9f54d238fb0ae68e2523cc4b86104b3d4bce4528db31be89e441b278a97a375b90d7e0f458075f51 SHA512 21c2462cb434d94da87c71ba660f6cd5b161450d7faeff8789b41db25e64f2baa7c560e78aa856d128c5a73699215d6b1085b5ca19a4640237adf194793ad44b EBUILD shaderc-2022.1-r1.ebuild 2104 BLAKE2B 4804181cd83601ecd542de5d80598d9e5066973fd64d5b848d487657185de002aabb3141d7d6779df85899093734126a2f4507eca1d9562fa45cf3cf2ea26e28 SHA512 8386390f27797f855254cf79b81d192e7322e93054b77c3b14ec41645e8b7f75f0b916ecf8f81180a404ef796832a08be5647111899248ec24f111b85687cf61 +EBUILD shaderc-2022.1-r2.ebuild 2107 BLAKE2B 09019dd0d66d341f596b283b96cda333c862d9d7b8240f46b33abf84a2e71de74bb455c585630006585a1ba07058c95dee1572783ff639c320822115eae5a2aa SHA512 673e001db812123fcd89f0cbe3fcdc9e89ed00720c58ac986e246439f867634246ca3e47df9b5bb582096443af2c7c658898faaa7ecfe2783e066b2fc568481c MISC metadata.xml 336 BLAKE2B 5dbc5d2e5dc2e389582376ea40375fed6b20e766cd59415f8f23fd81af9abac9c07379f341dff21901fc5934920c6534c525452c67aa606783350b84f071c88e SHA512 b72710b6ca796b364037d6c8646b0760688ee06a3854ae74dfff15d902dd7a2d94ba9872c42110e9e8e005ef8cc443b89108553fc11b79c1b5872daeff7b0f70 diff --git a/media-libs/shaderc/shaderc-2022.1-r2.ebuild b/media-libs/shaderc/shaderc-2022.1-r2.ebuild new file mode 100644 index 000000000000..510a9ffae13b --- /dev/null +++ b/media-libs/shaderc/shaderc-2022.1-r2.ebuild @@ -0,0 +1,92 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8..10} ) + +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="${PV}" +SRC_URI="https://github.com/google/${PN}/archive/v${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-${EGIT_COMMIT}" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~ppc64 ~x86" +IUSE="doc test" + +RDEPEND=" + >=dev-util/glslang-1.3.216[${MULTILIB_USEDEP}] + >=dev-util/spirv-tools-1.3.216[${MULTILIB_USEDEP}] +" +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + >=dev-util/spirv-headers-1.3.216 + 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 +} |