diff mbox series

[PATCH/next,3/7] package/vulkan-tools: new package

Message ID 20230830195446.3958486-3-aduskett@gmail.com
State Accepted
Headers show
Series [PATCH/next,1/7] package/vulkan-headers: bump version to 1.3.262 | expand

Commit Message

Adam Duskett Aug. 30, 2023, 7:54 p.m. UTC
Use $(VULKAN_HEADERS_VERSION) for VULKAN_TOOLS_VERSION as the vulkan packages
need to all be the same version.

Signed-off-by: Adam Duskett <aduskett@gmail.com>
---
 DEVELOPERS                             |  1 +
 package/Config.in                      |  1 +
 package/vulkan-tools/Config.in         | 17 ++++++++++
 package/vulkan-tools/vulkan-tools.hash |  3 ++
 package/vulkan-tools/vulkan-tools.mk   | 47 ++++++++++++++++++++++++++
 5 files changed, 69 insertions(+)
 create mode 100644 package/vulkan-tools/Config.in
 create mode 100644 package/vulkan-tools/vulkan-tools.hash
 create mode 100644 package/vulkan-tools/vulkan-tools.mk

Comments

Thomas Petazzoni Sept. 2, 2023, 10:02 a.m. UTC | #1
On Wed, 30 Aug 2023 13:54:42 -0600
Adam Duskett <aduskett@gmail.com> wrote:

> Use $(VULKAN_HEADERS_VERSION) for VULKAN_TOOLS_VERSION as the vulkan packages
> need to all be the same version.
> 
> Signed-off-by: Adam Duskett <aduskett@gmail.com>
> ---
>  DEVELOPERS                             |  1 +
>  package/Config.in                      |  1 +
>  package/vulkan-tools/Config.in         | 17 ++++++++++
>  package/vulkan-tools/vulkan-tools.hash |  3 ++
>  package/vulkan-tools/vulkan-tools.mk   | 47 ++++++++++++++++++++++++++
>  5 files changed, 69 insertions(+)
>  create mode 100644 package/vulkan-tools/Config.in
>  create mode 100644 package/vulkan-tools/vulkan-tools.hash
>  create mode 100644 package/vulkan-tools/vulkan-tools.mk

Applied to next, thanks. I was initially surprised that only vulkaninfo
gets installed but indeed you disable everything else (cube, icd, etc.).

Thomas
diff mbox series

Patch

diff --git a/DEVELOPERS b/DEVELOPERS
index e83b7c1b2b..3c2187afac 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -29,6 +29,7 @@ 
 N:	Adam Duskett <aduskett@gmail.com>
 F:	package/firewalld/
 F:	package/vulkan-loader/
+F:	package/vulkan-tools/
 
 N:	Adam Heinrich <adam@adamh.cz>
 F:	package/jack1/
diff --git a/package/Config.in b/package/Config.in
index 51c2ee2b3e..5fa34b1f0d 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -370,6 +370,7 @@  comment "Graphic libraries"
 	source "package/tk/Config.in"
 	source "package/vulkan-headers/Config.in"
 	source "package/vulkan-loader/Config.in"
+	source "package/vulkan-tools/Config.in"
 
 comment "Other GUIs"
 	source "package/qt5/Config.in"
diff --git a/package/vulkan-tools/Config.in b/package/vulkan-tools/Config.in
new file mode 100644
index 0000000000..54fa539dab
--- /dev/null
+++ b/package/vulkan-tools/Config.in
@@ -0,0 +1,17 @@ 
+config BR2_PACKAGE_VULKAN_TOOLS
+	bool "vulkan-tools"
+	depends on BR2_INSTALL_LIBSTDCPP # vulkan-loader
+	depends on !BR2_STATIC_LIBS # vullan-loader
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11
+	depends on BR2_TOOLCHAIN_HAS_THREADS # vulkan-loader
+	select BR2_PACKAGE_VULKAN_HEADERS
+	select BR2_PACKAGE_VULKAN_LOADER
+
+	help
+	  The Khronos official Vulkan Tools and Utilities.
+
+	  https://github.com/KhronosGroup/Vulkan-Tools
+
+comment "vulkan-tools needs a toolchain w/ C++, dynamic library, threads, gcc >= 4.9"
+	depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \
+		!BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
diff --git a/package/vulkan-tools/vulkan-tools.hash b/package/vulkan-tools/vulkan-tools.hash
new file mode 100644
index 0000000000..24c0697784
--- /dev/null
+++ b/package/vulkan-tools/vulkan-tools.hash
@@ -0,0 +1,3 @@ 
+# Locally calculated
+sha256  8c77d02694d0516ae2ba3f3718745647e87e788ef93faabb2e3674ff32608010  vulkan-tools-1.3.262.tar.gz
+sha256  cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30  LICENSE.txt
diff --git a/package/vulkan-tools/vulkan-tools.mk b/package/vulkan-tools/vulkan-tools.mk
new file mode 100644
index 0000000000..68f7c1c04d
--- /dev/null
+++ b/package/vulkan-tools/vulkan-tools.mk
@@ -0,0 +1,47 @@ 
+################################################################################
+#
+# vulkan-tools
+#
+################################################################################
+
+VULKAN_TOOLS_VERSION = $(VULKAN_HEADERS_VERSION)
+VULKAN_TOOLS_SITE = $(call github,KhronosGroup,Vulkan-Tools,v$(VULKAN_TOOLS_VERSION))
+VULKAN_TOOLS_LICENSE = Apache-2.0
+VULKAN_TOOLS_LICENSE_FILES = LICENSE.txt
+
+VULKAN_TOOLS_DEPENDENCIES = \
+	vulkan-headers \
+	vulkan-loader
+
+VULKAN_TOOLS_CONF_OPTS += \
+	-DBUILD_CUBE=OFF \
+	-DBUILD_ICD=OFF \
+	-DBUILD_VULKANINFO=ON \
+	-DINSTALL_ICD=OFF
+
+ifeq ($(BR2_PACKAGE_DIRECTFB),y)
+VULKAN_TOOLS_DEPENDENCIES += directfb
+VULKAN_TOOLS_CONF_OPTS += -DBUILD_WSI_DIRECTFB_SUPPORT=ON
+else
+VULKAN_TOOLS_CONF_OPTS += -DBUILD_WSI_DIRECTFB_SUPPORT=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_LIBXCB),y)
+VULKAN_TOOLS_DEPENDENCIES += libxcb
+VULKAN_TOOLS_CONF_OPTS += \
+	-DBUILD_WSI_XCB_SUPPORT=ON \
+	-DBUILD_WSI_XLIB_SUPPORT=ON
+else
+VULKAN_TOOLS_CONF_OPTS += \
+	-DBUILD_WSI_XCB_SUPPORT=OFF \
+	-DBUILD_WSI_XLIB_SUPPORT=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_WAYLAND),y)
+VULKAN_TOOLS_DEPENDENCIES += wayland
+VULKAN_TOOLS_CONF_OPTS += -DBUILD_WSI_WAYLAND_SUPPORT=ON
+else
+VULKAN_TOOLS_CONF_OPTS += -DBUILD_WSI_WAYLAND_SUPPORT=OFF
+endif
+
+$(eval $(cmake-package))