commit a64c6725ef7273e8c5f36911ee09f2dd7e11fe57
Author: Danny Rawlins <monster.romster(a)gmail.com>
Date: Fri Aug 30 19:21:06 2019 +1000
glslang-32: 7.11.3214 -> 7.12.3352
diff --git a/glslang-32/.signature b/glslang-32/.signature
index c765d27..0ebe2c8 100644
--- a/glslang-32/.signature
+++ b/glslang-32/.signature
@@ -1,5 +1,6 @@
untrusted comment: verify with /etc/ports/compat-32.pub
-RWSwxGo/zH7eXcih+0gPXf00ggs122dcJcL3YIYP0DBXZdpZdYmvhlO3OPw5MGyYI6g6VWsTqujaWDI7Zx6mwF5vMHRcbKbeugg=
-SHA256 (Pkgfile) = 86a10fa36c64d4dbb00326072ad6084d3307a8a8bfb5793b8286db9307bb6ad6
+RWSwxGo/zH7eXduui1p/vktONppv0YkQJwCQDU0xWjAgwo36+ae22ohUmQTLsdwIQ00REKJeUXnDud9Sg+h+HdEM/XmeScO2qwE=
+SHA256 (Pkgfile) = 2d5f0f314493aaea694a1551babd2a41c4a2508cb18d352e5791ce693bc0c2d8
SHA256 (.footprint) = 3ec5fe7cd3621d51f5b2c04fd168dfadd8aa60b4e2f4cb37b37d661ea8a7551a
-SHA256 (glslang-7.11.3214.tar.gz) = b30b4668734328d256e30c94037e60d3775b1055743c04d8fd709f2960f302a9
+SHA256 (glslang-7.12.3352.tar.gz) = 4ecce011b73dd7196a5114f66776d5a4c4c3674fc9bc6f39ad3c1ee15a8abbe1
+SHA256 (0001-pkg-config-compatibility.patch) = efd22887303f1c6cdaacd31d6049438502bc7d699859fd501d075b8ab6f3ae42
diff --git a/glslang-32/0001-pkg-config-compatibility.patch b/glslang-32/0001-pkg-config-compatibility.patch
new file mode 100644
index 0000000..38592ff
--- /dev/null
+++ b/glslang-32/0001-pkg-config-compatibility.patch
@@ -0,0 +1,225 @@
+https://src.fedoraproject.org/rpms/glslang/raw/master/f/0001-pkg-config-compatibility.patch
+https://src.fedoraproject.org/rpms/glslang/tree/master
+https://github.com/KhronosGroup/glslang/pull/1621
+
+From d2a8230cc05d77dad82a60329881244814797e4c Mon Sep 17 00:00:00 2001
+From: Rafael Amador Galvan <rafael.amador(a)gmail.com>
+Date: Fri, 8 Mar 2019 11:39:58 -0600
+Subject: [PATCH 1/2] pkg-config compatibility
+
+---
+ CMakeLists.txt | 13 ++++++++-----
+ SPIRV/CMakeLists.txt | 19 +++++++++++++++++--
+ SPIRV/SpvTools.cpp | 4 ++--
+ SPIRV/spirv.pc.cmake.in | 11 +++++++++++
+ StandAlone/CMakeLists.txt | 9 ++++++++-
+ glslang/CMakeLists.txt | 3 +++
+ glslang/glslang.pc.cmake.in | 11 +++++++++++
+ 7 files changed, 60 insertions(+), 10 deletions(-)
+ create mode 100644 SPIRV/spirv.pc.cmake.in
+ create mode 100644 glslang/glslang.pc.cmake.in
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index aafa70ed1..21ecef08d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -57,6 +57,13 @@ macro(glslang_pch SRCS PCHCPP)
+ 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)
+ # make testing optional
+ include(CTest)
+
+@@ -117,11 +124,7 @@ endfunction(glslang_set_link_args)
+ # We depend on these for later projects, so they should come first.
+ add_subdirectory(External)
+
+-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 --git a/SPIRV/CMakeLists.txt b/SPIRV/CMakeLists.txt
+index 1997e74c3..1760a065b 100644
+--- a/SPIRV/CMakeLists.txt
++++ b/SPIRV/CMakeLists.txt
+@@ -48,6 +48,10 @@ set_property(TARGET SPIRV PROPERTY FOLDER glslang)
+ set_property(TARGET SPIRV PROPERTY POSITION_INDEPENDENT_CODE ON)
+ 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)
+@@ -61,13 +65,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 ../External)
++ target_link_libraries(SPIRV glslang)
+ else()
+ target_link_libraries(SPIRV glslang)
+ endif(ENABLE_OPT)
+@@ -96,5 +108,8 @@ if(ENABLE_GLSLANG_INSTALL)
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ endif()
+
++ # 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/)
+ endif(ENABLE_GLSLANG_INSTALL)
+diff --git a/SPIRV/SpvTools.cpp b/SPIRV/SpvTools.cpp
+index eec06e0ac..723a64452 100644
+--- a/SPIRV/SpvTools.cpp
++++ b/SPIRV/SpvTools.cpp
+@@ -43,8 +43,8 @@
+ #include <iostream>
+
+ #include "SpvTools.h"
+-#include "spirv-tools/optimizer.hpp"
+-#include "spirv-tools/libspirv.h"
++#include <spirv-tools/optimizer.hpp>
++#include <spirv-tools/libspirv.h>
+
+ namespace glslang {
+
+diff --git a/SPIRV/spirv.pc.cmake.in b/SPIRV/spirv.pc.cmake.in
+new file mode 100644
+index 000000000..dfcad940b
+--- /dev/null
++++ b/SPIRV/spirv.pc.cmake.in
+@@ -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 --git a/StandAlone/CMakeLists.txt b/StandAlone/CMakeLists.txt
+index 5cea53d9f..89a7da9c4 100644
+--- a/StandAlone/CMakeLists.txt
++++ b/StandAlone/CMakeLists.txt
+@@ -23,6 +23,14 @@ set(LIBRARIES
+ SPVRemapper
+ glslang-default-resource-limits)
+
++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,7 +41,6 @@ endif(WIN32)
+
+ target_link_libraries(glslangValidator ${LIBRARIES})
+ target_link_libraries(spirv-remap ${LIBRARIES})
+-target_include_directories(glslangValidator PUBLIC ../External)
+
+ if(WIN32)
+ source_group("Source" FILES ${SOURCES})
+diff --git a/glslang/CMakeLists.txt b/glslang/CMakeLists.txt
+index 5f51476ba..daf717fab 100644
+--- a/glslang/CMakeLists.txt
++++ b/glslang/CMakeLists.txt
+@@ -80,6 +80,7 @@ set(HEADERS
+ # WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
+ # set(BISON_GLSLParser_OUTPUT_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/MachineIndependent/glslang_tab.cpp)
+
++set(VERSION 7.11.3113)
+ glslang_pch(SOURCES MachineIndependent/pch.cpp)
+
+ add_library(glslang ${LIB_TYPE} ${BISON_GLSLParser_OUTPUT_SOURCE} ${SOURCES} ${HEADERS})
+@@ -113,6 +114,8 @@ if(ENABLE_GLSLANG_INSTALL)
+ install(TARGETS glslang
+ 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)
+ endif(ENABLE_GLSLANG_INSTALL)
+
+ if(ENABLE_GLSLANG_INSTALL)
+diff --git a/glslang/glslang.pc.cmake.in b/glslang/glslang.pc.cmake.in
+new file mode 100644
+index 000000000..921497eb6
+--- /dev/null
++++ b/glslang/glslang.pc.cmake.in
+@@ -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
+
+From 0ebd323091567c65be3f2831a3bcac6223b0aa52 Mon Sep 17 00:00:00 2001
+From: Rafael Amador Galvan <rafael.amador(a)gmail.com>
+Date: Fri, 8 Mar 2019 11:50:49 -0600
+Subject: [PATCH 2/2] removed the section belonging to the SPIRV-Tools
+ dependency
+
+---
+ External/CMakeLists.txt | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/External/CMakeLists.txt b/External/CMakeLists.txt
+index 4d9690134..24f03237a 100644
+--- a/External/CMakeLists.txt
++++ b/External/CMakeLists.txt
+@@ -34,10 +34,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 --git a/glslang-32/Pkgfile b/glslang-32/Pkgfile
index 965c3e1..609021c 100644
--- a/glslang-32/Pkgfile
+++ b/glslang-32/Pkgfile
@@ -4,22 +4,27 @@
# Depends on: glslang spirv-tools-32
name=glslang-32
-version=7.11.3214
+version=7.12.3352
release=1
-source=(https://github.com/KhronosGroup/glslang/archive/$version/${name%-*}-$version.tar.gz)
+source=(https://github.com/KhronosGroup/glslang/archive/$version/${name%-*}-$version.tar.gz
+ 0001-pkg-config-compatibility.patch)
build() {
cd ${name%-*}-$version
-mkdir -p build-{shared,static}
+ # Patch to build against system spirv-tools
+ patch -p1 -i $SRC/0001-pkg-config-compatibility.patch
+
+ mkdir -p build-{shared,static}
(cd build-shared
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib32 \
-DCMAKE_BUILD_TYPE=Release \
+ -GNinja \
-DBUILD_SHARED_LIBS=ON
- make
+ ninja
)
(cd build-static
@@ -27,12 +32,13 @@ mkdir -p build-{shared,static}
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib32 \
-DCMAKE_BUILD_TYPE=Release \
+ -GNinja \
-DBUILD_SHARED_LIBS=OFF
- make
+ ninja
)
- make -C build-shared DESTDIR=$PKG install
- make -C build-static DESTDIR=$PKG install
+ DESTDIR=$PKG ninja -C build-shared install
+ DESTDIR=$PKG ninja -C build-static install
cd $PKG/usr/lib32
for lib in *.so; do