33cdb2c53840a2026f2d95c5dd51bf474ac71320
[gentoo.git] / media-libs / vulkan-loader / vulkan-loader-1.2.133.ebuild
1 # Copyright 1999-2020 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=7
5
6 MY_PN=Vulkan-Loader
7 CMAKE_ECLASS="cmake"
8 PYTHON_COMPAT=( python3_{6,7,8} )
9 inherit cmake-multilib python-any-r1 toolchain-funcs
10
11 if [[ ${PV} == *9999* ]]; then
12         EGIT_REPO_URI="https://github.com/KhronosGroup/${MY_PN}.git"
13         EGIT_SUBMODULES=()
14         inherit git-r3
15 else
16         SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
17         KEYWORDS="~amd64 ~ppc64 ~x86"
18         S="${WORKDIR}"/${MY_PN}-${PV}
19 fi
20
21 DESCRIPTION="Vulkan Installable Client Driver (ICD) Loader"
22 HOMEPAGE="https://github.com/KhronosGroup/Vulkan-Loader"
23
24 LICENSE="Apache-2.0"
25 SLOT="0"
26 IUSE="layers wayland X"
27
28 BDEPEND=">=dev-util/cmake-3.10.2"
29 DEPEND="${PYTHON_DEPS}
30         ~dev-util/vulkan-headers-${PV}
31         wayland? ( dev-libs/wayland:=[${MULTILIB_USEDEP}] )
32         X? (
33                 x11-libs/libX11:=[${MULTILIB_USEDEP}]
34                 x11-libs/libXrandr:=[${MULTILIB_USEDEP}]
35         )
36 "
37 PDEPEND="layers? ( media-libs/vulkan-layers:=[${MULTILIB_USEDEP}] )"
38
39 multilib_src_configure() {
40         # Integrated clang assembler doesn't work with x86 - Bug #698164
41         if tc-is-clang && [[ ${ABI} == x86 ]]; then
42                 append-cflags -fno-integrated-as
43         fi
44
45         local mycmakeargs=(
46                 -DCMAKE_SKIP_RPATH=ON
47                 -DBUILD_TESTS=OFF
48                 -DBUILD_LOADER=ON
49                 -DBUILD_WSI_WAYLAND_SUPPORT=$(usex wayland)
50                 -DBUILD_WSI_XCB_SUPPORT=$(usex X)
51                 -DBUILD_WSI_XLIB_SUPPORT=$(usex X)
52                 -DVULKAN_HEADERS_INSTALL_DIR="${EPREFIX}/usr"
53         )
54         cmake_src_configure
55 }
56
57 multilib_src_install() {
58         keepdir /etc/vulkan/icd.d
59
60         cmake_src_install
61 }
62
63 pkg_postinst() {
64         einfo "USE=demos has been dropped as per upstream packaging"
65         einfo "vulkaninfo is now available in the dev-util/vulkan-tools package"
66 }