diff --git a/.gitignore b/.gitignore index 1054d07..0d7072c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,26 +1,3 @@ /shaderc-7a23a01.tar.gz /shaderc-7d8582b.tar.gz /shaderc-34c412f.tar.gz -/shaderc-f76bb2f.tar.gz -/shaderc-7c2aa93.tar.gz -/shaderc-4162bb1.tar.gz -/shaderc-1fce597.tar.gz -/shaderc-0dbd899.tar.gz -/shaderc-24275a1.tar.gz -/shaderc-bdd134d.tar.gz -/shaderc-adca18d.tar.gz -/shaderc-1701a27.tar.gz -/shaderc-551f106.tar.gz -/shaderc-d0b0222.tar.gz -/shaderc-2023.3.tar.gz -/shaderc-2023.7.tar.gz -/shaderc-2023.8.tar.gz -/shaderc-2024.0.tar.gz -/3ac03b8ad85a8e328a6182cddee8d05810bd5a2c.tar.gz -/ff84893dd52d28f0b1737d2635733d952013bd9c.tar.gz -/caa54d9779d5605aca4e1a0c0c962a3d8f4aeb31.tar.gz -/3362e24c42ab5bf7ad32c0fec64b0a0ddeb2fda1.tar.gz -/8c2e602ce440b7739c95ff3d69cecb1adf6becda.tar.gz -/73743588fe9c39f2f1c780a087d94afac691a189.tar.gz -/301b4ede53d59b68bf55f95bb26412d9233c8187.tar.gz -/d5f08ae5c5a9a45165578445cbd0f9adf0223448.tar.gz diff --git a/.packit.yaml b/.packit.yaml deleted file mode 100644 index 1ce0fb0..0000000 --- a/.packit.yaml +++ /dev/null @@ -1,22 +0,0 @@ -# packit config for shaderc -# Build Stage 4 - depends on glslang - -jobs: - - job: koji_build - trigger: commit | koji_build - allowed_committers: [all_committers] - allowed_pr_authors: ['asrivats','jexposit'] - dist_git_branches: - - fedora-all - sidetag_group: vulkan-sdk-releases - dependencies: - - glslang - - - job: bodhi_update - trigger: koji_build - dist_git_branches: - - fedora-all - sidetag_group: vulkan-sdk-releases - dependencies: - - vulkan-validation-layers - - vulkan-tools diff --git a/0001-Drop-third-party-code-in-CMakeLists.txt.patch b/0001-Drop-third-party-code-in-CMakeLists.txt.patch index 312864e..32ea680 100644 --- a/0001-Drop-third-party-code-in-CMakeLists.txt.patch +++ b/0001-Drop-third-party-code-in-CMakeLists.txt.patch @@ -1,24 +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) +diff -up shaderc-34c412f21f945f4ef6ed4453f8b5dc4bb9d739e4/CMakeLists.txt.unbundle shaderc-34c412f21f945f4ef6ed4453f8b5dc4bb9d739e4/CMakeLists.txt +--- shaderc-34c412f21f945f4ef6ed4453f8b5dc4bb9d739e4/CMakeLists.txt.unbundle 2019-06-10 00:30:41.954316517 +0200 ++++ shaderc-34c412f21f945f4ef6ed4453f8b5dc4bb9d739e4/CMakeLists.txt 2019-06-10 01:10:11.672758769 +0200 +@@ -70,7 +70,6 @@ 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) + if(SHADERC_ENABLE_SPVC) + add_subdirectory(libshaderc_spvc) +@@ -81,12 +80,6 @@ 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).") + add_subdirectory(examples) +-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} +- 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 + COMMAND ${CMAKE_COMMAND} diff --git a/0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch b/0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch new file mode 100644 index 0000000..ad7de1f --- /dev/null +++ b/0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch @@ -0,0 +1,44 @@ +From 21c8be385b3fab5edcb934a6d99f69fd389c4e67 Mon Sep 17 00:00:00 2001 +From: Niklas Haas +Date: Tue, 29 May 2018 07:34:00 +0200 +Subject: [PATCH] Fix the link order of libglslang and libHLSL + +libglslang depends on libHLSL, so the latter needs to be specified last. +This fixes an issue when trying to build shaderc against system-wide +versions of libglslang/libHLSL, rather than the in-tree versions from +third_party. + +Additionally, libshaderc_util also depends on SPIRV-Tools +--- + glslc/CMakeLists.txt | 2 +- + libshaderc_util/CMakeLists.txt | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/glslc/CMakeLists.txt b/glslc/CMakeLists.txt +index acf6fb0..0f5d888 100644 +--- a/glslc/CMakeLists.txt ++++ b/glslc/CMakeLists.txt +@@ -18,7 +18,7 @@ add_library(glslc STATIC + shaderc_default_compile_options(glslc) + target_include_directories(glslc PUBLIC ${glslang_SOURCE_DIR}) + target_link_libraries(glslc PRIVATE glslang OSDependent OGLCompiler +- HLSL glslang SPIRV ${CMAKE_THREAD_LIBS_INIT}) ++ glslang SPIRV HLSL ${CMAKE_THREAD_LIBS_INIT}) + target_link_libraries(glslc PRIVATE shaderc_util shaderc) + + add_executable(glslc_exe src/main.cc) +diff --git a/libshaderc_util/CMakeLists.txt b/libshaderc_util/CMakeLists.txt +index 873540a..6d0c465 100644 +--- a/libshaderc_util/CMakeLists.txt ++++ b/libshaderc_util/CMakeLists.txt +@@ -34,8 +34,8 @@ endif(SHADERC_ENABLE_INSTALL) + + find_package(Threads) + target_link_libraries(shaderc_util PRIVATE +- glslang OSDependent OGLCompiler HLSL glslang SPIRV +- SPIRV-Tools-opt ${CMAKE_THREAD_LIBS_INIT}) ++ glslang OSDependent OGLCompiler glslang HLSL SPIRV ++ SPIRV-Tools-opt SPIRV-Tools ${CMAKE_THREAD_LIBS_INIT}) + + shaderc_add_tests( + TEST_PREFIX shaderc_util diff --git a/changelog b/changelog deleted file mode 100644 index 8d0f288..0000000 --- a/changelog +++ /dev/null @@ -1,57 +0,0 @@ -* 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 - diff --git a/glslang_linker_flags.patch b/glslang_linker_flags.patch deleted file mode 100644 index 0bc540c..0000000 --- a/glslang_linker_flags.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- 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/shaderc.spec b/shaderc.spec index 35693ce..f6e3797 100644 --- a/shaderc.spec +++ b/shaderc.spec @@ -1,27 +1,34 @@ -# Glslang revision from packaged version -%global glslang_version d5f08ae5c5a9a45165578445cbd0f9adf0223448 +# Release 2019.0 +%global commit 34c412f21f945f4ef6ed4453f8b5dc4bb9d739e4 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global snapshotdate 20190609 +%global gitversion v2019.0 + +# Need to keep this in sync with spirv-tools +%global spirv_commit 2297d4a3dfcbfd2a8b4312fab055ae26e3289fd3 +%global spirv_version v2019.1 Name: shaderc -Version: 2026.2 -Release: %autorelease -Summary: Collection of tools, libraries, and tests for Vulkan shader compilation +Version: 2019.0 +Release: 1%{?dist} +Summary: A collection of tools, libraries, and tests for Vulkan shader compilation -License: Apache-2.0 +License: ASL 2.0 URL: https://github.com/google/shaderc -Source: %{url}/archive/%{glslang_version}.tar.gz -# Patch to unbundle 3rd party code -Patch: 0001-Drop-third-party-code-in-CMakeLists.txt.patch -Patch: glslang_linker_flags.patch +Source0: %url/archive/%{commit}/%{name}-%{shortcommit}.tar.gz -BuildRequires: cmake +# https://github.com/google/shaderc/pull/463 +Patch0: https://patch-diff.githubusercontent.com/raw/google/shaderc/pull/463.patch#/0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch +# Patch to unbundle 3rd party code +Patch1: 0001-Drop-third-party-code-in-CMakeLists.txt.patch + +BuildRequires: cmake3 BuildRequires: gcc-c++ BuildRequires: ninja-build -BuildRequires: sed -BuildRequires: spirv-tools - -BuildRequires: glslang-devel BuildRequires: python3-devel +BuildRequires: glslang-devel BuildRequires: spirv-headers-devel +BuildRequires: spirv-tools BuildRequires: spirv-tools-devel %description @@ -35,18 +42,21 @@ Shaderc aims to to provide: 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} @@ -56,6 +66,7 @@ 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) @@ -64,55 +75,61 @@ A library for compiling shader strings into SPIR-V. Static libraries for libshaderc. -%prep -%autosetup -p1 -n %{name}-%{glslang_version} -rm -r third_party +%prep +%autosetup -p1 -n %{name}-%{commit} + +rm -rf 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)\" \ +echo \"shaderc $(grep -m1 -o '^v[[:digit:]]\{4\}\.[[:digit:]]\(-dev\)\?' CHANGES) %{gitversion}\" \ > 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)\" \ +echo \"spirv-tools $(grep -m1 -o '^v[[:digit:]]\{4\}\.[[:digit:]]\(-dev\)\?' /usr/share/doc/spirv-tools/CHANGES) %{spirv_version}\" \ >> glslc/src/build-version.inc -echo \"glslang %{glslang_version}\" >> glslc/src/build-version.inc +echo \"glslang \'\'\" >> 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 +mkdir %_target_platform +cd %_target_platform # 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 +%cmake3 -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_SKIP_RPATH=True \ + -DSHADERC_SKIP_TESTS=True \ + -DPYTHON_EXE=%{__python3} \ + -GNinja .. +%ninja_build + %install -%cmake_install +%ninja_install -C %_target_platform + %check -%ctest +ctest -V + %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 @@ -120,5 +137,18 @@ sed -i 's|SPIRV/GlslangToSpv.h|glslang/SPIRV/GlslangToSpv.h|' libshaderc_util/sr %{_libdir}/pkgconfig/shaderc_static.pc %{_libdir}/pkgconfig/shaderc_combined.pc + + %changelog -%autochangelog +* 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 + diff --git a/sources b/sources index 618f369..1728654 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (d5f08ae5c5a9a45165578445cbd0f9adf0223448.tar.gz) = 91223ef1c85a8e7a5dff8b220e816afe278830f9fb3f7a15e88fd814995b2ea453aaba0370d22102520e9c4acd375436ff79b2ddd6cdbf03aab72541523d5592 +SHA512 (shaderc-34c412f.tar.gz) = bbc17c350e094230c53b22f80eef95d9dfac3716d3653764862fffe210f3d0fbaa60f204c9aa93e91390f60b4a8a5f153d940ba1e450eff89ff53b587f295ce7