# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 PYTHON_COMPAT=( python3_{4,5,6} ) EGIT_REPO_URI="https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers.git" inherit python-any-r1 cmake-multilib git-r3 DESCRIPTION="Vulkan Installable Client Driver (ICD) Loader" HOMEPAGE="https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers" LICENSE="Apache-2.0" SLOT="0" IUSE="+layers wayland X vulkaninfo" RDEPEND="" DEPEND="${PYTHON_DEPS} wayland? ( dev-libs/wayland:=[${MULTILIB_USEDEP}] ) X? ( x11-libs/libX11:=[${MULTILIB_USEDEP}] ) dev-util/SPIRV-Tools dev-util/glslang " src_unpack(){ git-r3_src_unpack mkdir -p external/glslang EGIT_REPO_URI="https://github.com/KhronosGroup/glslang.git" EGIT_CHECKOUT_DIR=${WORKDIR}/${P}/external/glslang git-r3_src_unpack mkdir -p external/glslang/External/spirv-tools/ EGIT_REPO_URI="https://github.com/KhronosGroup/SPIRV-Tools" EGIT_CHECKOUT_DIR=${WORKDIR}/${P}/external/glslang/External/spirv-tools git-r3_src_unpack mkdir -p external/glslang/External/spirv-headers/ EGIT_REPO_URI="https://github.com/KhronosGroup/SPIRV-Headers" EGIT_CHECKOUT_DIR=${WORKDIR}/${P}/external/glslang/External/spirv-headers git-r3_src_unpack } multilib_src_configure() { # if [[ ${ABI} == x86 ]]; then # export ASFLAGS="--32" # fi local mycmakeargs=( -DCMAKE_SKIP_RPATH=True -DBUILD_TESTS=False -DBUILD_LAYERS=False -DBUILD_DEMOS=False -DBUILD_VKJSON=False -DBUILD_LOADER=True -DBUILD_WSI_MIR_SUPPORT=False -DBUILD_WSI_WAYLAND_SUPPORT=$(usex wayland) -DBUILD_WSI_XCB_SUPPORT=$(usex X) -DBUILD_WSI_XLIB_SUPPORT=$(usex X) -DBUILD_LAYERS=$(usex layers) # Build all demos to get vulkaninfo -DBUILD_DEMOS=$(usex vulkaninfo) -DCMAKE_C_FLAGS="${CFLAGS}" -DCMAKE_CXX_FLAGS="${CXXFLAGS}" -DCMAKE_LD_FLAGS="${LDFLAGS}" ) cmake-utils_src_configure if [[ ${ABI} == x86 ]]; then unset ASFLAGS fi } multilib_src_install() { dolib.so loader/libvulkan.so* dolib.so layers/*.so dolib.so *.so if multilib_is_native_abi; then use vulkaninfo && dobin demos/vulkaninfo insinto /usr/$(get_libdir)/pkgconfig/ doins loader/vulkan.pc fi } multilib_src_install_all() { keepdir /etc/vulkan/icd.d cd "${S}" insinto /usr/include/vulkan doins include/vulkan/*.h insinto /usr/share/vulkan/explicit_layer.d doins layers/linux/*.json einstalldocs }