commit 4665e75d6b06141f38a3c15acb045ec8142efed0 Author: CentOS Sources Date: Mon Jul 20 19:50:56 2020 +0000 import glslang-8.13.3559-2.2020421.gitc9b28b9.el8 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2a4298b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3.tar.gz diff --git a/.glslang.metadata b/.glslang.metadata new file mode 100644 index 0000000..a58de4a --- /dev/null +++ b/.glslang.metadata @@ -0,0 +1 @@ +9263f19a98515db7596e00a53e2cf436984214e4 SOURCES/glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3.tar.gz diff --git a/SOURCES/0001-pkg-config-compatibility.patch b/SOURCES/0001-pkg-config-compatibility.patch new file mode 100644 index 0000000..87433b6 --- /dev/null +++ b/SOURCES/0001-pkg-config-compatibility.patch @@ -0,0 +1,188 @@ +diff -up glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/CMakeLists.txt.dma glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/CMakeLists.txt +--- glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/CMakeLists.txt.dma 2020-04-21 23:06:12.000000000 +1000 ++++ glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/CMakeLists.txt 2020-04-22 12:26:12.717875341 +1000 +@@ -87,6 +87,13 @@ endmacro(glslang_pch) + + project(glslang) + ++# using pkg-config to configure include paths and link libraries ++include(FindPkgConfig) ++pkg_check_modules(SPIRV_TOOLS REQUIRED SPIRV-Tools>=2019.2.1) ++if(BUILD_SHARED_LIBS) ++ pkg_check_modules(SPIRV_TOOLS_SHARED REQUIRED SPIRV-Tools-shared>=2019.2.1) ++endif(BUILD_SHARED_LIBS) ++ + if(ENABLE_CTEST) + include(CTest) + endif() +@@ -178,11 +185,7 @@ if(BUILD_EXTERNAL AND IS_DIRECTORY ${CMA + add_subdirectory(External) + endif() + +-if(NOT TARGET SPIRV-Tools-opt) +- set(ENABLE_OPT OFF) +-endif() +- +-if(ENABLE_OPT) ++if(${SPIRV_TOOLS_FOUND} EQUAL 1) + message(STATUS "optimizer enabled") + add_definitions(-DENABLE_OPT=1) + else() +diff -up glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/External/CMakeLists.txt.dma glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/External/CMakeLists.txt +--- glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/External/CMakeLists.txt.dma 2020-04-21 23:06:12.000000000 +1000 ++++ glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/External/CMakeLists.txt 2020-04-22 12:26:12.718875368 +1000 +@@ -35,10 +35,3 @@ if(BUILD_TESTING) + endif() + endif() + +-if(ENABLE_OPT AND NOT TARGET SPIRV-Tools-opt) +- if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/spirv-tools) +- set(SPIRV_SKIP_TESTS ON CACHE BOOL "Skip building SPIRV-Tools tests") +- add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/spirv-tools spirv-tools) +- endif() +-endif() +- +diff -up glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/glslang/CMakeLists.txt.dma glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/glslang/CMakeLists.txt +--- glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/glslang/CMakeLists.txt.dma 2020-04-21 23:06:12.000000000 +1000 ++++ glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/glslang/CMakeLists.txt 2020-04-22 12:26:38.647579382 +1000 +@@ -80,6 +80,7 @@ set(HEADERS + MachineIndependent/preprocessor/PpContext.h + MachineIndependent/preprocessor/PpTokens.h) + ++set(VERSION 7.11.3113) + glslang_pch(SOURCES MachineIndependent/pch.cpp) + + add_library(glslang ${LIB_TYPE} ${BISON_GLSLParser_OUTPUT_SOURCE} ${SOURCES} ${HEADERS}) +@@ -116,6 +117,8 @@ if(ENABLE_GLSLANG_INSTALL) + install(TARGETS glslang EXPORT glslangTargets + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif() ++ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/glslang.pc.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/glslang.pc @ONLY) ++ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/glslang.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + install(EXPORT glslangTargets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake) + endif(ENABLE_GLSLANG_INSTALL) + +diff -up glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/glslang/glslang.pc.cmake.in.dma glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/glslang/glslang.pc.cmake.in +--- glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/glslang/glslang.pc.cmake.in.dma 2020-04-22 12:26:12.718875368 +1000 ++++ glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/glslang/glslang.pc.cmake.in 2020-04-22 12:26:12.718875368 +1000 +@@ -0,0 +1,11 @@ ++ prefix=@CMAKE_INSTALL_PREFIX@ ++ exec_prefix=@CMAKE_INSTALL_PREFIX@ ++ libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ ++ includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ ++ ++ Name: @PROJECT_NAME@ ++ Description: OpenGL and OpenGL ES shader front end and validator ++ Requires: ++ Version: @VERSION@ ++ Libs: -L${libdir} -lglslang -lOSDependent -lHLSL -lOGLCompiler -lSPVRemapper ++ Cflags: -I${includedir} +\ No newline at end of file +diff -up glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/SPIRV/CMakeLists.txt.dma glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/SPIRV/CMakeLists.txt +--- glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/SPIRV/CMakeLists.txt.dma 2020-04-21 23:06:12.000000000 +1000 ++++ glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/SPIRV/CMakeLists.txt 2020-04-22 12:26:12.719875396 +1000 +@@ -41,6 +41,10 @@ target_include_directories(SPIRV PUBLIC + $ + $) + ++ ++set(SPIRV_NAME spirv) ++set(SPIRV_VERSION 1.3) ++ + if (ENABLE_SPVREMAPPER) + add_library(SPVRemapper ${LIB_TYPE} ${SPVREMAP_SOURCES} ${SPVREMAP_HEADERS}) + set_property(TARGET SPVRemapper PROPERTY FOLDER glslang) +@@ -54,15 +58,21 @@ if(WIN32 AND BUILD_SHARED_LIBS) + endif() + endif() + ++target_include_directories(SPIRV PUBLIC ${SPIRV_TOOLS_INCLUDE_DIRS}) ++target_compile_options(SPIRV PUBLIC ${SPIRV_TOOLS_CFLAGS_OTHER}) ++target_link_libraries(SPIRV ${SPIRV_TOOLS_LIBRARIES}) ++if(BUILD_SHARED_LIBS) ++ target_include_directories(SPIRV PUBLIC ${SPIRV_TOOLS_SHARED_INCLUDE_DIRS}) ++ target_compile_options(SPIRV PUBLIC ${SPIRV_TOOLS_SHARED_CFLAGS_OTHER}) ++ target_link_libraries(SPIRV ${SPIRV_TOOLS_SHARED_LIBRARIES}) ++endif(BUILD_SHARED_LIBS) ++ + if(ENABLE_OPT) + target_include_directories(SPIRV + PRIVATE ${spirv-tools_SOURCE_DIR}/include + PRIVATE ${spirv-tools_SOURCE_DIR}/source + ) +- target_link_libraries(SPIRV glslang SPIRV-Tools-opt) +- target_include_directories(SPIRV PUBLIC +- $ +- $) ++ target_link_libraries(SPIRV glslang) + else() + target_link_libraries(SPIRV glslang) + endif(ENABLE_OPT) +@@ -98,6 +108,9 @@ if(ENABLE_GLSLANG_INSTALL) + + install(EXPORT SPIRVTargets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake) + ++ # spirv.pc Configuration ++ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/spirv.pc.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/spirv.pc @ONLY) ++ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/spirv.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + install(FILES ${HEADERS} ${SPVREMAP_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/SPIRV/) + install(FILES ${HEADERS} ${SPVREMAP_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/glslang/SPIRV/) + endif(ENABLE_GLSLANG_INSTALL) +diff -up glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/SPIRV/spirv.pc.cmake.in.dma glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/SPIRV/spirv.pc.cmake.in +--- glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/SPIRV/spirv.pc.cmake.in.dma 2020-04-22 12:26:12.719875396 +1000 ++++ glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/SPIRV/spirv.pc.cmake.in 2020-04-22 12:26:12.719875396 +1000 +@@ -0,0 +1,11 @@ ++ prefix=@CMAKE_INSTALL_PREFIX@ ++ exec_prefix=@CMAKE_INSTALL_PREFIX@ ++ libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ ++ includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ ++ ++ Name: @SPIRV_NAME@ ++ Description: SPIR-V is a binary intermediate language for representing graphical-shader stages and compute kernels for multiple Khronos APIs, including OpenCL, OpenGL, and Vulkan ++ Requires: ++ Version: @SPIRV_VERSION@ ++ Libs: -L${libdir} -lSPIRV ++ Cflags: -I${includedir} +\ No newline at end of file +diff -up glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/SPIRV/SpvTools.cpp.dma glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/SPIRV/SpvTools.cpp +--- glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/SPIRV/SpvTools.cpp.dma 2020-04-21 23:06:12.000000000 +1000 ++++ glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/SPIRV/SpvTools.cpp 2020-04-22 12:26:12.719875396 +1000 +@@ -43,8 +43,8 @@ + #include + + #include "SpvTools.h" +-#include "spirv-tools/optimizer.hpp" +-#include "spirv-tools/libspirv.h" ++#include ++#include + + namespace glslang { + +diff -up glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/StandAlone/CMakeLists.txt.dma glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/StandAlone/CMakeLists.txt +--- glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/StandAlone/CMakeLists.txt.dma 2020-04-22 12:26:04.596654834 +1000 ++++ glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/StandAlone/CMakeLists.txt 2020-04-22 12:26:12.719875396 +1000 +@@ -24,6 +24,14 @@ if(ENABLE_SPVREMAPPER) + set(LIBRARIES ${LIBRARIES} SPVRemapper) + endif() + ++if(BUILD_SHARED_LIBS) ++ set(LIBRARIES ${LIBRARIES} ${SPIRV_TOOLS_SHARED_LIBRARIES}) ++ target_include_directories(glslangValidator PUBLIC ${SPIRV_TOOLS_SHARED_INCLUDE_DIRS}) ++else() ++ set(LIBRARIES ${LIBRARIES} ${SPIRV_TOOLS_LIBRARIES}) ++ target_include_directories(glslangValidator PUBLIC ${SPIRV_TOOLS_INCLUDE_DIRS}) ++endif(BUILD_SHARED_LIBS) ++ + if(WIN32) + set(LIBRARIES ${LIBRARIES} psapi) + elseif(UNIX) +@@ -33,9 +41,6 @@ elseif(UNIX) + endif(WIN32) + + target_link_libraries(glslangValidator ${LIBRARIES}) +-target_include_directories(glslangValidator PUBLIC +- $ +- $) + + if(ENABLE_SPVREMAPPER) + set(REMAPPER_SOURCES spirv-remap.cpp) diff --git a/SOURCES/glslang-default-resource-limits_staticlib.patch b/SOURCES/glslang-default-resource-limits_staticlib.patch new file mode 100644 index 0000000..c5a0013 --- /dev/null +++ b/SOURCES/glslang-default-resource-limits_staticlib.patch @@ -0,0 +1,9 @@ +diff -up glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/StandAlone/CMakeLists.txt.dma glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/StandAlone/CMakeLists.txt +--- glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/StandAlone/CMakeLists.txt.dma 2020-04-22 11:00:58.685198803 +1000 ++++ glslang-c9b28b9f3388c607ea5506f5e6197b7150238ad3/StandAlone/CMakeLists.txt 2020-04-22 11:01:12.559574492 +1000 +@@ -1,4 +1,4 @@ +-add_library(glslang-default-resource-limits ++add_library(glslang-default-resource-limits STATIC + ${CMAKE_CURRENT_SOURCE_DIR}/ResourceLimits.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/resource_limits_c.cpp) + set_property(TARGET glslang-default-resource-limits PROPERTY FOLDER glslang) diff --git a/SPECS/glslang.spec b/SPECS/glslang.spec new file mode 100644 index 0000000..dc593f7 --- /dev/null +++ b/SPECS/glslang.spec @@ -0,0 +1,144 @@ +%global commit c9b28b9f3388c607ea5506f5e6197b7150238ad3 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commit_date 2020421 +%global gitrel .%{commit_date}.git%{shortcommit} + +Name: glslang +Version: 8.13.3559 +Release: 2%{?gitrel}%{?dist} +Summary: OpenGL and OpenGL ES shader front end and validator + +License: BSD and GPLv3+ and ASL 2.0 +URL: https://github.com/KhronosGroup +Source0: %url/%{name}/archive/%{commit}/%{name}-%{commit}.tar.gz +Patch1: glslang-default-resource-limits_staticlib.patch +# Patch to build against system spirv-tools (rebased locally) +#Patch3: https://patch-diff.githubusercontent.com/raw/KhronosGroup/glslang/pull/1722.patch#/0001-pkg-config-compatibility.patch +Patch3: 0001-pkg-config-compatibility.patch + +BuildRequires: cmake3 +BuildRequires: gcc-c++ +BuildRequires: python3 +BuildRequires: ninja-build +BuildRequires: spirv-tools-devel + +%description +%{name} is the official reference compiler front end for the OpenGL +ES and OpenGL shading languages. It implements a strict +interpretation of the specifications for these languages. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +%{name} is the official reference compiler front end for the OpenGL +ES and OpenGL shading languages. It implements a strict +interpretation of the specifications for these languages. + +%prep +%autosetup -p1 -n %{name}-%{commit} +# Fix rpmlint warning on debuginfo +find . -name '*.h' -or -name '*.cpp' -or -name '*.hpp'| xargs chmod a-x + +%build +%__mkdir_p build +pushd build +%cmake3 -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_LIBDIR=%{_libdir} \ + -DCMAKE_SKIP_RPATH:BOOL=yes \ + -DBUILD_SHARED_LIBS=OFF \ + -GNinja .. +%{ninja_build} +popd + +%install +%{ninja_install} -C build + +# we don't want them in here +rm -rf %{buildroot}%{_includedir}/SPIRV + +%ifnarch s390x ppc64 +%check +pushd Test +./runtests localResults ../build/StandAlone/glslangValidator ../build/StandAlone/spirv-remap +popd +%endif + +# Install libglslang-default-resource-limits.a +install -pm 0644 build/StandAlone/libglslang-default-resource-limits.a %{buildroot}%{_libdir}/ + +%files +%doc README.md README-spirv-remap.txt +%{_bindir}/glslangValidator +%{_bindir}/spirv-remap + +%files devel +%{_includedir}/glslang/ +%{_libdir}/libHLSL.a +%{_libdir}/libOGLCompiler.a +%{_libdir}/libOSDependent.a +%{_libdir}/libSPIRV.a +%{_libdir}/libSPVRemapper.a +%{_libdir}/libglslang.a +%{_libdir}/libglslang-default-resource-limits.a +%{_libdir}/pkgconfig/glslang.pc +%{_libdir}/pkgconfig/spirv.pc +%{_libdir}/cmake/* + +%changelog +* Wed May 20 2020 Dave Airlie - 8.13.3559-2 +- Update glslang for 8.2.1 + +* Wed Jan 29 2020 Dave Airlie - 8.13.3559-1 +- Update glslang for 8.2.0 for vulkan 1.2 + +* Sat Dec 07 2019 Dave Airlie - 7.13.3496-2 +- Update for 8.2.0 + +* Tue Nov 12 2019 Dave Airlie - 7.13.3496-1 +- Update to latest snapshot + +* Thu Aug 15 2019 Dave Airlie - 7.11.3214-4 +- Fix coverity scans (Kamil Dudka) + +* Sat Aug 03 2019 Dave Airlie - 7.11.3214-3 +- Latest upstream snapshot for validation layers build +- Add patch to build against system spirv-tools + +* Tue Feb 12 2019 Dave Airlie - 3.1-0.11.20190329.gite0d59bb +- Update for vulkan 1.1.92.0 +- Update for vulkan 1.1.101.0 + +* Tue Aug 07 2018 Leigh Scott - 3.1-0.10.20180727.gite99a268 +- Update for vulkan 1.1.82.0 + +* Fri Jul 13 2018 Fedora Release Engineering - 3.1-0.9.20180416.git3bb4c48 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon Apr 23 2018 Leigh Scott - 3.1-0.8.20180416.git3bb4c48 +- Update for vulkan 1.1.73.0 + +* Wed Mar 07 2018 Adam Williamson - 3.1-0.7.20180205.git2651cca +- Rebuild to fix GCC 8 mis-compilation + See https://da.gd/YJVwk ("GCC 8 ABI change on x86_64") + +* Fri Feb 09 2018 Leigh Scott - 3.1-0.6.20180205.git2651cca +- Update for vulkan 1.0.68.0 + +* Fri Feb 09 2018 Leigh Scott - 3.1-0.5.20171028.git715c353 +- Use ninja to build + +* Wed Feb 07 2018 Fedora Release Engineering - 3.1-0.4.20171028.git715c353 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Jan 03 2018 Leigh Scott - 3.1-0.3.20171028.git715c353 +- Exclude s390x and ppc64 from check section + +* Wed Jan 03 2018 Leigh Scott - 3.1-0.2.20171028.git715c353 +- Add check section to run tests +- Split binaries into main package + +* Thu Jul 13 2017 Leigh Scott - 3.1-0.1.20171028.git715c353 +- First build +