summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Sarnie <sarnex@gentoo.org>2023-09-18 21:05:08 -0400
committerNick Sarnie <sarnex@gentoo.org>2023-09-18 21:14:26 -0400
commit53af8fd4069bc353a47285da50132dc84298d547 (patch)
treee48af3ec3279c2efe6e5584d5f9104c1a040b2af
parentsys-apps/shadow: backport build fixes (diff)
downloadgentoo-53af8fd4069bc353a47285da50132dc84298d547.tar.gz
gentoo-53af8fd4069bc353a47285da50132dc84298d547.tar.bz2
gentoo-53af8fd4069bc353a47285da50132dc84298d547.zip
dev-util/vulkan-tools: Support multiple window systems
Closes: https://bugs.gentoo.org/907071 Closes: https://bugs.gentoo.org/912402 Signed-off-by: Nick Sarnie <sarnex@gentoo.org>
-rw-r--r--dev-util/vulkan-tools/vulkan-tools-1.3.261-r1.ebuild80
-rw-r--r--dev-util/vulkan-tools/vulkan-tools-9999.ebuild6
2 files changed, 84 insertions, 2 deletions
diff --git a/dev-util/vulkan-tools/vulkan-tools-1.3.261-r1.ebuild b/dev-util/vulkan-tools/vulkan-tools-1.3.261-r1.ebuild
new file mode 100644
index 000000000000..aeda890581ac
--- /dev/null
+++ b/dev-util/vulkan-tools/vulkan-tools-1.3.261-r1.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN=Vulkan-Tools
+PYTHON_COMPAT=( python3_{9..12} )
+inherit cmake-multilib python-any-r1
+
+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}.0.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv"
+ S="${WORKDIR}"/${MY_PN}-sdk-${PV}.0
+fi
+
+DESCRIPTION="Official Vulkan Tools and Utilities for Windows, Linux, Android, and MacOS"
+HOMEPAGE="https://github.com/KhronosGroup/Vulkan-Tools"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cube wayland +X"
+
+REQUIRED_USE="cube? ( || ( X wayland ) )"
+
+BDEPEND="${PYTHON_DEPS}
+ cube? ( ~dev-util/glslang-${PV}:=[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ ~media-libs/vulkan-loader-${PV}:=[${MULTILIB_USEDEP},wayland?,X?]
+ wayland? ( dev-libs/wayland:=[${MULTILIB_USEDEP}] )
+ X? (
+ x11-libs/libX11:=[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr:=[${MULTILIB_USEDEP}]
+ )
+"
+DEPEND="${RDEPEND}
+ ~dev-util/vulkan-headers-${PV}
+"
+
+pkg_setup() {
+ MULTILIB_CHOST_TOOLS=(
+ /usr/bin/vulkaninfo
+ )
+
+ use cube && MULTILIB_CHOST_TOOLS+=(
+ /usr/bin/vkcube
+ /usr/bin/vkcubepp
+ )
+ use cube && use wayland && MULTILIB_CHOST_TOOLS+=(
+ /usr/bin/vkcube-wayland
+ )
+
+ python-any-r1_pkg_setup
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_C_FLAGS="${CFLAGS} -DNDEBUG"
+ -DCMAKE_CXX_FLAGS="${CXXFLAGS} -DNDEBUG"
+ -DCMAKE_SKIP_RPATH=ON
+ -DBUILD_VULKANINFO=ON
+ -DBUILD_CUBE=$(usex cube)
+ -DBUILD_WERROR=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"
+ )
+
+ use cube && mycmakeargs+=(
+ -DGLSLANG_INSTALL_DIR="${ESYSROOT}/usr"
+ -DCUBE_WSI_SELECTION=$(usex X XCB WAYLAND)
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-util/vulkan-tools/vulkan-tools-9999.ebuild b/dev-util/vulkan-tools/vulkan-tools-9999.ebuild
index 1269dcab52ee..aeda890581ac 100644
--- a/dev-util/vulkan-tools/vulkan-tools-9999.ebuild
+++ b/dev-util/vulkan-tools/vulkan-tools-9999.ebuild
@@ -24,8 +24,7 @@ LICENSE="Apache-2.0"
SLOT="0"
IUSE="cube wayland +X"
-# Cube demo only supports one window system at a time
-REQUIRED_USE="cube? ( ^^ ( X wayland ) )"
+REQUIRED_USE="cube? ( || ( X wayland ) )"
BDEPEND="${PYTHON_DEPS}
cube? ( ~dev-util/glslang-${PV}:=[${MULTILIB_USEDEP}] )
@@ -51,6 +50,9 @@ pkg_setup() {
/usr/bin/vkcube
/usr/bin/vkcubepp
)
+ use cube && use wayland && MULTILIB_CHOST_TOOLS+=(
+ /usr/bin/vkcube-wayland
+ )
python-any-r1_pkg_setup
}