dev-util/vulkan-tools: Fix dependencies
authorNick Sarnie <sarnex@gentoo.org>
Sat, 15 Jun 2019 21:32:27 +0000 (17:32 -0400)
committerNick Sarnie <sarnex@gentoo.org>
Sat, 15 Jun 2019 21:43:22 +0000 (17:43 -0400)
Fixes: https://bugs.gentoo.org/688126
Package-Manager: Portage-2.3.67, Repoman-2.3.14
Signed-off-by: Nick Sarnie <sarnex@gentoo.org>
dev-util/vulkan-tools/vulkan-tools-1.1.106-r1.ebuild [new file with mode: 0644]
dev-util/vulkan-tools/vulkan-tools-9999.ebuild

diff --git a/dev-util/vulkan-tools/vulkan-tools-1.1.106-r1.ebuild b/dev-util/vulkan-tools/vulkan-tools-1.1.106-r1.ebuild
new file mode 100644 (file)
index 0000000..98cfd39
--- /dev/null
@@ -0,0 +1,93 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{5,6} )
+
+if [[ "${PV}" == "9999" ]]; then
+       EGIT_REPO_URI="https://github.com/KhronosGroup/Vulkan-Tools.git"
+       EGIT_SUBMODULES=()
+       inherit git-r3
+else
+       EGIT_COMMIT="2abb69904b9ad017d39d3da1e7fc3dec1a584cd8"
+       KEYWORDS="~amd64"
+       SRC_URI="https://github.com/KhronosGroup/Vulkan-Tools/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+       S="${WORKDIR}/Vulkan-Tools-${EGIT_COMMIT}"
+fi
+
+inherit python-any-r1 cmake-multilib
+
+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 +vulkaninfo X wayland"
+COMMON_DEPEND="media-libs/vulkan-loader:=[${MULTILIB_USEDEP},wayland?,X?]
+       wayland? ( dev-libs/wayland:=[${MULTILIB_USEDEP}] )
+       X? (
+               x11-libs/libX11:=[${MULTILIB_USEDEP}]
+               x11-libs/libXrandr:=[${MULTILIB_USEDEP}]
+       )"
+
+BDEPEND="cube? ( dev-util/glslang:=[${MULTILIB_USEDEP}] )"
+DEPEND="${PYTHON_DEPS}
+       ${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
+
+# Vulkaninfo does not support wayland
+REQUIRED_USE="|| ( X wayland )
+                         vulkaninfo? ( X )"
+
+pkg_setup() {
+       MULTILIB_CHOST_TOOLS=()
+
+       if use vulkaninfo; then
+               MULTILIB_CHOST_TOOLS+=( /usr/bin/vulkaninfo )
+       fi
+
+       if use cube; then
+               MULTILIB_CHOST_TOOLS+=(
+                       /usr/bin/vkcube
+                       /usr/bin/vkcubepp
+               )
+       fi
+
+       python-any-r1_pkg_setup
+}
+
+multilib_src_configure() {
+       local mycmakeargs=(
+               -DCMAKE_SKIP_RPATH=True
+               -DBUILD_CUBE=$(usex cube)
+               -DBUILD_VULKANINFO=$(usex vulkaninfo)
+               -DBUILD_WSI_WAYLAND_SUPPORT=$(usex wayland)
+               -DBUILD_WSI_XCB_SUPPORT=$(usex X)
+               -DBUILD_WSI_XLIB_SUPPORT=$(usex X)
+               -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"
+               )
+       fi
+
+       if ! use X && use wayland; then
+               mycmakeargs+=(
+                       -DCUBE_WSI_SELECTION="WAYLAND"
+               )
+       fi
+
+       cmake-utils_src_configure
+}
+
+multilib_src_install() {
+       cmake-utils_src_install
+}
index 111b3d75d3522b8c5fb5ebc0778ec17d35aaf39e..9cf16dafaf91d075d147de3e714c314e83882f46 100644 (file)
@@ -1,7 +1,7 @@
 # Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=6
+EAPI=7
 PYTHON_COMPAT=( python3_{5,6} )
 
 if [[ "${PV}" == "9999" ]]; then
@@ -23,16 +23,17 @@ HOMEPAGE="https://github.com/KhronosGroup/Vulkan-Tools"
 LICENSE="Apache-2.0"
 SLOT="0"
 IUSE="+cube +vulkaninfo X wayland"
-
-DEPEND="${PYTHON_DEPS}
-       cube? ( dev-util/glslang:=[${MULTILIB_USEDEP}] )
-       >=dev-util/vulkan-headers-1.1.106
-       media-libs/vulkan-loader:=[${MULTILIB_USEDEP},wayland?,X?]
+COMMON_DEPEND="media-libs/vulkan-loader:=[${MULTILIB_USEDEP},wayland?,X?]
        wayland? ( dev-libs/wayland:=[${MULTILIB_USEDEP}] )
        X? (
                x11-libs/libX11:=[${MULTILIB_USEDEP}]
                x11-libs/libXrandr:=[${MULTILIB_USEDEP}]
-          )"
+       )"
+
+BDEPEND="cube? ( dev-util/glslang:=[${MULTILIB_USEDEP}] )"
+DEPEND="${PYTHON_DEPS}
+       ${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
 
 # Vulkaninfo does not support wayland
 REQUIRED_USE="|| ( X wayland )