Gentoo Archives: gentoo-commits

From: Nick Sarnie <sarnex@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/vulkan-layers/, media-libs/vulkan-layers/files/
Date: Sat, 26 May 2018 23:00:02
Message-Id: 1527375509.bdc8be970a889558893c0ffaf5044bd947a99c52.sarnex@gentoo
1 commit: bdc8be970a889558893c0ffaf5044bd947a99c52
2 Author: Nick Sarnie <sarnex <AT> gentoo <DOT> org>
3 AuthorDate: Sat May 26 22:41:38 2018 +0000
4 Commit: Nick Sarnie <sarnex <AT> gentoo <DOT> org>
5 CommitDate: Sat May 26 22:58:29 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bdc8be97
7
8 media-libs/vulkan-layers: Initial version
9
10 Package-Manager: Portage-2.3.40, Repoman-2.3.9
11
12 media-libs/vulkan-layers/Manifest | 1 +
13 ...e-a-file-to-get-the-spirv-tools-commit-ID.patch | 40 +++++++++++++++
14 .../vulkan-layers-Use-usr-for-vulkan-headers.patch | 57 ++++++++++++++++++++++
15 media-libs/vulkan-layers/metadata.xml | 16 ++++++
16 .../vulkan-layers-0_pre20180526.ebuild | 54 ++++++++++++++++++++
17 media-libs/vulkan-layers/vulkan-layers-9999.ebuild | 54 ++++++++++++++++++++
18 6 files changed, 222 insertions(+)
19
20 diff --git a/media-libs/vulkan-layers/Manifest b/media-libs/vulkan-layers/Manifest
21 new file mode 100644
22 index 00000000000..a3c8264d50b
23 --- /dev/null
24 +++ b/media-libs/vulkan-layers/Manifest
25 @@ -0,0 +1 @@
26 +DIST vulkan-layers-0_pre20180526.tar.gz 1138198 BLAKE2B 33788256d82c1bc3dd071d15ecd0e3bb024fc35693b6b988e12990d0af7a6d209b02a01893b288e3ae3b1a499803e23118429de1efe3189c9a8369c0ec9ab02f SHA512 412c9cf95415d93191529fd4c9712e93e1939d74dece028d42f7f9199f0b686a7aa15554249590a0777cb9c6fd4cbb85cfd87b9eea11bc02400976cbd81a52f1
27
28 diff --git a/media-libs/vulkan-layers/files/vulkan-layers-Use-a-file-to-get-the-spirv-tools-commit-ID.patch b/media-libs/vulkan-layers/files/vulkan-layers-Use-a-file-to-get-the-spirv-tools-commit-ID.patch
29 new file mode 100644
30 index 00000000000..7688eb8d5cf
31 --- /dev/null
32 +++ b/media-libs/vulkan-layers/files/vulkan-layers-Use-a-file-to-get-the-spirv-tools-commit-ID.patch
33 @@ -0,0 +1,40 @@
34 +From 2bcf0e5097070532ebfb0bf0ee0b28e1065be1e8 Mon Sep 17 00:00:00 2001
35 +From: Nick Sarnie <sarnex@g.o>
36 +Date: Tue, 22 May 2018 20:11:17 -0400
37 +Subject: [PATCH] Use a file to get the spirv-tools commit ID
38 +
39 +Signed-off-by: Nick Sarnie <sarnex@g.o>
40 +---
41 + layers/CMakeLists.txt | 9 ++++++++-
42 + 1 file changed, 8 insertions(+), 1 deletion(-)
43 +
44 +diff --git a/layers/CMakeLists.txt b/layers/CMakeLists.txt
45 +index 5b3758d1..2a9c2f32 100644
46 +--- a/layers/CMakeLists.txt
47 ++++ b/layers/CMakeLists.txt
48 +@@ -51,6 +51,13 @@ macro(run_external_revision_generate symbol_name output)
49 + )
50 + endmacro()
51 +
52 ++macro(run_external_revision_generate_spirv_tools source_dir symbol_name output)
53 ++ add_custom_command(OUTPUT ${output}
54 ++ COMMAND ${PYTHON_CMD} ${SCRIPTS_DIR}/external_revision_generator.py --rev_file ${source_dir}/spirv-tools-commit.h -s ${symbol_name} -o ${output}
55 ++ DEPENDS ${SCRIPTS_DIR}/external_revision_generator.py ${source_dir}/spirv-tools-commit.h
56 ++ )
57 ++endmacro()
58 ++
59 + # Custom targets for generated validation layer helper file dependencies
60 + add_custom_target(spirv_tools_revision_file DEPENDS
61 + spirv_tools_commit_id.h
62 +@@ -78,7 +85,7 @@ run_vk_xml_generate(helper_file_generator.py vk_object_types.h)
63 + run_vk_xml_generate(helper_file_generator.py vk_extension_helper.h)
64 + run_vk_xml_generate(helper_file_generator.py vk_typemap_helper.h)
65 + if(BUILD_LAYERS)
66 +- run_external_revision_generate(SPIRV_TOOLS_COMMIT_ID spirv_tools_commit_id.h)
67 ++ run_external_revision_generate_spirv_tools(/usr/include/spirv-tools SPIRV_TOOLS_COMMIT_ID spirv_tools_commit_id.h)
68 + endif()
69 +
70 + # Layer Utils Library
71 +--
72 +2.17.0
73 +
74
75 diff --git a/media-libs/vulkan-layers/files/vulkan-layers-Use-usr-for-vulkan-headers.patch b/media-libs/vulkan-layers/files/vulkan-layers-Use-usr-for-vulkan-headers.patch
76 new file mode 100644
77 index 00000000000..a4829d9997a
78 --- /dev/null
79 +++ b/media-libs/vulkan-layers/files/vulkan-layers-Use-usr-for-vulkan-headers.patch
80 @@ -0,0 +1,57 @@
81 +From 42fb7b4c73b0cae196a2eb6d97bfa6cc635f23fb Mon Sep 17 00:00:00 2001
82 +From: Nick Sarnie <sarnex@g.o>
83 +Date: Sat, 26 May 2018 17:39:08 -0400
84 +Subject: [PATCH] Use usr for vulkan headers
85 +
86 +Signed-off-by: Nick Sarnie <sarnex@g.o>
87 +---
88 + CMakeLists.txt | 2 +-
89 + layers/CMakeLists.txt | 5 +++--
90 + scripts/lvl_genvk.py | 2 +-
91 + 3 files changed, 5 insertions(+), 4 deletions(-)
92 +
93 +diff --git a/CMakeLists.txt b/CMakeLists.txt
94 +index 178debdd..dc742304 100644
95 +--- a/CMakeLists.txt
96 ++++ b/CMakeLists.txt
97 +@@ -21,7 +21,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
98 + find_package(PythonInterp 3 REQUIRED)
99 +
100 + # TODO: Add option to override this with env var, or even to use SDK
101 +-set(VULKAN_HEADERS_LOCATION "${CMAKE_CURRENT_SOURCE_DIR}/Vulkan-Headers")
102 ++set(VULKAN_HEADERS_LOCATION "/usr")
103 +
104 + # Output warning if vulkan headers submodule contents are not present
105 + if (NOT EXISTS "${VULKAN_HEADERS_LOCATION}/include/vulkan/vulkan_core.h")
106 +diff --git a/layers/CMakeLists.txt b/layers/CMakeLists.txt
107 +index 962c4be6..26e5abaf 100644
108 +--- a/layers/CMakeLists.txt
109 ++++ b/layers/CMakeLists.txt
110 +@@ -38,8 +38,9 @@ set(SCRIPTS_DIR "${PROJECT_SOURCE_DIR}/scripts")
111 + # Define macro used for building vkxml generated files
112 + macro(run_vk_xml_generate dependency output)
113 + add_custom_command(OUTPUT ${output}
114 +- COMMAND ${PYTHON_CMD} ${SCRIPTS_DIR}/lvl_genvk.py -registry ${VULKAN_HEADERS_LOCATION}/registry/vk.xml ${output}
115 +- DEPENDS ${VULKAN_HEADERS_LOCATION}/registry/vk.xml ${VULKAN_HEADERS_LOCATION}/registry/generator.py ${SCRIPTS_DIR}/${dependency} ${SCRIPTS_DIR}/lvl_genvk.py ${VULKAN_HEADERS_LOCATION}/registry/reg.py
116 ++ COMMAND ${PYTHON_CMD} ${SCRIPTS_DIR}/lvl_genvk.py -registry ${VULKAN_HEADERS_LOCATION}/include/vulkan/registry/vk.xml ${output}
117 ++ DEPENDS ${VULKAN_HEADERS_LOCATION}/include/vulkan/registry/vk.xml ${VULKAN_HEADERS_LOCATION}/include/vulkan/registry/generator.py ${SCRIPTS_DIR}/${dependency} ${SCRIPTS_DIR}/lvl_genvk.py
118 ++${VULKAN_HEADERS_LOCATION}/include/vulkan/registry/reg.py
119 + )
120 + endmacro()
121 +
122 +diff --git a/scripts/lvl_genvk.py b/scripts/lvl_genvk.py
123 +index 4dac9ca2..6ea83ddb 100644
124 +--- a/scripts/lvl_genvk.py
125 ++++ b/scripts/lvl_genvk.py
126 +@@ -16,7 +16,7 @@
127 +
128 + import argparse, cProfile, pdb, string, sys, time, os
129 + scripts_directory_path = os.path.dirname(os.path.abspath(__file__))
130 +-registry_headers_path = os.path.join(scripts_directory_path, '../Vulkan-Headers/registry')
131 ++registry_headers_path = os.path.join(scripts_directory_path, '/usr/include/vulkan/registry')
132 + sys.path.insert(0, registry_headers_path)
133 +
134 + from reg import *
135 +--
136 +2.17.0
137 +
138
139 diff --git a/media-libs/vulkan-layers/metadata.xml b/media-libs/vulkan-layers/metadata.xml
140 new file mode 100644
141 index 00000000000..d87b452b7db
142 --- /dev/null
143 +++ b/media-libs/vulkan-layers/metadata.xml
144 @@ -0,0 +1,16 @@
145 +<?xml version="1.0" encoding="UTF-8"?>
146 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
147 +<pkgmetadata>
148 + <maintainer type="project">
149 + <email>x11@g.o</email>
150 + <name>X11</name>
151 + </maintainer>
152 + <maintainer type="person">
153 + <email>sarnex@g.o</email>
154 + <name>Nick Sarnie</name>
155 + </maintainer>
156 + <upstream>
157 + <remote-id type="github">KhronosGroup/Vulkan-ValidationLayers</remote-id>
158 + </upstream>
159 +</pkgmetadata>
160 +
161
162 diff --git a/media-libs/vulkan-layers/vulkan-layers-0_pre20180526.ebuild b/media-libs/vulkan-layers/vulkan-layers-0_pre20180526.ebuild
163 new file mode 100644
164 index 00000000000..3bc4cc8e175
165 --- /dev/null
166 +++ b/media-libs/vulkan-layers/vulkan-layers-0_pre20180526.ebuild
167 @@ -0,0 +1,54 @@
168 +# Copyright 1999-2018 Gentoo Foundation
169 +# Distributed under the terms of the GNU General Public License v2
170 +
171 +EAPI=6
172 +PYTHON_COMPAT=( python3_{4,5,6} )
173 +
174 +if [[ "${PV}" == "9999" ]]; then
175 + EGIT_REPO_URI="https://github.com/KhronosGroup/Vulkan-ValidationLayers.git"
176 + EGIT_SUBMODULES=()
177 + inherit git-r3
178 +else
179 + EGIT_COMMIT="6a354a5200df761a7a7fabc338e9c1b81961919b"
180 + KEYWORDS="~amd64"
181 + SRC_URI="https://github.com/KhronosGroup/Vulkan-ValidationLayers/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
182 + S="${WORKDIR}/Vulkan-ValidationLayers-${EGIT_COMMIT}"
183 +fi
184 +
185 +inherit python-any-r1 cmake-multilib
186 +
187 +DESCRIPTION="Vulkan Validation Layers"
188 +HOMEPAGE="https://github.com/KhronosGroup/Vulkan-ValidationLayers"
189 +
190 +LICENSE="Apache-2.0"
191 +SLOT="0"
192 +IUSE="X wayland"
193 +
194 +RDEPEND=""
195 +DEPEND="${PYTHON_DEPS}
196 + dev-util/glslang:=[${MULTILIB_USEDEP}]
197 + >=dev-util/spirv-tools-2018.2-r1:=[${MULTILIB_USEDEP}]
198 + dev-util/vulkan-headers
199 + wayland? ( dev-libs/wayland:=[${MULTILIB_USEDEP}] )
200 + X? (
201 + x11-libs/libX11:=[${MULTILIB_USEDEP}]
202 + x11-libs/libXrandr:=[${MULTILIB_USEDEP}]
203 + )"
204 +
205 +PATCHES=(
206 + "${FILESDIR}/${PN}-Use-usr-for-vulkan-headers.patch"
207 + "${FILESDIR}/${PN}-Use-a-file-to-get-the-spirv-tools-commit-ID.patch"
208 + )
209 +
210 +multilib_src_configure() {
211 + local mycmakeargs=(
212 + -DCMAKE_SKIP_RPATH=True
213 + -DBUILD_WSI_MIR_SUPPORT=False
214 + -DBUILD_WSI_WAYLAND_SUPPORT=$(usex wayland)
215 + -DBUILD_WSI_XCB_SUPPORT=$(usex X)
216 + -DBUILD_WSI_XLIB_SUPPORT=$(usex X)
217 + -DBUILD_TESTS=False
218 + -DGLSLANG_INSTALL_DIR="/usr"
219 + )
220 + cmake-utils_src_configure
221 +}
222
223 diff --git a/media-libs/vulkan-layers/vulkan-layers-9999.ebuild b/media-libs/vulkan-layers/vulkan-layers-9999.ebuild
224 new file mode 100644
225 index 00000000000..22742bd2161
226 --- /dev/null
227 +++ b/media-libs/vulkan-layers/vulkan-layers-9999.ebuild
228 @@ -0,0 +1,54 @@
229 +# Copyright 1999-2018 Gentoo Foundation
230 +# Distributed under the terms of the GNU General Public License v2
231 +
232 +EAPI=6
233 +PYTHON_COMPAT=( python3_{4,5,6} )
234 +
235 +if [[ "${PV}" == "9999" ]]; then
236 + EGIT_REPO_URI="https://github.com/KhronosGroup/Vulkan-ValidationLayers.git"
237 + EGIT_SUBMODULES=()
238 + inherit git-r3
239 +else
240 + EGIT_COMMIT="0759b0fd2cd4d1db9b3968cb2684872c1fb11628"
241 + KEYWORDS="~amd64"
242 + SRC_URI="https://github.com/KhronosGroup/Vulkan-ValidationLayers/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
243 + S="${WORKDIR}/Vulkan-ValidationLayers-${EGIT_COMMIT}"
244 +fi
245 +
246 +inherit python-any-r1 cmake-multilib
247 +
248 +DESCRIPTION="Vulkan Validation Layers"
249 +HOMEPAGE="https://github.com/KhronosGroup/Vulkan-ValidationLayers"
250 +
251 +LICENSE="Apache-2.0"
252 +SLOT="0"
253 +IUSE="X wayland"
254 +
255 +RDEPEND=""
256 +DEPEND="${PYTHON_DEPS}
257 + dev-util/glslang:=[${MULTILIB_USEDEP}]
258 + >=dev-util/spirv-tools-2018.2-r1:=[${MULTILIB_USEDEP}]
259 + dev-util/vulkan-headers
260 + wayland? ( dev-libs/wayland:=[${MULTILIB_USEDEP}] )
261 + X? (
262 + x11-libs/libX11:=[${MULTILIB_USEDEP}]
263 + x11-libs/libXrandr:=[${MULTILIB_USEDEP}]
264 + )"
265 +
266 +PATCHES=(
267 + "${FILESDIR}/${PN}-Use-usr-for-vulkan-headers.patch"
268 + "${FILESDIR}/${PN}-Use-a-file-to-get-the-spirv-tools-commit-ID.patch"
269 + )
270 +
271 +multilib_src_configure() {
272 + local mycmakeargs=(
273 + -DCMAKE_SKIP_RPATH=True
274 + -DBUILD_WSI_MIR_SUPPORT=False
275 + -DBUILD_WSI_WAYLAND_SUPPORT=$(usex wayland)
276 + -DBUILD_WSI_XCB_SUPPORT=$(usex X)
277 + -DBUILD_WSI_XLIB_SUPPORT=$(usex X)
278 + -DBUILD_TESTS=False
279 + -DGLSLANG_INSTALL_DIR="/usr"
280 + )
281 + cmake-utils_src_configure
282 +}