media-libs/vulkan-loader: Adapt 9999 to new packaging
authorNick Sarnie <sarnex@gentoo.org>
Sat, 26 May 2018 22:43:30 +0000 (18:43 -0400)
committerNick Sarnie <sarnex@gentoo.org>
Sat, 26 May 2018 22:58:31 +0000 (18:58 -0400)
Change EGIT_REPO_URI
Drop demos USE
Depend on media-libs/vulkan-layers for layers USE

Package-Manager: Portage-2.3.40, Repoman-2.3.9

media-libs/vulkan-loader/files/vulkan-loader-9999-Do-not-install-vulkan-headers.patch [new file with mode: 0644]
media-libs/vulkan-loader/files/vulkan-loader-9999-Use-usr-for-vulkan-headers.patch [new file with mode: 0644]
media-libs/vulkan-loader/vulkan-loader-9999.ebuild

diff --git a/media-libs/vulkan-loader/files/vulkan-loader-9999-Do-not-install-vulkan-headers.patch b/media-libs/vulkan-loader/files/vulkan-loader-9999-Do-not-install-vulkan-headers.patch
new file mode 100644 (file)
index 0000000..b0cc73c
--- /dev/null
@@ -0,0 +1,24 @@
+From d3d9f1b73732d4f9d4d33bc7fa782cadbc10d80f Mon Sep 17 00:00:00 2001
+From: Nick Sarnie <sarnex@gentoo.org>
+Date: Mon, 21 May 2018 22:34:25 -0400
+Subject: [PATCH] Do not install vulkan headers
+
+Signed-off-by: Nick Sarnie <sarnex@gentoo.org>
+---
+ CMakeLists.txt | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 627de6f70..65f5ea0d7 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -170,7 +170,6 @@ if(NOT WIN32)
+     endif()
+ endif()
+-install(DIRECTORY "${HEADERS_DIR}/include/vulkan" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/vk_layer_dispatch_table.h" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/vulkan")
+ # uninstall target
+-- 
+2.17.0
diff --git a/media-libs/vulkan-loader/files/vulkan-loader-9999-Use-usr-for-vulkan-headers.patch b/media-libs/vulkan-loader/files/vulkan-loader-9999-Use-usr-for-vulkan-headers.patch
new file mode 100644 (file)
index 0000000..49dd54c
--- /dev/null
@@ -0,0 +1,51 @@
+From d9b3835e1ad455853e3a58ec0d2a0653e5952a21 Mon Sep 17 00:00:00 2001
+From: Nick Sarnie <sarnex@gentoo.org>
+Date: Mon, 26 May 2018 16:57:33 -0400
+Subject: [PATCH] Use /usr for vulkan-headers
+
+Signed-off-by: Nick Sarnie <sarnex@gentoo.org>
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e0b744a87..14034d33c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -68,7 +68,7 @@ if(WIN32)
+ endif()
+ set(SCRIPTS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/scripts")
+-set(HEADERS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/Vulkan-Headers")
++set(HEADERS_DIR "/usr")
+ # Output warning if vulkan headers submodule contents are not present
+ if (NOT EXISTS "${HEADERS_DIR}/include/vulkan/vulkan_core.h")
+@@ -131,8 +131,9 @@ set (PYTHON_CMD ${PYTHON_EXECUTABLE})
+ # Define macro used for building vkxml generated files
+ macro(run_vk_xml_generate dependency output)
+     add_custom_command(OUTPUT ${output}
+-    COMMAND ${PYTHON_CMD} ${SCRIPTS_DIR}/lvl_genvk.py -registry ${HEADERS_DIR}/registry/vk.xml ${output}
+-    DEPENDS ${HEADERS_DIR}/registry/vk.xml ${HEADERS_DIR}/registry/generator.py ${SCRIPTS_DIR}/${dependency} ${SCRIPTS_DIR}/lvl_genvk.py ${HEADERS_DIR}/registry/reg.py
++    COMMAND ${PYTHON_CMD} ${SCRIPTS_DIR}/lvl_genvk.py -registry ${HEADERS_DIR}/include/vulkan/registry/vk.xml ${output}
++    DEPENDS ${HEADERS_DIR}/include/vulkan/registry/vk.xml ${HEADERS_DIR}/include/vulkan/registry/generator.py
++    ${SCRIPTS_DIR}/${dependency}  ${SCRIPTS_DIR}/lvl_genvk.py ${HEADERS_DIR}/include/vulkan/registry/reg.py
+     )
+ endmacro()
+diff --git a/scripts/lvl_genvk.py b/scripts/lvl_genvk.py
+index 0de555fae..dab543ed3 100644
+--- a/scripts/lvl_genvk.py
++++ b/scripts/lvl_genvk.py
+@@ -17,7 +17,7 @@
+ import argparse, cProfile, pdb, string, sys, time, os
+ scripts_dir = os.path.dirname(os.path.abspath(__file__))
+-registry_dir = os.path.join(scripts_dir, '../Vulkan-Headers/registry')
++registry_dir = os.path.join(scripts_dir, '/usr/include/vulkan/registry')
+ sys.path.insert(0, registry_dir)
+ from reg import *
+-- 
+2.17.0
+
index b83dbcb76bcd577fefcfb120f6e0e39328cfc943..ddfe098eb54cf639ba70424709885cb82504e2f3 100644 (file)
@@ -5,12 +5,13 @@ EAPI=6
 PYTHON_COMPAT=( python3_{4,5,6} )
 
 if [[ "${PV}" == "9999" ]]; then
-       EGIT_REPO_URI="https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers.git"
+       EGIT_REPO_URI="https://github.com/KhronosGroup/Vulkan-Loader.git"
+       EGIT_SUBMODULES=()
        inherit git-r3
 else
        KEYWORDS="~amd64"
-       SRC_URI="https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/archive/sdk-${PV}.tar.gz -> ${P}.tar.gz"
-       S="${WORKDIR}/Vulkan-LoaderAndValidationLayers-sdk-${PV}"
+       SRC_URI="https://github.com/KhronosGroup/Vulkan-Loader/archive/sdk-${PV}.tar.gz -> ${P}.tar.gz"
+       S="${WORKDIR}/Vulkan-Loader-sdk-${PV}"
 fi
 
 inherit python-any-r1 cmake-multilib
@@ -20,31 +21,27 @@ HOMEPAGE="https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers"
 
 LICENSE="Apache-2.0"
 SLOT="0"
-IUSE="demos layers wayland X"
-REQUIRED_USE="demos? ( X )"
+IUSE="layers wayland X"
 
 RDEPEND=""
 DEPEND="${PYTHON_DEPS}
-       demos? ( dev-util/glslang:=[${MULTILIB_USEDEP}] )
-       layers? (
-                       dev-util/glslang:=[${MULTILIB_USEDEP}]
-                       >=dev-util/spirv-tools-2018.2-r1:=[${MULTILIB_USEDEP}]
-               )
+       dev-util/vulkan-headers
+       layers? ( media-libs/vulkan-layers:=[${MULTILIB_USEDEP}] )
        wayland? ( dev-libs/wayland:=[${MULTILIB_USEDEP}] )
        X? (
                x11-libs/libX11:=[${MULTILIB_USEDEP}]
                x11-libs/libXrandr:=[${MULTILIB_USEDEP}]
        )"
 
-PATCHES=( "${FILESDIR}/${PN}-Use-a-file-to-get-the-spirv-tools-commit-ID.patch" )
+PATCHES=(
+       "${FILESDIR}/${P}-Do-not-install-vulkan-headers.patch"
+       "${FILESDIR}/${P}-Use-usr-for-vulkan-headers.patch"
+)
 
 multilib_src_configure() {
        local mycmakeargs=(
                -DCMAKE_SKIP_RPATH=True
                -DBUILD_TESTS=False
-               -DBUILD_LAYERS=$(usex layers)
-               -DBUILD_DEMOS=$(usex demos)
-               -DBUILD_VKJSON=False
                -DBUILD_LOADER=True
                -DBUILD_WSI_MIR_SUPPORT=False
                -DBUILD_WSI_WAYLAND_SUPPORT=$(usex wayland)
@@ -59,3 +56,8 @@ multilib_src_install() {
 
        cmake-utils_src_install
 }
+
+pkg_postinst() {
+       einfo "USE=demos has been dropped as per upstream packaging"
+       einfo "vulkaninfo is now available in the media-libs/vulkan-tools package"
+}