From fce28df7e8304ff4b93b1c194a1f8cb76876b571 Mon Sep 17 00:00:00 2001 From: David Michael Date: Thu, 9 Jul 2020 20:12:25 -0400 Subject: media-libs/vulkan-loader: become sysroot-aware This allows building in a sysroot without using the headers installed on the host. Closes: https://bugs.gentoo.org/731112 Package-Manager: Portage-2.3.99, Repoman-2.3.23 Signed-off-by: David Michael Closes: https://github.com/gentoo/gentoo/pull/16655 Signed-off-by: Nick Sarnie --- .../vulkan-loader/vulkan-loader-1.2.137-r1.ebuild | 66 ++++++++++++++++++++++ .../vulkan-loader/vulkan-loader-1.2.141-r1.ebuild | 66 ++++++++++++++++++++++ media-libs/vulkan-loader/vulkan-loader-9999.ebuild | 2 +- 3 files changed, 133 insertions(+), 1 deletion(-) create mode 100644 media-libs/vulkan-loader/vulkan-loader-1.2.137-r1.ebuild create mode 100644 media-libs/vulkan-loader/vulkan-loader-1.2.141-r1.ebuild (limited to 'media-libs/vulkan-loader') diff --git a/media-libs/vulkan-loader/vulkan-loader-1.2.137-r1.ebuild b/media-libs/vulkan-loader/vulkan-loader-1.2.137-r1.ebuild new file mode 100644 index 000000000000..3a00275c7e78 --- /dev/null +++ b/media-libs/vulkan-loader/vulkan-loader-1.2.137-r1.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +MY_PN=Vulkan-Loader +CMAKE_ECLASS="cmake" +PYTHON_COMPAT=( python3_{6,7,8} ) +inherit flag-o-matic cmake-multilib python-any-r1 toolchain-funcs + +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/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~ppc64 ~x86" + S="${WORKDIR}"/${MY_PN}-${PV} +fi + +DESCRIPTION="Vulkan Installable Client Driver (ICD) Loader" +HOMEPAGE="https://github.com/KhronosGroup/Vulkan-Loader" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="layers wayland X" + +BDEPEND=">=dev-util/cmake-3.10.2" +DEPEND="${PYTHON_DEPS} + ~dev-util/vulkan-headers-1.2.137 + wayland? ( dev-libs/wayland:=[${MULTILIB_USEDEP}] ) + X? ( + x11-libs/libX11:=[${MULTILIB_USEDEP}] + x11-libs/libXrandr:=[${MULTILIB_USEDEP}] + ) +" +PDEPEND="layers? ( media-libs/vulkan-layers:=[${MULTILIB_USEDEP}] )" + +multilib_src_configure() { + # Integrated clang assembler doesn't work with x86 - Bug #698164 + if tc-is-clang && [[ ${ABI} == x86 ]]; then + append-cflags -fno-integrated-as + fi + + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DBUILD_TESTS=OFF + -DBUILD_LOADER=ON + -DBUILD_WSI_WAYLAND_SUPPORT=$(usex wayland) + -DBUILD_WSI_XCB_SUPPORT=$(usex X) + -DBUILD_WSI_XLIB_SUPPORT=$(usex X) + -DVULKAN_HEADERS_INSTALL_DIR="${ESYSROOT}/usr" + ) + cmake_src_configure +} + +multilib_src_install() { + keepdir /etc/vulkan/icd.d + + cmake_src_install +} + +pkg_postinst() { + einfo "USE=demos has been dropped as per upstream packaging" + einfo "vulkaninfo is now available in the dev-util/vulkan-tools package" +} diff --git a/media-libs/vulkan-loader/vulkan-loader-1.2.141-r1.ebuild b/media-libs/vulkan-loader/vulkan-loader-1.2.141-r1.ebuild new file mode 100644 index 000000000000..ab1106326d22 --- /dev/null +++ b/media-libs/vulkan-loader/vulkan-loader-1.2.141-r1.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +MY_PN=Vulkan-Loader +CMAKE_ECLASS="cmake" +PYTHON_COMPAT=( python3_{6,7,8} ) +inherit flag-o-matic cmake-multilib python-any-r1 toolchain-funcs + +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/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" + S="${WORKDIR}"/${MY_PN}-${PV} +fi + +DESCRIPTION="Vulkan Installable Client Driver (ICD) Loader" +HOMEPAGE="https://github.com/KhronosGroup/Vulkan-Loader" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="layers wayland X" + +BDEPEND=">=dev-util/cmake-3.10.2" +DEPEND="${PYTHON_DEPS} + ~dev-util/vulkan-headers-1.2.143 + wayland? ( dev-libs/wayland:=[${MULTILIB_USEDEP}] ) + X? ( + x11-libs/libX11:=[${MULTILIB_USEDEP}] + x11-libs/libXrandr:=[${MULTILIB_USEDEP}] + ) +" +PDEPEND="layers? ( media-libs/vulkan-layers:=[${MULTILIB_USEDEP}] )" + +multilib_src_configure() { + # Integrated clang assembler doesn't work with x86 - Bug #698164 + if tc-is-clang && [[ ${ABI} == x86 ]]; then + append-cflags -fno-integrated-as + fi + + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DBUILD_TESTS=OFF + -DBUILD_LOADER=ON + -DBUILD_WSI_WAYLAND_SUPPORT=$(usex wayland) + -DBUILD_WSI_XCB_SUPPORT=$(usex X) + -DBUILD_WSI_XLIB_SUPPORT=$(usex X) + -DVULKAN_HEADERS_INSTALL_DIR="${ESYSROOT}/usr" + ) + cmake_src_configure +} + +multilib_src_install() { + keepdir /etc/vulkan/icd.d + + cmake_src_install +} + +pkg_postinst() { + einfo "USE=demos has been dropped as per upstream packaging" + einfo "vulkaninfo is now available in the dev-util/vulkan-tools package" +} diff --git a/media-libs/vulkan-loader/vulkan-loader-9999.ebuild b/media-libs/vulkan-loader/vulkan-loader-9999.ebuild index f6e5a7abb270..c09d888cf7a6 100644 --- a/media-libs/vulkan-loader/vulkan-loader-9999.ebuild +++ b/media-libs/vulkan-loader/vulkan-loader-9999.ebuild @@ -49,7 +49,7 @@ multilib_src_configure() { -DBUILD_WSI_WAYLAND_SUPPORT=$(usex wayland) -DBUILD_WSI_XCB_SUPPORT=$(usex X) -DBUILD_WSI_XLIB_SUPPORT=$(usex X) - -DVULKAN_HEADERS_INSTALL_DIR="${EPREFIX}/usr" + -DVULKAN_HEADERS_INSTALL_DIR="${ESYSROOT}/usr" ) cmake_src_configure } -- cgit v1.2.3-65-gdbad