diff options
author | Nick Sarnie <sarnex@gentoo.org> | 2018-09-01 18:03:48 -0400 |
---|---|---|
committer | Nick Sarnie <sarnex@gentoo.org> | 2018-09-01 18:56:42 -0400 |
commit | 3f0f865797bbc1caaa7f94d65f2d2a7eaffd9cfd (patch) | |
tree | e72663d17ec7545958777430c18e06e740ff8789 /dev-util | |
parent | net-libs/libtorrent-rasterbar: Add myself as maintainer (diff) | |
download | gentoo-3f0f865797bbc1caaa7f94d65f2d2a7eaffd9cfd.tar.gz gentoo-3f0f865797bbc1caaa7f94d65f2d2a7eaffd9cfd.tar.bz2 gentoo-3f0f865797bbc1caaa7f94d65f2d2a7eaffd9cfd.zip |
dev-util/vulkan-tools: Also install 32-bit binaries in multiabi case
Closes: https://bugs.gentoo.org/660760
Package-Manager: Portage-2.3.48, Repoman-2.3.10
Diffstat (limited to 'dev-util')
-rw-r--r-- | dev-util/vulkan-tools/vulkan-tools-1.1.77.0-r2.ebuild | 98 | ||||
-rw-r--r-- | dev-util/vulkan-tools/vulkan-tools-9999.ebuild | 13 |
2 files changed, 109 insertions, 2 deletions
diff --git a/dev-util/vulkan-tools/vulkan-tools-1.1.77.0-r2.ebuild b/dev-util/vulkan-tools/vulkan-tools-1.1.77.0-r2.ebuild new file mode 100644 index 000000000000..a31a4361ef6e --- /dev/null +++ b/dev-util/vulkan-tools/vulkan-tools-1.1.77.0-r2.ebuild @@ -0,0 +1,98 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python3_{4,5,6} ) + +if [[ "${PV}" == "9999" ]]; then + EGIT_REPO_URI="https://github.com/KhronosGroup/Vulkan-Tools.git" + EGIT_SUBMODULES=() + inherit git-r3 +else + EGIT_COMMIT="384fff68c802a10b5d7f4f352a4bb43b3efe5f23" + 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" + +# Old packaging will cause file collisions +RDEPEND="!<=media-libs/vulkan-loader-1.1.70.0-r999" +DEPEND="${PYTHON_DEPS} + cube? ( dev-util/glslang:=[${MULTILIB_USEDEP}] ) + dev-util/vulkan-headers + 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}] + )" + +# 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) + -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" + -DVULKANINFO_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 + + if ! multilib_is_native_abi; then + mv "${ED%/}"/usr/bin/vulkaninfo "${ED%/}"/usr/bin/vulkaninfo32 || die + fi + + if use cube; then + if multilib_is_native_abi; then + mv "${ED%/}"/usr/bin/cube "${ED%/}"/usr/bin/vulkancube || die + mv "${ED%/}"/usr/bin/cubepp "${ED%/}"/usr/bin/vulkancubecpp || die + else + mv "${ED%/}"/usr/bin/cube "${ED%/}"/usr/bin/vulkancube32 || die + mv "${ED%/}"/usr/bin/cubepp "${ED%/}"/usr/bin/vulkancubecpp32 || die + fi + fi +} + +pkg_postinst() { + einfo "The cube and cubepp demos have been renamed to" + einfo "vulkancube and vulkancubecpp to prevent collisions" +} diff --git a/dev-util/vulkan-tools/vulkan-tools-9999.ebuild b/dev-util/vulkan-tools/vulkan-tools-9999.ebuild index 6fa37cabcccd..a31a4361ef6e 100644 --- a/dev-util/vulkan-tools/vulkan-tools-9999.ebuild +++ b/dev-util/vulkan-tools/vulkan-tools-9999.ebuild @@ -77,9 +77,18 @@ multilib_src_configure() { multilib_src_install() { cmake-utils_src_install + if ! multilib_is_native_abi; then + mv "${ED%/}"/usr/bin/vulkaninfo "${ED%/}"/usr/bin/vulkaninfo32 || die + fi + if use cube; then - mv "${ED%/}"/usr/bin/cube "${ED%/}"/usr/bin/vulkancube || die - mv "${ED%/}"/usr/bin/cubepp "${ED%/}"/usr/bin/vulkancubecpp || die + if multilib_is_native_abi; then + mv "${ED%/}"/usr/bin/cube "${ED%/}"/usr/bin/vulkancube || die + mv "${ED%/}"/usr/bin/cubepp "${ED%/}"/usr/bin/vulkancubecpp || die + else + mv "${ED%/}"/usr/bin/cube "${ED%/}"/usr/bin/vulkancube32 || die + mv "${ED%/}"/usr/bin/cubepp "${ED%/}"/usr/bin/vulkancubecpp32 || die + fi fi } |