diff --git a/_service b/_service
index 4b58fa1..5ca3d85 100644
--- a/_service
+++ b/_service
@@ -2,9 +2,10 @@
git
git://github.com/KhronosGroup/glslang
-
- a51525059f3f264c2337ae72997ca4e7ad7e17d0
- 6.2.2604
+
+ e7df8e0b76af2fb9f58124be6b95688e5dbcdb7a
+ 7.8.2853
+ 7.8.2853.g@TAG_OFFSET@
*.tar
diff --git a/glslang-6.2.2604.tar.xz b/glslang-6.2.2604.tar.xz
deleted file mode 100644
index 2bba646..0000000
--- a/glslang-6.2.2604.tar.xz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:eb73b76b77bfa2442348418bfcac480f5eb807e70d706ac0a32ca504599e5019
-size 1317756
diff --git a/glslang-7.8.2853.g9.tar.xz b/glslang-7.8.2853.g9.tar.xz
new file mode 100644
index 0000000..67dedc6
--- /dev/null
+++ b/glslang-7.8.2853.g9.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e49be2cc513162cddad001f8caa5868631fe87cb6b2fa6d91f37d8c4569aa334
+size 1364904
diff --git a/glslang.changes b/glslang.changes
index 5cc1240..8927805 100644
--- a/glslang.changes
+++ b/glslang.changes
@@ -1,3 +1,17 @@
+-------------------------------------------------------------------
+Fri Aug 24 07:02:34 UTC 2018 - jengelh@inai.de
+
+- Update to new upstream release 7.8.2853
+ * Link/SPV: Correct symbol IDs on merging ASTs to a single coherent space.
+ * Add missing OpExtension SPV_EXT_descriptor_indexing for dynamic indexing
+ capabilities.
+ * GLSL/Vulkan: Warn about arrays of arrays of resources that need bindings.
+ * GLSL/SPV: Implement SPV_EXT_descriptor_indexing and
+ GL_EXT_nonuniform_qualifier.
+ * Implement GL_NV_shader_subgroup_partitioned.
+ * Add support for GL_NV_shader_noperspective_interpolation.
+- Add ver.diff.
+
-------------------------------------------------------------------
Thu Mar 8 00:39:46 UTC 2018 - jengelh@inai.de
diff --git a/glslang.spec b/glslang.spec
index 2a0ca5b..163fc3a 100644
--- a/glslang.spec
+++ b/glslang.spec
@@ -16,10 +16,10 @@
#
-%define version_unconverted 6.2.2604
+%define version_unconverted 7.8.2853.g9
Name: glslang
-Version: 6.2.2604
+Version: 7.8.2853.g9
Release: 0
Summary: OpenGL and OpenGL ES shader front end and validator
License: BSD-3-Clause
@@ -28,24 +28,35 @@ Url: https://www.khronos.org/opengles/sdk/tools/Reference-Compiler/
Source: %name-%version.tar.xz
Patch1: nodate.diff
+Patch2: ver.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: bison
BuildRequires: cmake >= 2.8
BuildRequires: gcc-c++
%description
-glslang 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.
+glslang is a compiler front end for the OpenGL ES and OpenGL shading
+languages. It implements a strict interpretation of the
+specifications for these languages.
+
+%package -n libglslang-suse1
+Summary: OpenGL and OpenGL ES shader front end implementation
+Group: System/Libraries
+
+%description -n libglslang-suse1
+glslang is a 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: OpenGL and OpenGL ES shader front end and validator
Group: Development/Libraries/C and C++
+Requires: libglslang-suse1 = %version
%description devel
-glslang 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.
+glslang is a compiler front end for the OpenGL ES and OpenGL shading
+languages. It implements a strict interpretation of the
+specifications for these languages.
spirv-remap is a utility to improve compression of SPIR-V binary
files via entropy reduction, plus optional stripping of debug
@@ -56,11 +67,11 @@ better when multiple modules are compressed together, since
compressor's dictionary can find better cross module commonality.
%prep
-%setup -q
-%patch -P 1 -p1
+%autosetup -p1
%build
-%cmake
+# Trim -Wl,--no-undefined for now (https://github.com/KhronosGroup/glslang/issues/1484)
+%cmake -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,now"
make %{?_smp_mflags}
%install
@@ -73,12 +84,23 @@ ln -s SPIRV/spirv.hpp "$b/%_includedir/"
find "$b/%_includedir/" -type f -exec chmod a-x "{}" "+"
cp build/StandAlone/libglslang-default-resource-limits.so "$b/%_libdir/"
+%post -n libglslang-suse1 -p /sbin/ldconfig
+%postun -n libglslang-suse1 -p /sbin/ldconfig
+
+%files -n libglslang-suse1
+%defattr(-,root,root)
+%_libdir/*.so.suse1*
+
%files devel
%defattr(-,root,root)
%_bindir/gls*
%_bindir/spirv*
%_libdir/*.a
%_libdir/*resource*.so
+%_libdir/libHLSL.so
+%_libdir/libSPIRV.so
+%_libdir/libSPVRemapper.so
+%_libdir/libglslang.so
%_includedir/*
%changelog
diff --git a/ver.diff b/ver.diff
new file mode 100644
index 0000000..e358150
--- /dev/null
+++ b/ver.diff
@@ -0,0 +1,66 @@
+From: Jan Engelhardt
+Date: 2018-08-25 15:28:25.894943233 +0200
+
+Unversioned libraries suck!
+
+---
+ SPIRV/CMakeLists.txt | 2 ++
+ StandAlone/CMakeLists.txt | 1 +
+ glslang/CMakeLists.txt | 1 +
+ hlsl/CMakeLists.txt | 1 +
+ 4 files changed, 5 insertions(+)
+
+Index: glslang-7.8.2853.g9/SPIRV/CMakeLists.txt
+===================================================================
+--- glslang-7.8.2853.g9.orig/SPIRV/CMakeLists.txt
++++ glslang-7.8.2853.g9/SPIRV/CMakeLists.txt
+@@ -42,12 +42,14 @@ if(ENABLE_NV_EXTENSIONS)
+ endif(ENABLE_NV_EXTENSIONS)
+
+ add_library(SPIRV ${LIB_TYPE} ${SOURCES} ${HEADERS})
++set_target_properties(SPIRV PROPERTIES SOVERSION suse1)
+ set_property(TARGET SPIRV PROPERTY FOLDER glslang)
+ set_property(TARGET SPIRV PROPERTY POSITION_INDEPENDENT_CODE ON)
+ target_include_directories(SPIRV PUBLIC ..)
+
+ if (ENABLE_SPVREMAPPER)
+ add_library(SPVRemapper ${LIB_TYPE} ${SPVREMAP_SOURCES} ${SPVREMAP_HEADERS})
++ set_target_properties(SPVRemapper PROPERTIES SOVERSION suse1)
+ set_property(TARGET SPVRemapper PROPERTY FOLDER glslang)
+ set_property(TARGET SPVRemapper PROPERTY POSITION_INDEPENDENT_CODE ON)
+ endif()
+Index: glslang-7.8.2853.g9/StandAlone/CMakeLists.txt
+===================================================================
+--- glslang-7.8.2853.g9.orig/StandAlone/CMakeLists.txt
++++ glslang-7.8.2853.g9/StandAlone/CMakeLists.txt
+@@ -1,5 +1,6 @@
+ add_library(glslang-default-resource-limits
+ ${CMAKE_CURRENT_SOURCE_DIR}/ResourceLimits.cpp)
++set_target_properties(glslang-default-resource-limits PROPERTIES SOVERSION suse1)
+ set_property(TARGET glslang-default-resource-limits PROPERTY FOLDER glslang)
+ set_property(TARGET glslang-default-resource-limits PROPERTY POSITION_INDEPENDENT_CODE ON)
+
+Index: glslang-7.8.2853.g9/glslang/CMakeLists.txt
+===================================================================
+--- glslang-7.8.2853.g9.orig/glslang/CMakeLists.txt
++++ glslang-7.8.2853.g9/glslang/CMakeLists.txt
+@@ -81,6 +81,7 @@ set(HEADERS
+ # set(BISON_GLSLParser_OUTPUT_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/MachineIndependent/glslang_tab.cpp)
+
+ add_library(glslang ${LIB_TYPE} ${BISON_GLSLParser_OUTPUT_SOURCE} ${SOURCES} ${HEADERS})
++set_target_properties(glslang PROPERTIES SOVERSION suse1)
+ set_property(TARGET glslang PROPERTY FOLDER glslang)
+ set_property(TARGET glslang PROPERTY POSITION_INDEPENDENT_CODE ON)
+ target_link_libraries(glslang OGLCompiler OSDependent)
+Index: glslang-7.8.2853.g9/hlsl/CMakeLists.txt
+===================================================================
+--- glslang-7.8.2853.g9.orig/hlsl/CMakeLists.txt
++++ glslang-7.8.2853.g9/hlsl/CMakeLists.txt
+@@ -18,6 +18,7 @@ set(HEADERS
+ hlslParseables.h)
+
+ add_library(HLSL ${LIB_TYPE} ${SOURCES} ${HEADERS})
++set_target_properties(HLSL PROPERTIES SOVERSION suse1)
+ set_property(TARGET HLSL PROPERTY FOLDER hlsl)
+ set_property(TARGET HLSL PROPERTY POSITION_INDEPENDENT_CODE ON)
+