[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: