| # Copyright 1999-2022 Gentoo Authors |
| # Distributed under the terms of the GNU General Public License v2 |
| |
| EAPI=7 |
| |
| MY_PN=Vulkan-Loader |
| CMAKE_ECLASS="cmake" |
| inherit flag-o-matic cmake-multilib toolchain-funcs |
| |
| if [[ ${PV} == *9999* ]]; then |
| EGIT_REPO_URI="https://github.com/KhronosGroup/${MY_PN}.git" |
| EGIT_SUBMODULES=() |
| inherit git-r3 |
| else |
| SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/sdk-${PV}.tar.gz -> ${P}.tar.gz" |
| KEYWORDS="*" |
| S="${WORKDIR}"/${MY_PN}-sdk-${PV} |
| fi |
| |
| DESCRIPTION="Vulkan Installable Client Driver (ICD) Loader" |
| HOMEPAGE="https://github.com/KhronosGroup/Vulkan-Loader" |
| |
| LICENSE="Apache-2.0" |
| SLOT="0" |
| IUSE="layers wayland X" |
| |
| BDEPEND=">=dev-util/cmake-3.10.2" |
| DEPEND=" |
| ~dev-util/vulkan-headers-${PV} |
| wayland? ( dev-libs/wayland:=[${MULTILIB_USEDEP}] ) |
| X? ( |
| x11-libs/libX11:=[${MULTILIB_USEDEP}] |
| x11-libs/libXrandr:=[${MULTILIB_USEDEP}] |
| ) |
| " |
| PDEPEND="layers? ( media-libs/vulkan-layers:=[${MULTILIB_USEDEP}] )" |
| |
| multilib_src_configure() { |
| # Integrated clang assembler doesn't work with x86 - Bug #698164 |
| if tc-is-clang && [[ ${ABI} == x86 ]]; then |
| append-cflags -fno-integrated-as |
| fi |
| |
| local mycmakeargs=( |
| -DCMAKE_C_FLAGS="${CFLAGS} -DNDEBUG" |
| -DCMAKE_CXX_FLAGS="${CXXFLAGS} -DNDEBUG" |
| -DCMAKE_SKIP_RPATH=ON |
| -DBUILD_TESTS=OFF |
| -DBUILD_WSI_WAYLAND_SUPPORT=$(usex wayland) |
| -DBUILD_WSI_XCB_SUPPORT=$(usex X) |
| -DBUILD_WSI_XLIB_SUPPORT=$(usex X) |
| -DVULKAN_HEADERS_INSTALL_DIR="${ESYSROOT}/usr" |
| ) |
| # CHROMIUM (b/201531268): Enable LFS. |
| append-lfs-flags |
| cmake_src_configure |
| } |
| |
| multilib_src_install() { |
| keepdir /etc/vulkan/icd.d |
| |
| cmake_src_install |
| } |
| |
| pkg_postinst() { |
| einfo "USE=demos has been dropped as per upstream packaging" |
| einfo "vulkaninfo is now available in the dev-util/vulkan-tools package" |
| } |