From a4ccaceaca97b275cf2b7b1aeac24fa0c85d0937 Mon Sep 17 00:00:00 2001 From: MSVSphere Packaging Team Date: Tue, 26 Nov 2024 19:18:09 +0300 Subject: [PATCH] import shaderc-2024.0-1.el10 --- .gitignore | 1 + .shaderc.metadata | 1 + ...p-third-party-code-in-CMakeLists.txt.patch | 24 ++ SOURCES/glslang_linker_flags.patch | 24 ++ SPECS/shaderc.spec | 259 ++++++++++++++++++ 5 files changed, 309 insertions(+) create mode 100644 .gitignore create mode 100644 .shaderc.metadata create mode 100644 SOURCES/0001-Drop-third-party-code-in-CMakeLists.txt.patch create mode 100644 SOURCES/glslang_linker_flags.patch create mode 100644 SPECS/shaderc.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ac73806 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/shaderc-2024.0.tar.gz diff --git a/.shaderc.metadata b/.shaderc.metadata new file mode 100644 index 0000000..93dbd87 --- /dev/null +++ b/.shaderc.metadata @@ -0,0 +1 @@ +5c6d747e060e74f49e0a1f872dccefd87808cf77 SOURCES/shaderc-2024.0.tar.gz diff --git a/SOURCES/0001-Drop-third-party-code-in-CMakeLists.txt.patch b/SOURCES/0001-Drop-third-party-code-in-CMakeLists.txt.patch new file mode 100644 index 0000000..312864e --- /dev/null +++ b/SOURCES/0001-Drop-third-party-code-in-CMakeLists.txt.patch @@ -0,0 +1,24 @@ +diff -up shaderc-24275a11d81a6b33ef345878f8a4ef929c95a116/CMakeLists.txt.orig shaderc-24275a11d81a6b33ef345878f8a4ef929c95a116/CMakeLists.txt +--- shaderc-24275a11d81a6b33ef345878f8a4ef929c95a116/CMakeLists.txt.orig 2021-03-05 13:50:35.469018657 +0100 ++++ shaderc-24275a11d81a6b33ef345878f8a4ef929c95a116/CMakeLists.txt 2021-03-05 13:52:02.679524176 +0100 +@@ -112,20 +112,10 @@ endif(MSVC) + + # Configure subdirectories. + # We depend on these for later projects, so they should come first. +-add_subdirectory(third_party) + + add_subdirectory(libshaderc_util) + add_subdirectory(libshaderc) + add_subdirectory(glslc) +-if(${SHADERC_ENABLE_EXAMPLES}) +- add_subdirectory(examples) +-endif() +- +-add_custom_target(build-version +- ${Python_EXECUTABLE} +- ${CMAKE_CURRENT_SOURCE_DIR}/utils/update_build_version.py +- ${shaderc_SOURCE_DIR} ${spirv-tools_SOURCE_DIR} ${glslang_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/build-version.inc +- COMMENT "Update build-version.inc in the Shaderc build directory (if necessary).") + + function(define_pkg_config_file NAME LIBS) + add_custom_target(${NAME}-pkg-config ALL diff --git a/SOURCES/glslang_linker_flags.patch b/SOURCES/glslang_linker_flags.patch new file mode 100644 index 0000000..0bc540c --- /dev/null +++ b/SOURCES/glslang_linker_flags.patch @@ -0,0 +1,24 @@ +--- a/libshaderc_util/CMakeLists.txt ++++ b/libshaderc_util/CMakeLists.txt +@@ -47,7 +47,7 @@ add_definitions(-DENABLE_HLSL) + find_package(Threads) + target_link_libraries(shaderc_util PRIVATE + glslang SPIRV +- SPIRV-Tools-opt ${CMAKE_THREAD_LIBS_INIT}) ++ SPIRV-Tools-opt MachineIndependent GenericCodeGen ${CMAKE_THREAD_LIBS_INIT}) + + shaderc_add_tests( + TEST_PREFIX shaderc_util + +--- a/glslc/CMakeLists.txt ++++ b/glslc/CMakeLists.txt +@@ -43,7 +43,7 @@ if (SHADERC_ENABLE_WGSL_OUTPUT) + endif(SHADERC_ENABLE_WGSL_OUTPUT) + + target_link_libraries(glslc PRIVATE +- glslang SPIRV # Glslang libraries ++ glslang SPIRV MachineIndependent GenericCodeGen # Glslang libraries + $<$:libtint> # Tint libraries, optional + shaderc_util shaderc # internal Shaderc libraries + ${CMAKE_THREAD_LIBS_INIT}) + diff --git a/SPECS/shaderc.spec b/SPECS/shaderc.spec new file mode 100644 index 0000000..db98b60 --- /dev/null +++ b/SPECS/shaderc.spec @@ -0,0 +1,259 @@ +## START: Set by rpmautospec +## (rpmautospec version 0.6.5) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 1; + base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); + print(release_number + base_release_number - 1); +}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} +## END: Set by rpmautospec + +# Glslang revision from packaged version +%global glslang_version 436237a4ab2be3225acedc66016ea2aa82946b37 + +Name: shaderc +Version: 2024.0 +Release: %autorelease +Summary: Collection of tools, libraries, and tests for Vulkan shader compilation + +License: Apache-2.0 +URL: https://github.com/google/shaderc +Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz +# Patch to unbundle 3rd party code +Patch: 0001-Drop-third-party-code-in-CMakeLists.txt.patch +Patch: glslang_linker_flags.patch + +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: ninja-build +BuildRequires: sed +BuildRequires: spirv-tools + +BuildRequires: glslang-devel +BuildRequires: python3-devel +BuildRequires: spirv-headers-devel +BuildRequires: spirv-tools-devel + +%description +A collection of tools, libraries and tests for shader compilation. + +Shaderc aims to to provide: + - a command line compiler with GCC- and Clang-like usage, for better + integration with build systems + - an API where functionality can be added without breaking existing clients + - an API supporting standard concurrency patterns across multiple + operating systems + - increased functionality such as file #include support + +%package -n glslc +Summary: A command line compiler for GLSL/HLSL to SPIR-V + +%description -n glslc +A command line compiler for GLSL/HLSL to SPIR-V. + +%package -n libshaderc +Summary: A library for compiling shader strings into SPIR-V + +%description -n libshaderc +A library for compiling shader strings into SPIR-V. + +%package -n libshaderc-devel +Summary: Development files for libshaderc +Requires: libshaderc%{?_isa} = %{version}-%{release} + +%description -n libshaderc-devel +A library for compiling shader strings into SPIR-V. + +Development files for libshaderc. + +%package -n libshaderc-static +Summary: A library for compiling shader strings into SPIR-V (static libraries) + +%description -n libshaderc-static +A library for compiling shader strings into SPIR-V. + +Static libraries for libshaderc. + +%prep +%autosetup -p1 + +rm -r third_party + +# Stolen from Gentoo +# Create build-version.inc since we want to use our packaged +# SPIRV-Tools and glslang +sed -i -e '/build-version/d' glslc/CMakeLists.txt +echo \"shaderc $(grep -m1 -o '^v[[:digit:]]\{4\}\.[[:digit:]]\(-dev\)\? [[:digit:]]\{4\}-[[:digit:]]\{2\}-[[:digit:]]\{2\}$' CHANGES)\" \ + > glslc/src/build-version.inc +echo \"spirv-tools $(grep -m1 -o '^v[[:digit:]]\{4\}\.[[:digit:]]\(-dev\)\? [[:digit:]]\{4\}-[[:digit:]]\{2\}-[[:digit:]]\{2\}$' /usr/share/doc/spirv-tools/CHANGES)\" \ + >> glslc/src/build-version.inc +echo \"glslang %{glslang_version}\" >> glslc/src/build-version.inc + +# Point to correct include +sed -i 's|SPIRV/GlslangToSpv.h|glslang/SPIRV/GlslangToSpv.h|' libshaderc_util/src/compiler.cc + +%build +# We disable the tests because they don't work with our unbundling of 3rd party. +# See https://github.com/google/shaderc/issues/470 +%cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_SKIP_RPATH=True \ + -DSHADERC_SKIP_TESTS=True \ + -DPYTHON_EXECUTABLE=%{python3} \ + -GNinja +%cmake_build + +%install +%cmake_install + +%check +%ctest + +%files -n glslc +%doc glslc/README.asciidoc +%license LICENSE +%{_bindir}/glslc + +%files -n libshaderc +%doc AUTHORS CHANGES CONTRIBUTORS README.md +%license LICENSE +%{_libdir}/libshaderc_shared.so.1* + +%files -n libshaderc-devel +%{_includedir}/%{name}/ +%{_libdir}/libshaderc_shared.so +%{_libdir}/pkgconfig/shaderc.pc + +%files -n libshaderc-static +%license LICENSE +%{_libdir}/libshaderc.a +%{_libdir}/libshaderc_combined.a +%{_libdir}/pkgconfig/shaderc_static.pc +%{_libdir}/pkgconfig/shaderc_combined.pc + +%changelog +* Tue Nov 26 2024 MSVSphere Packaging Team - 2024.0-1 +- Rebuilt for MSVSphere 10 + +## START: Generated by rpmautospec +* Fri Jul 05 2024 José Expósito - 2024.0-1 +- Update to 1.3.280.0 SDK + +* Mon Jun 24 2024 Troy Dawson - 2023.7-4 +- Bump release for June 2024 mass rebuild + +* Tue Apr 30 2024 Tomas Pelka - 2023.7-3 +- Add gating.yaml via API + +* Sat Jan 27 2024 Fedora Release Engineering - 2023.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Nov 02 2023 José Expósito - 2023.7-1 +- update to 1.3.268.0 SDK + +* Sat Jul 22 2023 Fedora Release Engineering - 2023.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jun 22 2023 Davide Cavalca - 2023.3-1 +- Update to 2023.3 and tidy up the spec; Fixes: RHBZ#1997985 + +* Thu Feb 16 2023 Dave Airlie - 2023.1-3 +- fix build-version attempt + +* Thu Feb 16 2023 Dave Airlie - 2023.1-2 +- upload sources + +* Thu Feb 16 2023 Dave Airlie - 2023.1-1 +- update to 2023.1 for sdk 1.3.239.0 release + +* Tue Jan 31 2023 Mamoru TASAKA - 2022.2-5 +- Backport upstream patch to support current spirv-tools + +* Sat Jan 21 2023 Fedora Release Engineering - 2022.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sun Oct 23 2022 Robert-André Mauchin - 2022.2-3 +- Update to 2022.2 + +* Sun Oct 23 2022 Robert-André Mauchin +- Update to 2022.2 + +* Fri Aug 26 2022 Dave Airlie - 2022.2-1 +- update shaderc to sdk 1.3.224 release version + +* Sat Jul 23 2022 Fedora Release Engineering - 2021.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jan 22 2022 Fedora Release Engineering - 2021.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Mon Dec 06 2021 Dave Airlie - 2021.3-3 +- force a bump for spirv-tools abi change + +* Thu Dec 02 2021 Dave Airlie - 2021.3-2 +- add updates sources + +* Thu Dec 02 2021 Dave Airlie - 2021.3-1 +- Update to v2021.3 + +* Sun Jul 25 2021 Robert-André Mauchin - 2021.0-5 +- Update to 2021.1 Close: rhbz#1974600 + +* Fri Jul 23 2021 Fedora Release Engineering - 2021.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Sun May 30 11:26:42 CEST 2021 Robert-André Mauchin - 2021.0-2 +- Update to 2021.0 +- Fix changelog +- Close: rhbz#1952332 + +* Fri Mar 5 13:43:44 CET 2021 Robert-André Mauchin - 2020.5-1 +- Update to 2020.5 +- Close: rhbz#1931006 + +* Wed Jan 27 2021 Fedora Release Engineering - 2020.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Sat Dec 26 15:21:39 CET 2020 Robert-André Mauchin - 2020.4-1 +- Update to 2020.4 +- Close: rhbz#1906260 + +* Sat Dec 05 2020 Robert-André Mauchin - 2020.3-1 +- Update to 2020.3 +- Close: rhbz#1875183 + +* Sat Aug 08 2020 Robert-André Mauchin - 2020.2-1 +- Update to 2020.2 + +* Sat Aug 01 2020 Fedora Release Engineering - 2020.1-3 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 2020.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jun 17 20:15:27 CEST 2020 Robert-André Mauchin - 2020.1-1 +- Update to 2020.1 + +* Sun Feb 02 20:53:01 CET 2020 Robert-André Mauchin - 2019.1-1 +- Update to 2019.1 + +* Thu Jan 30 2020 Fedora Release Engineering - 2019.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Jul 26 2019 Fedora Release Engineering - 2019.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Mon Jun 10 00:18:18 CEST 2019 Robert-André Mauchin - 2019.0-1 +- Release 2019.0 + +* Sat Feb 02 2019 Fedora Release Engineering - 2018.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Wed Oct 03 2018 Robert-André Mauchin - 2018.0-1 +- Release 2018.0 + +* Mon Sep 24 2018 Robert-André Mauchin - 2017.2-1 +- Initial build + + +## END: Generated by rpmautospec