pkgsrc-WIP-changes archive

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

Import parallel/spirv-tools



Module Name:	pkgsrc-wip
Committed By:	kikadf <kikadf.01%gmail.com@localhost>
Pushed By:	kikadf
Date:		Sat Apr 11 14:53:49 2026 +0200
Changeset:	e692f89c49c42677ee39d0f9ebc31d03ba07d819

Modified Files:
	Makefile
Added Files:
	spirv-tools/DESCR
	spirv-tools/Makefile
	spirv-tools/PLIST
	spirv-tools/buildlink3.mk
	spirv-tools/distinfo
	spirv-tools/patches/patch-source_opt_decoration__manager.cpp

Log Message:
Import parallel/spirv-tools

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=e692f89c49c42677ee39d0f9ebc31d03ba07d819

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 Makefile                                           |  1 +
 spirv-tools/DESCR                                  |  9 +++++
 spirv-tools/Makefile                               | 33 ++++++++++++++++
 spirv-tools/PLIST                                  | 46 ++++++++++++++++++++++
 spirv-tools/buildlink3.mk                          | 24 +++++++++++
 spirv-tools/distinfo                               |  6 +++
 .../patch-source_opt_decoration__manager.cpp       | 17 ++++++++
 7 files changed, 136 insertions(+)

diffs:
diff --git a/Makefile b/Makefile
index 36afb0d803..6da77b0118 100644
--- a/Makefile
+++ b/Makefile
@@ -5522,6 +5522,7 @@ SUBDIR+=	spidermonkey31
 SUBDIR+=	spiralloops
 SUBDIR+=	spiralsynth
 SUBDIR+=	spirv-headers
+SUBDIR+=	spirv-tools
 SUBDIR+=	splix
 SUBDIR+=	spot
 SUBDIR+=	spread4
diff --git a/spirv-tools/DESCR b/spirv-tools/DESCR
new file mode 100644
index 0000000000..2f4d81d723
--- /dev/null
+++ b/spirv-tools/DESCR
@@ -0,0 +1,9 @@
+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/spirv-tools/Makefile b/spirv-tools/Makefile
new file mode 100644
index 0000000000..bac690d838
--- /dev/null
+++ b/spirv-tools/Makefile
@@ -0,0 +1,33 @@
+# $NetBSD: Makefile,v 1.5 2026/03/25 23:01:21 wiz Exp $
+
+DISTNAME=	SPIRV-Tools-2025.5
+PKGNAME=	${DISTNAME:tl}
+CATEGORIES=	parallel
+MASTER_SITES=	${MASTER_SITE_GITHUB:=KhronosGroup/}
+GITHUB_TAG=	v${PKGVERSION_NOREV}
+
+MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=	https://github.com/KhronosGroup/SPIRV-Tools/
+COMMENT=	API and commands for processing SPIR-V modules
+LICENSE=	apache-2.0
+
+USE_TOOLS+=	pkg-config
+USE_LANGUAGES=	c c++
+
+PKGCONFIG_OVERRIDE+=	cmake/SPIRV-Tools-shared.pc.in
+PKGCONFIG_OVERRIDE+=	cmake/SPIRV-Tools.pc.in
+
+WRKSRC=		${WRKDIR}/${DISTNAME}
+
+REPLACE_SH+=	tools/lesspipe/spirv-lesspipe.sh
+
+CFLAGS+=	-Wno-error=array-bounds
+
+CMAKE_CONFIGURE_ARGS+=	-DCMAKE_BUILD_TYPE=Release
+CMAKE_CONFIGURE_ARGS+=	-DSPIRV-Headers_SOURCE_DIR=${BUILDLINK_PREFIX.spirv-headers}
+
+.include "../../devel/cmake/build.mk"
+
+.include "../../lang/python/tool.mk"
+.include "../../parallel/spirv-headers/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/spirv-tools/PLIST b/spirv-tools/PLIST
new file mode 100644
index 0000000000..27b5c62342
--- /dev/null
+++ b/spirv-tools/PLIST
@@ -0,0 +1,46 @@
+@comment $NetBSD: PLIST,v 1.2 2025/10/04 12:14:22 tnn Exp $
+bin/spirv-as
+bin/spirv-cfg
+bin/spirv-diff
+bin/spirv-dis
+bin/spirv-lesspipe.sh
+bin/spirv-link
+bin/spirv-lint
+bin/spirv-objdump
+bin/spirv-opt
+bin/spirv-reduce
+bin/spirv-val
+include/spirv-tools/libspirv.h
+include/spirv-tools/libspirv.hpp
+include/spirv-tools/linker.hpp
+include/spirv-tools/optimizer.hpp
+lib/cmake/SPIRV-Tools-diff/SPIRV-Tools-diffConfig.cmake
+lib/cmake/SPIRV-Tools-diff/SPIRV-Tools-diffTargets-release.cmake
+lib/cmake/SPIRV-Tools-diff/SPIRV-Tools-diffTargets.cmake
+lib/cmake/SPIRV-Tools-link/SPIRV-Tools-linkConfig.cmake
+lib/cmake/SPIRV-Tools-link/SPIRV-Tools-linkTargets-release.cmake
+lib/cmake/SPIRV-Tools-link/SPIRV-Tools-linkTargets.cmake
+lib/cmake/SPIRV-Tools-lint/SPIRV-Tools-lintConfig.cmake
+lib/cmake/SPIRV-Tools-lint/SPIRV-Tools-lintTargets-release.cmake
+lib/cmake/SPIRV-Tools-lint/SPIRV-Tools-lintTargets.cmake
+lib/cmake/SPIRV-Tools-opt/SPIRV-Tools-optConfig.cmake
+lib/cmake/SPIRV-Tools-opt/SPIRV-Tools-optTargets-release.cmake
+lib/cmake/SPIRV-Tools-opt/SPIRV-Tools-optTargets.cmake
+lib/cmake/SPIRV-Tools-reduce/SPIRV-Tools-reduceConfig.cmake
+lib/cmake/SPIRV-Tools-reduce/SPIRV-Tools-reduceTarget-release.cmake
+lib/cmake/SPIRV-Tools-reduce/SPIRV-Tools-reduceTarget.cmake
+lib/cmake/SPIRV-Tools-tools/SPIRV-Tools-toolsConfig.cmake
+lib/cmake/SPIRV-Tools-tools/SPIRV-Tools-toolsTargets-release.cmake
+lib/cmake/SPIRV-Tools-tools/SPIRV-Tools-toolsTargets.cmake
+lib/cmake/SPIRV-Tools/SPIRV-ToolsConfig.cmake
+lib/cmake/SPIRV-Tools/SPIRV-ToolsTarget-release.cmake
+lib/cmake/SPIRV-Tools/SPIRV-ToolsTarget.cmake
+lib/libSPIRV-Tools-diff.a
+lib/libSPIRV-Tools-link.a
+lib/libSPIRV-Tools-lint.a
+lib/libSPIRV-Tools-opt.a
+lib/libSPIRV-Tools-reduce.a
+lib/libSPIRV-Tools-shared.so
+lib/libSPIRV-Tools.a
+lib/pkgconfig/SPIRV-Tools-shared.pc
+lib/pkgconfig/SPIRV-Tools.pc
diff --git a/spirv-tools/buildlink3.mk b/spirv-tools/buildlink3.mk
new file mode 100644
index 0000000000..011af16679
--- /dev/null
+++ b/spirv-tools/buildlink3.mk
@@ -0,0 +1,24 @@
+# $NetBSD: buildlink3.mk,v 1.3 2025/10/04 12:14:22 tnn Exp $
+
+BUILDLINK_TREE+=	spirv-tools
+
+.if !defined(SPIRV_TOOLS_BUILDLINK3_MK)
+SPIRV_TOOLS_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.spirv-tools+=	spirv-tools>=2025.4
+BUILDLINK_PKGSRCDIR.spirv-tools?=	../../parallel/spirv-tools
+BUILDLINK_FILES.spirv-tools?=					\
+					bin/spirv-as		\
+					bin/spirv-cfg		\
+					bin/spirv-diff		\
+					bin/spirv-dis		\
+					bin/spirv-link		\
+					bin/spirv-lint		\
+					bin/spirv-objdump	\
+					bin/spirv-opt		\
+					bin/spirv-reduce	\
+					bin/spirv-val
+
+.endif	# SPIRV_TOOLS_BUILDLINK3_MK
+
+BUILDLINK_TREE+=	-spirv-tools
diff --git a/spirv-tools/distinfo b/spirv-tools/distinfo
new file mode 100644
index 0000000000..c0e8d3a93a
--- /dev/null
+++ b/spirv-tools/distinfo
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.4 2026/04/08 11:33:52 tnn Exp $
+
+BLAKE2s (SPIRV-Tools-2025.5.tar.gz) = 0ab1eb5e4e6f3ae9888c159c4e45557b956be3777af56b5c6d33f8fbcb552956
+SHA512 (SPIRV-Tools-2025.5.tar.gz) = cd702b4ab121d06d775f636bb4e4b745bb0d361b112f14fc719c8417723bcd947bdc67f28f7472432696a4f2462a7197a761885d51e6c66a65d48bf3e9983abe
+Size (SPIRV-Tools-2025.5.tar.gz) = 3422476 bytes
+SHA1 (patch-source_opt_decoration__manager.cpp) = 5be7a27f891d421f92ab77ccfac69585f04c49f4
diff --git a/spirv-tools/patches/patch-source_opt_decoration__manager.cpp b/spirv-tools/patches/patch-source_opt_decoration__manager.cpp
new file mode 100644
index 0000000000..faaec5607e
--- /dev/null
+++ b/spirv-tools/patches/patch-source_opt_decoration__manager.cpp
@@ -0,0 +1,17 @@
+$NetBSD: patch-source_opt_decoration__manager.cpp,v 1.1 2026/04/08 11:33:52 tnn Exp $
+
+GCC 16 issue
+https://github.com/KhronosGroup/SPIRV-Tools/commit/c28f5937bce369dde1d645299a8c9873da43dc72.patch
+
+--- source/opt/decoration_manager.cpp.orig	2025-11-19 18:50:43.000000000 +0000
++++ source/opt/decoration_manager.cpp
+@@ -543,7 +543,8 @@ void DecorationManager::CloneDecorations
+         const uint32_t num_operands = inst->NumOperands();
+         for (uint32_t i = 1; i < num_operands; i += 2) {
+           Operand op = inst->GetOperand(i);
+-          if (op.words[0] == from) {  // add new pair of operands: (to, literal)
++          if (!op.words.empty() &&
++              op.words[0] == from) {  // add new pair of operands: (to, literal)
+             inst->AddOperand(
+                 Operand(spv_operand_type_t::SPV_OPERAND_TYPE_ID, {to}));
+             op = inst->GetOperand(i + 1);


Home | Main Index | Thread Index | Old Index