mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
dev-util/vulkan-tools: Fix build without X
Added the cube and vulkaninfo USE flags Vulkaninfo does not support wayland upstream If X is set at all, XCB will be used Thanks to hanetzer in #gentoo-desktop for testing Fixes: https://bugs.gentoo.org/660694 Package-Manager: Portage-2.3.42, Repoman-2.3.9
This commit is contained in:
@@ -9,6 +9,10 @@
|
||||
<email>sarnex@gentoo.org</email>
|
||||
<name>Nick Sarnie</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="cube">Build the cube/cubepp demos</flag>
|
||||
<flag name="vulkaninfo">Build the vulkaninfo utility</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<remote-id type="github">KhronosGroup/Vulkan-Tools</remote-id>
|
||||
</upstream>
|
||||
|
||||
@@ -22,7 +22,7 @@ HOMEPAGE="https://github.com/KhronosGroup/Vulkan-Tools"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="X wayland"
|
||||
IUSE="+cube +vulkaninfo X wayland"
|
||||
|
||||
# Old packaging will cause file collisions
|
||||
RDEPEND="!<=media-libs/vulkan-loader-1.1.70.0-r999"
|
||||
@@ -36,9 +36,15 @@ DEPEND="${PYTHON_DEPS}
|
||||
x11-libs/libXrandr:=[${MULTILIB_USEDEP}]
|
||||
)"
|
||||
|
||||
# Vulkaninfo does not support wayland
|
||||
REQUIRED_USE="|| ( X wayland )
|
||||
vulkaninfo? ( X )"
|
||||
|
||||
multilib_src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DCMAKE_SKIP_RPATH=True
|
||||
-DBUILD_CUBE=$(usex cube)
|
||||
-DBUILD_VULKANINFO=$(usex vulkaninfo)
|
||||
-DBUILD_WSI_MIR_SUPPORT=False
|
||||
-DBUILD_WSI_WAYLAND_SUPPORT=$(usex wayland)
|
||||
-DBUILD_WSI_XCB_SUPPORT=$(usex X)
|
||||
@@ -46,6 +52,25 @@ multilib_src_configure() {
|
||||
-DGLSLANG_INSTALL_DIR="/usr"
|
||||
-DVULKAN_HEADERS_INSTALL_DIR="/usr"
|
||||
)
|
||||
|
||||
# Upstream only supports one window system at a time
|
||||
# If X is set at all, even if wayland is set, use X
|
||||
#
|
||||
# If -cube and/or -vulkaninfo is set, the flags we set
|
||||
# are ignored, so we don't need to consider that
|
||||
if use X; then
|
||||
mycmakeargs+=(
|
||||
-DCUBE_WSI_SELECTION="XCB"
|
||||
-DVULKANINFO_WSI_SELECTION="XCB"
|
||||
)
|
||||
fi
|
||||
|
||||
if ! use X && use wayland; then
|
||||
mycmakeargs+=(
|
||||
-DCUBE_WSI_SELECTION="WAYLAND"
|
||||
)
|
||||
fi
|
||||
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ HOMEPAGE="https://github.com/KhronosGroup/Vulkan-Tools"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="X wayland"
|
||||
IUSE="+cube +vulkaninfo X wayland"
|
||||
|
||||
# Old packaging will cause file collisions
|
||||
RDEPEND="!<=media-libs/vulkan-loader-1.1.70.0-r999"
|
||||
@@ -36,9 +36,15 @@ DEPEND="${PYTHON_DEPS}
|
||||
x11-libs/libXrandr:=[${MULTILIB_USEDEP}]
|
||||
)"
|
||||
|
||||
# Vulkaninfo does not support wayland
|
||||
REQUIRED_USE="|| ( X wayland )
|
||||
vulkaninfo? ( X )"
|
||||
|
||||
multilib_src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DCMAKE_SKIP_RPATH=True
|
||||
-DBUILD_CUBE=$(usex cube)
|
||||
-DBUILD_VULKANINFO=$(usex vulkaninfo)
|
||||
-DBUILD_WSI_MIR_SUPPORT=False
|
||||
-DBUILD_WSI_WAYLAND_SUPPORT=$(usex wayland)
|
||||
-DBUILD_WSI_XCB_SUPPORT=$(usex X)
|
||||
@@ -46,5 +52,35 @@ multilib_src_configure() {
|
||||
-DGLSLANG_INSTALL_DIR="/usr"
|
||||
-DVULKAN_HEADERS_INSTALL_DIR="/usr"
|
||||
)
|
||||
|
||||
# Upstream only supports one window system at a time
|
||||
# If X is set at all, even if wayland is set, use X
|
||||
#
|
||||
# If -cube and/or -vulkaninfo is set, the flags we set
|
||||
# are ignored, so we don't need to consider that
|
||||
if use X; then
|
||||
mycmakeargs+=(
|
||||
-DCUBE_WSI_SELECTION="XCB"
|
||||
-DVULKANINFO_WSI_SELECTION="XCB"
|
||||
)
|
||||
fi
|
||||
|
||||
if ! use X && use wayland; then
|
||||
mycmakeargs+=(
|
||||
-DCUBE_WSI_SELECTION="WAYLAND"
|
||||
)
|
||||
fi
|
||||
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
default
|
||||
mv "${ED%/}"/usr/bin/cube "${ED%/}"/usr/bin/vulkancube || die
|
||||
mv "${ED%/}"/usr/bin/cubepp "${ED%/}"/usr/bin/vulkancubecpp || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
einfo "The cube and cubepp demos have been renamed to"
|
||||
einfo "vulkancube and vulkancubecpp to prevent collisions"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user