blob: 614c1a9bbc5089b4938db51730db6e07ec8b7a6e [file] [log] [blame] [edit]
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MY_PN=Vulkan-Loader
CMAKE_ECLASS="cmake-utils"
CMAKE_MAKEFILE_GENERATOR="emake"
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/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="*"
S="${WORKDIR}"/${MY_PN}-${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}] )"
PATCHES=(
"${FILESDIR}"/CHROMIUM-Fix-cross-compilation.patch
)
src_prepare() {
cmake-utils_src_prepare
}
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_SKIP_RPATH=ON
-DBUILD_TESTS=OFF
-DBUILD_LOADER=ON
-DBUILD_WSI_WAYLAND_SUPPORT=$(usex wayland)
-DBUILD_WSI_XCB_SUPPORT=$(usex X)
-DBUILD_WSI_XLIB_SUPPORT=$(usex X)
-DVULKAN_HEADERS_INSTALL_DIR="${ESYSROOT}/usr"
)
cmake-utils_src_configure
}
multilib_src_install() {
keepdir /etc/vulkan/icd.d
cmake-utils_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"
}