.gear/rules | 4 + .gear/shaderc-alt-skip-dirs.patch | 148 +++++++++++++++++++++ .gear/shaderc.spec | 113 ++++++++++++++++ .../tags/067e008c80c323b1cd1ab1e547b38f9a5f52269e | 6 + .../tags/3f1635df7774a90f691773e0093bc6ad8005de5a | 6 + .../tags/487b998dfff08e1ff36fb798741555c0e33ad8a1 | 6 + .../tags/4bbb646ddb3279c6a27e7aa0eb86c10c8add987b | 6 + .../tags/55f4bbd993de3a3cad34cb41cd07b82fa1c77dd6 | 6 + .../tags/6fabc36fbebacfcef8cf82463df2a8247120ebf0 | 6 + .gear/tags/list | 6 + 10 files changed, 307 insertions(+) diff --git a/.gear/rules b/.gear/rules new file mode 100644 index 0000000..ff338b1 --- /dev/null +++ b/.gear/rules @@ -0,0 +1,4 @@ +tar: v@version@:. +diff: v@version@:. . +copy: .gear/*.patch +spec: .gear/shaderc.spec \ No newline at end of file diff --git a/.gear/shaderc-alt-skip-dirs.patch b/.gear/shaderc-alt-skip-dirs.patch new file mode 100644 index 0000000..7ff1c90 --- /dev/null +++ b/.gear/shaderc-alt-skip-dirs.patch @@ -0,0 +1,148 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0232f9b..dab2d4f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -139,12 +139,6 @@ 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 + COMMAND ${CMAKE_COMMAND} +diff --git a/glslc/CMakeLists.txt b/glslc/CMakeLists.txt +index c8fa6d5..15722f9 100644 +--- a/glslc/CMakeLists.txt ++++ b/glslc/CMakeLists.txt +@@ -30,7 +30,6 @@ add_library(glslc STATIC + ) + + shaderc_default_compile_options(glslc) +-target_include_directories(glslc PUBLIC ${glslang_SOURCE_DIR}) + + if (SHADERC_ENABLE_WGSL_OUTPUT) + if (IS_DIRECTORY "${tint_SOURCE_DIR}/include") +@@ -43,7 +42,7 @@ if (SHADERC_ENABLE_WGSL_OUTPUT) + endif(SHADERC_ENABLE_WGSL_OUTPUT) + + target_link_libraries(glslc PRIVATE +- glslang OSDependent OGLCompiler HLSL glslang SPIRV # Glslang libraries ++ -lglslang -lHLSL -lSPIRV # Glslang libraries + $<$:libtint> # Tint libraries, optional + shaderc_util shaderc # internal Shaderc libraries + ${CMAKE_THREAD_LIBS_INIT}) +@@ -53,7 +52,6 @@ shaderc_default_compile_options(glslc_exe) + target_include_directories(glslc_exe PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/.. ${spirv-tools_SOURCE_DIR}/include) + set_target_properties(glslc_exe PROPERTIES OUTPUT_NAME glslc) + target_link_libraries(glslc_exe PRIVATE glslc shaderc_util shaderc) +-add_dependencies(glslc_exe build-version) + + shaderc_add_tests( + TEST_PREFIX glslc +diff --git a/libshaderc/CMakeLists.txt b/libshaderc/CMakeLists.txt +index 2cced9e..a1ef549 100644 +--- a/libshaderc/CMakeLists.txt ++++ b/libshaderc/CMakeLists.txt +@@ -28,15 +28,14 @@ add_library(shaderc STATIC ${SHADERC_SOURCES}) + shaderc_default_compile_options(shaderc) + target_include_directories(shaderc + PUBLIC include +- PRIVATE ${glslang_SOURCE_DIR} +- ${SPIRV-Headers_SOURCE_DIR}/include) ++ PUBLIC /usr/include/spirv-headers) + + add_library(shaderc_shared SHARED ${SHADERC_SOURCES}) + shaderc_default_compile_options(shaderc_shared) + target_include_directories(shaderc_shared + PUBLIC include +- PRIVATE ${glslang_SOURCE_DIR} +- ${SPIRV-Headers_SOURCE_DIR}/include) ++ PUBLIC /usr/include/spirv-headers) ++ + target_compile_definitions(shaderc_shared + PRIVATE SHADERC_IMPLEMENTATION + PUBLIC SHADERC_SHAREDLIB +@@ -63,10 +62,10 @@ endif(SHADERC_ENABLE_INSTALL) + + find_package(Threads) + set(SHADERC_LIBS +- glslang OSDependent OGLCompiler glslang ${CMAKE_THREAD_LIBS_INIT} ++ -lglslang ${CMAKE_THREAD_LIBS_INIT} + shaderc_util +- SPIRV # from glslang +- SPIRV-Tools ++ -lSPIRV # from glslang ++ -lSPIRV-Tools + ) + + target_link_libraries(shaderc PRIVATE ${SHADERC_LIBS}) +diff --git a/libshaderc_util/CMakeLists.txt b/libshaderc_util/CMakeLists.txt +index 99ce3c4..af71d3b 100644 +--- a/libshaderc_util/CMakeLists.txt ++++ b/libshaderc_util/CMakeLists.txt +@@ -46,8 +46,8 @@ add_definitions(-DENABLE_HLSL) + + find_package(Threads) + target_link_libraries(shaderc_util PRIVATE +- glslang OSDependent OGLCompiler HLSL glslang SPIRV +- SPIRV-Tools-opt ${CMAKE_THREAD_LIBS_INIT}) ++ -lHLSL -lglslang -lSPIRV ++ -lSPIRV-Tools-opt ${CMAKE_THREAD_LIBS_INIT}) + + shaderc_add_tests( + TEST_PREFIX shaderc_util +diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt +index 7bd9617..16c778c 100644 +--- a/third_party/CMakeLists.txt ++++ b/third_party/CMakeLists.txt +@@ -38,45 +38,6 @@ check_cxx_compiler_flag(-fPIC COMPILER_SUPPORTS_PIC) + + if (IS_DIRECTORY ${SHADERC_SPIRV_HEADERS_DIR}) + set(SPIRV_HEADERS_SKIP_EXAMPLES ON) +- add_subdirectory(${SHADERC_SPIRV_HEADERS_DIR} spirv-headers) +-endif() +- +-if (NOT TARGET SPIRV-Tools) +- # Check SPIRV-Tools before glslang so that it is linked into glslang. +- # we control optimizations via glslang API calls directly. +- if (IS_DIRECTORY ${SHADERC_SPIRV_TOOLS_DIR}) +- if ("${SHADERC_SKIP_TESTS}") +- # Also skip building tests in SPIRV-Tools. +- set(SPIRV_SKIP_TESTS ON CACHE BOOL "Skip building SPIRV-Tools tests") +- elseif(NOT "${SPIRV_SKIP_TESTS}") +- # SPIRV-Tools requires effcee and re2 to build tests. +- # re2 tests take a long time and do not add much value, since re2 is a +- # dependency of a dependency, so not running them. +- set(RE2_BUILD_TESTING OFF CACHE STRING "Run RE2 Tests") +- add_subdirectory(${SHADERC_RE2_DIR} re2) +- add_subdirectory(${SHADERC_EFFCEE_DIR} effcee) +- endif() +- add_subdirectory(${SHADERC_SPIRV_TOOLS_DIR} spirv-tools) +- endif() +- if (NOT TARGET SPIRV-Tools) +- message(FATAL_ERROR "SPIRV-Tools was not found - required for compilation") +- endif() +-endif() +- +-if (NOT TARGET glslang) +- if (IS_DIRECTORY ${SHADERC_GLSLANG_DIR}) +- add_subdirectory(${SHADERC_GLSLANG_DIR} glslang) +- endif() +- if (NOT TARGET glslang) +- message(FATAL_ERROR "glslang was not found - required for compilation") +- endif() +- if(WIN32) +- # This is unfortunate but glslang forces our +- # platform toolset to be v110, which we may not even have +- # installed, undo anything glslang has done to it. +- set(CMAKE_GENERATOR_TOOLSET "${OLD_PLATFORM_TOOLSET}" CACHE STRING +- "Platform Toolset" FORCE) +- endif() + endif() + + if (SHADERC_ENABLE_WGSL_OUTPUT) diff --git a/.gear/shaderc.spec b/.gear/shaderc.spec new file mode 100644 index 0000000..567cdb7 --- /dev/null +++ b/.gear/shaderc.spec @@ -0,0 +1,113 @@ +%define sover 1 +%define glslang_ver 12.1.0 +%define spirv_tools_ver 2023.2 +%define build_type RelWithDebInfo +%define _cmake %cmake -DCMAKE_BUILD_TYPE=%build_type +%def_disable static +%def_with doc + +Name: shaderc +Version: 2023.3 +Release: alt0.1 + +Summary: A collection of tools, libraries and tests for shader compilation +Group: Development/C++ +License: Apache-2.0 + +URL: https://github.com/google/shaderc +Packager: L.A. Kostis + +Source: %name-%version.tar +Patch0: %name-%version-%release.patch +Patch1: %name-alt-skip-dirs.patch + +BuildRequires(pre): cmake +BuildRequires: gcc-c++ spirv-headers >= 1.5.5 libspirv-tools-devel >= %spirv_tools_ver glslang-devel >= %glslang_ver +BuildRequires: python3-devel +%if_with doc +BuildRequires: asciidoctor +%endif + +%description +A collection of tools, libraries and tests for shader compilation. +At the moment it includes: + +- glslc, a command line compiler for GLSL/HLSL to SPIR-V, and +- libshaderc, a library API for accessing `glslc` functionality. + +%package -n lib%{name}-devel +Summary: %name devel libraries and headers +Group: Development/C++ +Requires: lib%{name}%{sover} = %EVR + +%description -n lib%{name}-devel +%name development libraries and headers + +%package -n lib%{name}%{sover} +Summary: %name support libraries +Group: System/Libraries +Provides: lib%{name} = %EVR + +%description -n lib%{name}%{sover} +%name support libraries + +%package -n glslc +Summary: command line compiler for GLSL/HLSL to SPIR-V +Group: System/Libraries +Requires: lib%{name} = %EVR + +%description -n glslc +Command line compiler for GLSL/HLSL to SPIR-V + +%prep +%setup -n %name-%version +%patch0 -p1 +%patch1 -p1 + +%build +%_cmake \ + -DCMAKE_INSTALL_LIBDIR=%_libdir \ + -DSHADERC_SKIP_TESTS:BOOL=ON \ + -DSHADERC_SKIP_EXAMPLES:BOOL=ON \ + -DSHADERC_SPIRV_TOOLS_DIR=%_prefix \ + -DSHADERC_SPIRV_HEADERS_DIR=%_includedir \ + -DSHADERC_GLSLANG_DIR=%_prefix +echo '"%name v%version v%version\\n"' >> %_target_platform/build-version.inc +echo '"spirv-tools v%spirv_tools_ver v%spirv_tools_ver\\n"' >> %_target_platform/build-version.inc +echo '"glslang v%glslang_ver v%glslang_ver\\n"' >> %_target_platform/build-version.inc +%cmake_build +%cmakeinstall_std + +%files -n lib%{name}%{sover} +%_libdir/lib%{name}_shared.so.* + +%files -n lib%{name}-devel +%doc README.md CHANGES AUTHORS LICENSE +%_includedir/%{name} +%_pkgconfigdir/%name.pc +%_libdir/lib%{name}_shared.so + +%files -n glslc +%_bindir/* + +%changelog +* Thu Mar 23 2023 L.A. Kostis 2023.3-alt0.1 +- 2023.3. +- Set cmake release target. + +* Fri Mar 03 2023 L.A. Kostis 2023.2-alt0.1 +- v2023.2. +- Bump glslang and SPIRV-Tools deps. + +* Wed Dec 14 2022 L.A. Kostis 2022.4-alt0.1 +- v2022.4. +- Bump glslang and SPIRV-Tools deps. + +* Sat Oct 15 2022 L.A. Kostis 2022.3-alt0.1 +- v2022.3. + +* Mon Oct 03 2022 L.A. Kostis 2022.2-alt0.1 +- v2022.2. + +* Sat Nov 13 2021 L.A. Kostis 2021.3-alt0.1 +- Initial build for ALTLinux. diff --git a/.gear/tags/067e008c80c323b1cd1ab1e547b38f9a5f52269e b/.gear/tags/067e008c80c323b1cd1ab1e547b38f9a5f52269e new file mode 100644 index 0000000..ede46e8 --- /dev/null +++ b/.gear/tags/067e008c80c323b1cd1ab1e547b38f9a5f52269e @@ -0,0 +1,6 @@ +object e3846cda59a85acb0c47a6cb9e6b4adbb111e54b +type commit +tag v2022.4 +tagger David Neto 1669853759 -0500 + +Shaderc v2022.4 diff --git a/.gear/tags/3f1635df7774a90f691773e0093bc6ad8005de5a b/.gear/tags/3f1635df7774a90f691773e0093bc6ad8005de5a new file mode 100644 index 0000000..5d08133 --- /dev/null +++ b/.gear/tags/3f1635df7774a90f691773e0093bc6ad8005de5a @@ -0,0 +1,6 @@ +object 551f106dc64a1cacb298cc2f05613d142b53302f +type commit +tag v2022.2 +tagger David Neto 1660320237 -0400 + +Shaderc v2022.2 diff --git a/.gear/tags/487b998dfff08e1ff36fb798741555c0e33ad8a1 b/.gear/tags/487b998dfff08e1ff36fb798741555c0e33ad8a1 new file mode 100644 index 0000000..54aee0b --- /dev/null +++ b/.gear/tags/487b998dfff08e1ff36fb798741555c0e33ad8a1 @@ -0,0 +1,6 @@ +object abe358c71dd63580ecb96b8225d286af45b6edd1 +type commit +tag v2023.3 +tagger David Neto 1679070065 -0400 + +Shaderc v2023.3 diff --git a/.gear/tags/4bbb646ddb3279c6a27e7aa0eb86c10c8add987b b/.gear/tags/4bbb646ddb3279c6a27e7aa0eb86c10c8add987b new file mode 100644 index 0000000..3a6012b --- /dev/null +++ b/.gear/tags/4bbb646ddb3279c6a27e7aa0eb86c10c8add987b @@ -0,0 +1,6 @@ +object 1701a27b31c911a9895c4052dba101a991dde64e +type commit +tag v2022.3 +tagger David Neto 1665599127 -0400 + +Shaderc v2022.3 diff --git a/.gear/tags/55f4bbd993de3a3cad34cb41cd07b82fa1c77dd6 b/.gear/tags/55f4bbd993de3a3cad34cb41cd07b82fa1c77dd6 new file mode 100644 index 0000000..125029a --- /dev/null +++ b/.gear/tags/55f4bbd993de3a3cad34cb41cd07b82fa1c77dd6 @@ -0,0 +1,6 @@ +object 69aead488f9761c3bf478deda5999549ffec2c28 +type commit +tag v2023.2 +tagger David Neto 1674080101 -0500 + +Shaderc v2023.2 diff --git a/.gear/tags/6fabc36fbebacfcef8cf82463df2a8247120ebf0 b/.gear/tags/6fabc36fbebacfcef8cf82463df2a8247120ebf0 new file mode 100644 index 0000000..c52c27b --- /dev/null +++ b/.gear/tags/6fabc36fbebacfcef8cf82463df2a8247120ebf0 @@ -0,0 +1,6 @@ +object 315d39d082875047f4fbd004e6eedef14ff2db24 +type commit +tag v2021.3 +tagger David Neto 1636657264 -0500 + +Shaderc v2021.3 diff --git a/.gear/tags/list b/.gear/tags/list new file mode 100644 index 0000000..693a0ad --- /dev/null +++ b/.gear/tags/list @@ -0,0 +1,6 @@ +6fabc36fbebacfcef8cf82463df2a8247120ebf0 v2021.3 +3f1635df7774a90f691773e0093bc6ad8005de5a v2022.2 +4bbb646ddb3279c6a27e7aa0eb86c10c8add987b v2022.3 +067e008c80c323b1cd1ab1e547b38f9a5f52269e v2022.4 +55f4bbd993de3a3cad34cb41cd07b82fa1c77dd6 v2023.2 +487b998dfff08e1ff36fb798741555c0e33ad8a1 v2023.3