Bug#884865: Patch to add glslang and spirv-tools packages
Tags: patch
Attached is a patch to the 10.65.2 package which is my take at implementing this. I just build/install from the external/glslang and external/spirv-tools directories, and include the results in respective packages. I hope it's helpful.
diff --git a/debian/control b/debian/control
index 0515dd1..b6267d9 100644
--- a/debian/control
+++ b/debian/control
@@ -58,3 +58,32 @@ Breaks: vulkan-sdk-runtime
Replaces: vulkan-sdk-runtime
Description: Miscellaneous Vulkan utilities
This package provides utilities for Vulkan, including vulkaninfo.
+
+Package: vulkan-glslang
+Section: libdevel
+Architecture: linux-any
+Depends:
+ libvulkan1 (= ${binary:Version}),
+ ${misc:Depends},
+Multi-Arch: same
+Description: Khronos reference front-end for GLSL and ESSL, and sample SPIR-V generator
+ Khronos reference front-end for GLSL and ESSL, and sample SPIR-V generator, but
+ built specifically from the vulkan repository for vulkan.
+
+Package: vulkan-spirv-tools
+Section: libdevel
+Architecture: linux-any
+Depends:
+ libvulkan1 (= ${binary:Version}),
+ ${misc:Depends},
+Multi-Arch: same
+Description: API and commands for processing SPIR-V modules
+ The SPIR-V Tools project provides an API and commands for processing SPIR-V
+ modules.
+ .
+ The project includes an assembler, binary module parser, disassembler,
+ validator, and optimizer for SPIR-V. Except for the optimizer, all are based on
+ a common static library. The library contains all of the implementation
+ details, and is used in the standalone tools whilst also enabling integration
+ into other code bases directly. The optimizer implementation resides in its own
+ library, which depends on the core library.
diff --git a/debian/rules b/debian/rules
index 9e28487..9201639 100755
--- a/debian/rules
+++ b/debian/rules
@@ -26,7 +26,7 @@ build_spirv:
cd external/glslang/build && \
(cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./install -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON ..; make $(MAKE_FLAGS); make install)
cd external/spirv-tools/build/ && \
- (cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON ..; make $(MAKE_FLAGS))
+ (cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./install -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON ..; make $(MAKE_FLAGS); make install)
override_dh_auto_configure: build_spirv
dh_auto_configure -- \
diff --git a/debian/vulkan-glslang.dirs b/debian/vulkan-glslang.dirs
new file mode 100644
index 0000000..ec6b764
--- /dev/null
+++ b/debian/vulkan-glslang.dirs
@@ -0,0 +1,4 @@
+usr/include/glslang/Public
+usr/include/glslang/Include
+usr/include/glslang/MachineIndependent
+usr/include/SPIRV
diff --git a/debian/vulkan-glslang.install b/debian/vulkan-glslang.install
new file mode 100644
index 0000000..fd0542e
--- /dev/null
+++ b/debian/vulkan-glslang.install
@@ -0,0 +1,6 @@
+external/glslang/build/install/include/SPIRV/* usr/include/SPIRV
+external/glslang/build/install/include/glslang/Public/* usr/include/glslang/Public
+external/glslang/build/install/include/glslang/Include/* usr/include/glslang/Include
+external/glslang/build/install/include/glslang/MachineIndependent/* usr/include/glslang/MachineIndependent
+external/glslang/build/install/lib/* usr/lib
+external/glslang/build/install/bin/* usr/bin
diff --git a/debian/vulkan-spirv-tools.dirs b/debian/vulkan-spirv-tools.dirs
new file mode 100644
index 0000000..e0c6173
--- /dev/null
+++ b/debian/vulkan-spirv-tools.dirs
@@ -0,0 +1 @@
+usr/include/spirv-tools
diff --git a/debian/vulkan-spirv-tools.install b/debian/vulkan-spirv-tools.install
new file mode 100644
index 0000000..8b4e5ea
--- /dev/null
+++ b/debian/vulkan-spirv-tools.install
@@ -0,0 +1,3 @@
+external/spirv-tools/build/install/include/spirv-tools/* usr/include/spirv-tools
+external/spirv-tools/build/install/lib/* usr/lib
+external/spirv-tools/build/install/bin/* usr/bin
Reply to: