summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Sarnie <sarnex@gentoo.org>2018-07-11 20:33:08 -0400
committerNick Sarnie <sarnex@gentoo.org>2018-07-11 20:42:40 -0400
commit762ab8535fc247cbef6cb607c7ebca2e468c8c2d (patch)
tree75e4c98e6e84a60d520b9a78ff72df9a80759b19 /dev-util
parentsys-fs/zerofree: Drop old (EAPI=4) (diff)
downloadgentoo-762ab8535fc247cbef6cb607c7ebca2e468c8c2d.tar.gz
gentoo-762ab8535fc247cbef6cb607c7ebca2e468c8c2d.tar.bz2
gentoo-762ab8535fc247cbef6cb607c7ebca2e468c8c2d.zip
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
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/vulkan-tools/metadata.xml4
-rw-r--r--dev-util/vulkan-tools/vulkan-tools-1.1.77.0-r1.ebuild27
-rw-r--r--dev-util/vulkan-tools/vulkan-tools-9999.ebuild38
3 files changed, 67 insertions, 2 deletions
diff --git a/dev-util/vulkan-tools/metadata.xml b/dev-util/vulkan-tools/metadata.xml
index a670686d9eb6..bee42ed5665e 100644
--- a/dev-util/vulkan-tools/metadata.xml
+++ b/dev-util/vulkan-tools/metadata.xml
@@ -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>
diff --git a/dev-util/vulkan-tools/vulkan-tools-1.1.77.0-r1.ebuild b/dev-util/vulkan-tools/vulkan-tools-1.1.77.0-r1.ebuild
index fcd605b2064e..2215b2e1cc55 100644
--- a/dev-util/vulkan-tools/vulkan-tools-1.1.77.0-r1.ebuild
+++ b/dev-util/vulkan-tools/vulkan-tools-1.1.77.0-r1.ebuild
@@ -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
}
diff --git a/dev-util/vulkan-tools/vulkan-tools-9999.ebuild b/dev-util/vulkan-tools/vulkan-tools-9999.ebuild
index 3ffd734f550b..2215b2e1cc55 100644
--- a/dev-util/vulkan-tools/vulkan-tools-9999.ebuild
+++ b/dev-util/vulkan-tools/vulkan-tools-9999.ebuild
@@ -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"
+}