Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=212e76508b1fadbdfd35578552a1726ad753b03e
commit 212e76508b1fadbdfd35578552a1726ad753b03e Author: Miklos Vajna <[email protected]> Date: Fri Jul 28 23:01:10 2017 +0200 libreoffice-5.4.0.3-1-x86_64 - 5.3.4 -> 5.4.0 - bundle gpgmepp till its clear why our gpgme package is not found by configure - bundle libjpeg-turbo as we currently ship plain libjpeg - new hsb (Upper Sorbian) langpack diff --git a/source/xoffice/libreoffice/0001-change-from-glew-to-epoxy.patch b/source/xoffice/libreoffice/0001-change-from-glew-to-epoxy.patch deleted file mode 100644 index c6e0228..0000000 --- a/source/xoffice/libreoffice/0001-change-from-glew-to-epoxy.patch +++ /dev/null @@ -1,1945 +0,0 @@ -From e2f5d3d365ced3da2005792c69d7e1cdbe5ece50 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <[email protected]> -Date: Fri, 25 Nov 2016 20:25:27 +0000 -Subject: [PATCH] change from glew to epoxy - -cause that works under wayland out of the box and gtk3 uses it already - -Change-Id: Iefaac31e325534a81a5389f752804af917c1baef ---- - Makefile.fetch | 2 +- - RepositoryExternal.mk | 46 +++++------ - avmedia/Library_avmedia.mk | 2 +- - avmedia/Library_avmediaogl.mk | 6 +- - bin/check-elf-dynamic-objects | 2 +- - bin/lo-all-static-libs | 2 +- - canvas/Library_oglcanvas.mk | 7 +- - canvas/source/opengl/ogl_buffercontext.hxx | 2 +- - canvas/source/opengl/ogl_canvascustomsprite.cxx | 2 +- - canvas/source/opengl/ogl_canvashelper.cxx | 2 +- - canvas/source/opengl/ogl_canvastools.cxx | 2 +- - canvas/source/opengl/ogl_texturecache.cxx | 2 +- - canvas/source/opengl/ogl_tools.hxx | 3 +- - chart2/Library_chartcore.mk | 9 +-- - chart2/Library_chartopengl.mk | 4 +- - chart2/inc/pch/precompiled_chartcore.hxx | 2 +- - chart2/source/view/charttypes/GL3DBarChart.cxx | 2 +- - chart2/source/view/main/GL3DRenderer.cxx | 8 +- - chart2/source/view/main/OpenGLRender.cxx | 2 +- - config_host.mk.in | 6 +- - config_host/config_opengl.h.in | 10 --- - configure.ac | 21 ++--- - cui/Library_cui.mk | 2 +- - distro-configs/LibreOfficeFlatpak.conf | 1 - - download.lst | 7 +- - external/Module_external.mk | 2 +- - external/epoxy/Library_epoxy.mk | 63 +++++++++++++++ - external/{glew => epoxy}/Makefile | 0 - .../{glew/Module_glew.mk => epoxy/Module_epoxy.mk} | 9 +-- - external/epoxy/README | 5 ++ - external/epoxy/UnpackedTarball_epoxy.mk | 20 +++++ - external/epoxy/epoxy.windows.api.patch | 90 ++++++++++++++++++++++ - external/glew/ExternalPackage_glew.mk | 33 -------- - external/glew/ExternalProject_glew.mk | 36 --------- - external/glew/README | 6 -- - external/glew/UnpackedTarball_glew.mk | 48 ------------ - external/glew/glew-macosx-install-name.patch.1 | 13 ---- - external/glew/glew-msvc-disable-sse2.patch.1 | 10 --- - external/glew/glew-static-only.patch.1 | 12 --- - external/glew/glew-tmpdir.patch.1 | 13 ---- - external/glew/glew_use_CC_variable.patch.1 | 24 ------ - external/libgltf/ExternalProject_libgltf.mk | 10 +-- - external/libgltf/libgltf-msvc-x64.patch.1 | 31 ++++---- - include/vcl/opengl/OpenGLContext.hxx | 6 +- - include/vcl/opengl/OpenGLHelper.hxx | 2 +- - include/vcl/opengl/OpenGLWrapper.hxx | 2 +- - slideshow/Library_OGLTrans.mk | 9 +-- - slideshow/Library_slideshow.mk | 2 +- - slideshow/source/engine/opengl/TransitionImpl.cxx | 1 - - slideshow/source/engine/opengl/TransitionImpl.hxx | 3 +- - .../source/engine/opengl/TransitionerImpl.cxx | 2 +- - svx/Library_svxcore.mk | 2 +- - toolkit/Library_tk.mk | 2 +- - vcl/CppunitTest_vcl_bitmap_test.mk | 2 +- - vcl/CppunitTest_vcl_wmf_test.mk | 4 +- - vcl/Executable_icontest.mk | 2 +- - vcl/Executable_vcldemo.mk | 2 +- - vcl/Executable_visualbackendtest.mk | 1 - - vcl/Library_vcl.mk | 3 +- - vcl/Library_vclplug_gen.mk | 3 +- - vcl/Library_vclplug_gtk.mk | 2 +- - vcl/Library_vclplug_gtk3.mk | 2 +- - vcl/Library_vclplug_kde4.mk | 2 +- - vcl/inc/opengl/LineRenderUtils.hxx | 1 - - vcl/inc/opengl/VertexUtils.hxx | 2 +- - vcl/inc/opengl/framebuffer.hxx | 1 - - vcl/inc/opengl/program.hxx | 1 - - vcl/inc/opengl/texture.hxx | 2 +- - vcl/inc/pch/precompiled_vcl.hxx | 2 +- - vcl/inc/unx/saldisp.hxx | 2 +- - vcl/opengl/x11/gdiimpl.cxx | 31 ++++---- - vcl/osx/salobj.cxx | 4 +- - vcl/source/opengl/OpenGLContext.cxx | 34 ++------ - vcl/source/opengl/OpenGLHelper.cxx | 8 +- - vcl/unx/generic/app/saldisp.cxx | 1 - - vcl/workben/icontest.cxx | 2 - - 77 files changed, 340 insertions(+), 418 deletions(-) - delete mode 100644 config_host/config_opengl.h.in - create mode 100644 external/epoxy/Library_epoxy.mk - rename external/{glew => epoxy}/Makefile (100%) - rename external/{glew/Module_glew.mk => epoxy/Module_epoxy.mk} (69%) - create mode 100644 external/epoxy/README - create mode 100644 external/epoxy/UnpackedTarball_epoxy.mk - create mode 100644 external/epoxy/epoxy.windows.api.patch - delete mode 100644 external/glew/ExternalPackage_glew.mk - delete mode 100644 external/glew/ExternalProject_glew.mk - delete mode 100644 external/glew/README - delete mode 100644 external/glew/UnpackedTarball_glew.mk - delete mode 100644 external/glew/glew-macosx-install-name.patch.1 - delete mode 100644 external/glew/glew-msvc-disable-sse2.patch.1 - delete mode 100644 external/glew/glew-static-only.patch.1 - delete mode 100644 external/glew/glew-tmpdir.patch.1 - delete mode 100644 external/glew/glew_use_CC_variable.patch.1 - -diff --git a/Makefile.fetch b/Makefile.fetch -index 3e21be3..cf31e5b 100644 ---- a/Makefile.fetch -+++ b/Makefile.fetch -@@ -129,7 +129,7 @@ $(WORKDIR)/download: $(BUILDDIR)/config_host.mk $(SRCDIR)/download.lst $(SRCDIR) - $(call fetch_Optional,FONTCONFIG,FONTCONFIG_TARBALL) \ - $(call fetch_Optional,FREEHAND,FREEHAND_TARBALL) \ - $(call fetch_Optional,FREETYPE,FREETYPE_TARBALL) \ -- $(call fetch_Optional,GLEW,GLEW_TARBALL) \ -+ $(call fetch_Optional,EPOXY,EPOXY_TARBALL) \ - $(call fetch_Optional,GLM,GLM_TARBALL) \ - $(call fetch_Optional_pack,GOOGLE_DOCS_EXTENSION_PACK) \ - $(call fetch_Optional,GRAPHITE,GRAPHITE_TARBALL) \ -diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk -index 109b924..16ba7a8 100644 ---- a/RepositoryExternal.mk -+++ b/RepositoryExternal.mk -@@ -183,51 +183,43 @@ endef - - endif # SYSTEM_CPPUNIT - --ifneq ($(SYSTEM_GLEW),) -+ifneq ($(SYSTEM_EPOXY),) - --define gb_LinkTarget__use_glew -+define gb_LinkTarget__use_epoxy - $(call gb_LinkTarget_set_include,$(1),\ - $$(INCLUDE) \ -- $(GLEW_CFLAGS) \ -+ $(EPOXY_CFLAGS) \ - ) --$(call gb_LinkTarget_add_libs,$(1),$(GLEW_LIBS)) -+$(call gb_LinkTarget_add_libs,$(1),$(EPOXY_LIBS)) - - endef - --gb_ExternalProject__use_glew := -+gb_ExternalProject__use_epoxy := - --else # !SYSTEM_GLEW -+else # !SYSTEM_EPOXY - --$(eval $(call gb_Helper_register_packages_for_install,ooo,\ -- glew \ --)) -- --define gb_LinkTarget__use_glew --$(call gb_LinkTarget_use_package,$(1),glew) -+define gb_LinkTarget__use_epoxy - $(call gb_LinkTarget_set_include,$(1),\ -- -I$(call gb_UnpackedTarball_get_dir,glew/include) \ -- -DGLEW_NO_GLU \ -- $$(INCLUDE) \ -+ -I$(call gb_UnpackedTarball_get_dir,epoxy/include) \ -+ $$(INCLUDE) \ - ) - --ifeq ($(COM),MSC) --$(call gb_LinkTarget_add_libs,$(1),\ -- $(call gb_UnpackedTarball_get_dir,glew)/lib/$(if $(MSVC_USE_DEBUG_RUNTIME),Debug/$(wnt_arch_subdir_mandatory)/glew32d.lib,Release/$(wnt_arch_subdir_mandatory)/glew32.lib) \ --) --else --$(call gb_LinkTarget_add_libs,$(1),\ -- -L$(call gb_UnpackedTarball_get_dir,glew)/lib/ -lGLEW \ -+$(call gb_LinkTarget_use_libraries,$(1),\ -+ epoxy \ - ) --endif - - endef - --define gb_ExternalProject__use_glew --$(call gb_ExternalProject_use_external_project,$(1),glew) -+$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\ -+ epoxy \ -+)) -+ -+define gb_ExternalProject__use_epoxy -+$(call gb_ExternalProject_use_external_project,$(1),epoxy) - - endef - --endif # SYSTEM_GLEW -+endif # SYSTEM_EPOXY - - define gb_LinkTarget__use_iconv - $(call gb_LinkTarget_add_libs,$(1),-liconv) -@@ -3444,7 +3436,7 @@ $(call gb_LinkTarget_add_libs,$(1),\ - ) - else - $(call gb_LinkTarget_add_libs,$(1),\ -- $(call gb_UnpackedTarball_get_dir,libgltf)/src/.libs/libgltf-0.0$(gb_StaticLibrary_PLAINEXT) \ -+ $(call gb_UnpackedTarball_get_dir,libgltf)/src/.libs/libgltf-0.1$(gb_StaticLibrary_PLAINEXT) \ - ) - endif - -diff --git a/avmedia/Library_avmedia.mk b/avmedia/Library_avmedia.mk -index 4e8f3b1..e662fc3 100644 ---- a/avmedia/Library_avmedia.mk -+++ b/avmedia/Library_avmedia.mk -@@ -29,7 +29,7 @@ $(eval $(call gb_Library_use_externals,avmedia,\ - - ifeq ($(ENABLE_HEADLESS),) - $(eval $(call gb_Library_use_externals,avmedia,\ -- glew \ -+ epoxy \ - )) - endif - -diff --git a/avmedia/Library_avmediaogl.mk b/avmedia/Library_avmediaogl.mk -index b7498bf..191fb75 100644 ---- a/avmedia/Library_avmediaogl.mk -+++ b/avmedia/Library_avmediaogl.mk -@@ -16,7 +16,7 @@ $(eval $(call gb_Library_use_sdk_api,avmediaogl)) - $(eval $(call gb_Library_use_externals,avmediaogl, \ - boost_headers \ - libgltf \ -- glew \ -+ epoxy \ - glm_headers \ - )) - -@@ -51,10 +51,6 @@ else ifeq ($(OS),MACOSX) - $(eval $(call gb_Library_use_system_darwin_frameworks,avmediaogl,\ - OpenGL \ - )) --else ifeq ($(OS), $(filter LINUX %BSD SOLARIS, $(OS))) --$(eval $(call gb_Library_add_libs,avmediaogl,\ -- -lGL \ --)) - endif - - # vim: set noet sw=4 ts=4: -diff --git a/bin/check-elf-dynamic-objects b/bin/check-elf-dynamic-objects -index f05d513..d189c1b 100755 ---- a/bin/check-elf-dynamic-objects -+++ b/bin/check-elf-dynamic-objects -@@ -110,7 +110,7 @@ local file="$1" - */libdesktop_detectorlo.so|*/ui-previewer|*/oosplash|*/gengal.bin) - whitelist="${whitelist} ${x11whitelist}" - ;; -- */libvclplug_genlo.so|*/libGLEW.so.*|*/libchartcorelo.so|*/libavmediaogl.so|*/libOGLTranslo.so|*/liboglcanvaslo.so|*/libchartopengllo.so) -+ */libvclplug_genlo.so|*/libchartcorelo.so|*/libavmediaogl.so|*/libOGLTranslo.so|*/liboglcanvaslo.so|*/libchartopengllo.so) - whitelist="${whitelist} ${x11whitelist} ${openglwhitelist}" - ;; - */libvcllo.so|*/libsofficeapp.so) -diff --git a/bin/lo-all-static-libs b/bin/lo-all-static-libs -index 813241e..9faa042 100755 ---- a/bin/lo-all-static-libs -+++ b/bin/lo-all-static-libs -@@ -63,7 +63,7 @@ echo $INSTDIR/$LIBO_LIB_FOLDER/lib*.a \ - $WORKDIR/UnpackedTarball/coinmp/CoinMP/src/.libs/*.a \ - $WORKDIR/UnpackedTarball/coinmp/CoinUtils/src/.libs/*.a \ - $WORKDIR/UnpackedTarball/coinmp/Osi/src/Osi/.libs/*.a \ -- $WORKDIR/UnpackedTarball/glew/lib/*.a \ -+ $WORKDIR/UnpackedTarball/epoxy/lib/*.a \ - $WORKDIR/UnpackedTarball/icu/source/lib/*.a \ - $WORKDIR/UnpackedTarball/langtag/liblangtag/.libs/*.a \ - $WORKDIR/UnpackedTarball/lcms2/src/.libs/*.a \ -diff --git a/canvas/Library_oglcanvas.mk b/canvas/Library_oglcanvas.mk -index 0118eb1..9d1042d 100644 ---- a/canvas/Library_oglcanvas.mk -+++ b/canvas/Library_oglcanvas.mk -@@ -42,7 +42,7 @@ $(eval $(call gb_Library_add_exception_objects,oglcanvas,\ - - $(eval $(call gb_Library_use_externals,oglcanvas,\ - boost_headers \ -- glew \ -+ epoxy \ - )) - - ifeq ($(strip $(OS)),MACOSX) -@@ -58,11 +58,6 @@ $(eval $(call gb_Library_use_system_win32_libs,oglcanvas,\ - opengl32 \ - )) - --else --$(eval $(call gb_Library_add_libs,oglcanvas,\ -- -lGL \ -- -lX11 \ --)) - endif - - # vim: set noet sw=4 ts=4: -diff --git a/canvas/source/opengl/ogl_buffercontext.hxx b/canvas/source/opengl/ogl_buffercontext.hxx -index 202e063..7f2066a 100644 ---- a/canvas/source/opengl/ogl_buffercontext.hxx -+++ b/canvas/source/opengl/ogl_buffercontext.hxx -@@ -10,7 +10,7 @@ - #ifndef INCLUDED_CANVAS_SOURCE_OPENGL_OGL_BUFFERCONTEXT_HXX - #define INCLUDED_CANVAS_SOURCE_OPENGL_OGL_BUFFERCONTEXT_HXX - --#include <GL/glew.h> -+#include <epoxy/gl.h> - - #include <sal/config.h> - #include <memory> -diff --git a/canvas/source/opengl/ogl_canvascustomsprite.cxx b/canvas/source/opengl/ogl_canvascustomsprite.cxx -index 8d38177..6b23d45 100644 ---- a/canvas/source/opengl/ogl_canvascustomsprite.cxx -+++ b/canvas/source/opengl/ogl_canvascustomsprite.cxx -@@ -9,7 +9,7 @@ - - #include <sal/config.h> - --#include <GL/glew.h> -+#include <epoxy/gl.h> - - #include <basegfx/matrix/b2dhommatrix.hxx> - #include <basegfx/point/b2dpoint.hxx> -diff --git a/canvas/source/opengl/ogl_canvashelper.cxx b/canvas/source/opengl/ogl_canvashelper.cxx -index 84a96ce..175a02b 100644 ---- a/canvas/source/opengl/ogl_canvashelper.cxx -+++ b/canvas/source/opengl/ogl_canvashelper.cxx -@@ -11,7 +11,7 @@ - - #include <memory> - #include <functional> --#include <GL/glew.h> -+#include <epoxy/gl.h> - - #include <basegfx/polygon/b2dpolygontriangulator.hxx> - #include <basegfx/polygon/b2dpolypolygon.hxx> -diff --git a/canvas/source/opengl/ogl_canvastools.cxx b/canvas/source/opengl/ogl_canvastools.cxx -index 657a220..3d9448b 100644 ---- a/canvas/source/opengl/ogl_canvastools.cxx -+++ b/canvas/source/opengl/ogl_canvastools.cxx -@@ -9,7 +9,7 @@ - - #include <sal/config.h> - --#include <GL/glew.h> -+#include <epoxy/gl.h> - - #include <basegfx/matrix/b2dhommatrix.hxx> - #include <basegfx/polygon/b2dpolygontriangulator.hxx> -diff --git a/canvas/source/opengl/ogl_texturecache.cxx b/canvas/source/opengl/ogl_texturecache.cxx -index 08cdd2f..43fb7d8 100644 ---- a/canvas/source/opengl/ogl_texturecache.cxx -+++ b/canvas/source/opengl/ogl_texturecache.cxx -@@ -9,7 +9,7 @@ - - #include <sal/config.h> - --#include <GL/glew.h> -+#include <epoxy/gl.h> - - #include <com/sun/star/geometry/IntegerSize2D.hpp> - -diff --git a/canvas/source/opengl/ogl_tools.hxx b/canvas/source/opengl/ogl_tools.hxx -index 8133212..469a5be 100644 ---- a/canvas/source/opengl/ogl_tools.hxx -+++ b/canvas/source/opengl/ogl_tools.hxx -@@ -11,8 +11,7 @@ - #define INCLUDED_CANVAS_SOURCE_OPENGL_OGL_TOOLS_HXX - - #include <sal/config.h> --#include <GL/glew.h> -- -+#include <epoxy/gl.h> - - namespace oglcanvas - { -diff --git a/chart2/Library_chartcore.mk b/chart2/Library_chartcore.mk -index b15f634..cc06fbd 100644 ---- a/chart2/Library_chartcore.mk -+++ b/chart2/Library_chartcore.mk -@@ -32,7 +32,7 @@ $(eval $(call gb_Library_use_externals,chartcore,\ - - ifeq ($(ENABLE_HEADLESS),) - $(eval $(call gb_Library_use_externals,chartcore,\ -- glew \ -+ epoxy \ - )) - endif - -@@ -264,13 +264,6 @@ else ifeq ($(OS), $(filter LINUX %BSD SOLARIS, $(OS))) - $(eval $(call gb_Library_add_libs,chartcore,\ - $(DLOPEN_LIBS) \ - )) --ifeq ($(ENABLE_HEADLESS),) --$(eval $(call gb_Library_add_libs,chartcore,\ -- -lGL \ -- -lX11 \ --)) --endif #!ENABLE_HEADLESS -- - endif - - # vim: set noet sw=4 ts=4: -diff --git a/chart2/Library_chartopengl.mk b/chart2/Library_chartopengl.mk -index 95ea58d..53056aa 100644 ---- a/chart2/Library_chartopengl.mk -+++ b/chart2/Library_chartopengl.mk -@@ -22,7 +22,7 @@ $(eval $(call gb_Library_set_precompiled_header,chartopengl,$(SRCDIR)/chart2/inc - $(eval $(call gb_Library_use_externals,chartopengl,\ - boost_headers \ - glm_headers \ -- glew \ -+ epoxy \ - )) - - $(eval $(call gb_Library_use_sdk_api,chartopengl)) -@@ -68,8 +68,6 @@ $(eval $(call gb_Library_use_system_darwin_frameworks,chartopengl,\ - else ifeq ($(OS), $(filter LINUX %BSD SOLARIS, $(OS))) - $(eval $(call gb_Library_add_libs,chartopengl,\ - $(DLOPEN_LIBS) \ -- -lGL \ -- -lX11 \ - )) - endif - -diff --git a/chart2/inc/pch/precompiled_chartcore.hxx b/chart2/inc/pch/precompiled_chartcore.hxx -index 8d02451..908d7ac 100644 ---- a/chart2/inc/pch/precompiled_chartcore.hxx -+++ b/chart2/inc/pch/precompiled_chartcore.hxx -@@ -73,7 +73,6 @@ - #include <vcl/virdev.hxx> - #include <vcl/wall.hxx> - #include <ChartModel.hxx> --#include <GL/glew.h> - #include <basegfx/basegfxdllapi.h> - #include <basegfx/matrix/b3dhommatrix.hxx> - #include <basegfx/numeric/ftools.hxx> -@@ -169,6 +168,7 @@ - #include <cppuhelper/weak.hxx> - #include <editeng/editengdllapi.h> - #include <editeng/unoprnms.hxx> -+#include <epoxy/gl.h> - #include <i18nlangtag/i18nlangtagdllapi.h> - #include <i18nlangtag/lang.h> - #include <i18nlangtag/languagetag.hxx> -diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx b/chart2/source/view/charttypes/GL3DBarChart.cxx -index a4193da..401b664 100644 ---- a/chart2/source/view/charttypes/GL3DBarChart.cxx -+++ b/chart2/source/view/charttypes/GL3DBarChart.cxx -@@ -9,7 +9,7 @@ - - #include <GL3DBarChart.hxx> - --#include <GL/glew.h> -+#include <epoxy/gl.h> - - #include <glm/glm.hpp> - #include <glm/gtx/transform.hpp> -diff --git a/chart2/source/view/main/GL3DRenderer.cxx b/chart2/source/view/main/GL3DRenderer.cxx -index fb4fb13..e1e4c01 100644 ---- a/chart2/source/view/main/GL3DRenderer.cxx -+++ b/chart2/source/view/main/GL3DRenderer.cxx -@@ -7,7 +7,7 @@ - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ - --#include <GL/glew.h> -+#include <epoxy/gl.h> - - #include "GL3DRenderer.hxx" - -@@ -244,8 +244,8 @@ void OpenGL3DRenderer::ShaderResources::LoadShaders() - m_3DBatchNormalID = glGetAttribLocation(m_3DBatchProID, "vertexNormalModelspace"); - m_3DBatchColorID = glGetAttribLocation(m_3DBatchProID, "barColor"); - #if !defined MACOSX -- //check whether the texture array is support -- mbTexBatchSupport = GLEW_EXT_texture_array; -+ //check whether the texture array is supported -+ mbTexBatchSupport = epoxy_has_gl_extension("GL_EXT_texture_array"); - #endif - CHECK_GL_ERROR(); - if (mbTexBatchSupport) -@@ -401,7 +401,7 @@ void OpenGL3DRenderer::init() - m_fViewAngle = 30.0f; - m_3DProjection = glm::perspective(m_fViewAngle, (float)m_iWidth / (float)m_iHeight, 0.01f, 6000.0f); - -- maResources.m_b330Support = GLEW_VERSION_3_3; -+ maResources.m_b330Support = epoxy_gl_version() >= 33; - CHECK_GL_ERROR(); - maResources.LoadShaders(); - maPickingResources.LoadShaders(); -diff --git a/chart2/source/view/main/OpenGLRender.cxx b/chart2/source/view/main/OpenGLRender.cxx -index 3182e66..91a3763 100644 ---- a/chart2/source/view/main/OpenGLRender.cxx -+++ b/chart2/source/view/main/OpenGLRender.cxx -@@ -7,7 +7,7 @@ - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ - --#include <GL/glew.h> -+#include <epoxy/gl.h> - #include <vector> - #include "OpenGLRender.hxx" - #include <vcl/graph.hxx> -diff --git a/config_host.mk.in b/config_host.mk.in -index 3d39dcd..2a8fe3d 100644 ---- a/config_host.mk.in -+++ b/config_host.mk.in -@@ -201,8 +201,8 @@ export GIO_LIBS=$(gb_SPACE)@GIO_LIBS@ - export GIT_REFERENCE_SRC=@GIT_REFERENCE_SRC@ - export GIT_LINK_SRC=@GIT_LINK_SRC@ - export GIT_NEEDED_SUBMODULES=@GIT_NEEDED_SUBMODULES@ --export GLEW_CFLAGS=$(gb_SPACE)@GLEW_CFLAGS@ --export GLEW_LIBS=$(gb_SPACE)@GLEW_LIBS@ -+export EPOXY_CFLAGS=$(gb_SPACE)@EPOXY_CFLAGS@ -+export EPOXY_LIBS=$(gb_SPACE)@EPOXY_LIBS@ - export GLM_CFLAGS=$(gb_SPACE)@GLM_CFLAGS@ - export GNOMEVFS_CFLAGS=$(gb_SPACE)@GNOMEVFS_CFLAGS@ - export GNOMEVFS_LIBS=$(gb_SPACE)@GNOMEVFS_LIBS@ -@@ -514,7 +514,7 @@ export SYSTEM_FIREBIRD=@SYSTEM_FIREBIRD@ - export SYSTEM_GENBRK=@SYSTEM_GENBRK@ - export SYSTEM_GENCCODE=@SYSTEM_GENCCODE@ - export SYSTEM_GENCMN=@SYSTEM_GENCMN@ --export SYSTEM_GLEW=@SYSTEM_GLEW@ -+export SYSTEM_EPOXY=@SYSTEM_EPOXY@ - export SYSTEM_GLM=@SYSTEM_GLM@ - export SYSTEM_GRAPHITE=@SYSTEM_GRAPHITE@ - export SYSTEM_HARFBUZZ=@SYSTEM_HARFBUZZ@ -diff --git a/config_host/config_opengl.h.in b/config_host/config_opengl.h.in -deleted file mode 100644 -index 67b9e47..0000000 ---- a/config_host/config_opengl.h.in -+++ /dev/null -@@ -1,10 +0,0 @@ --/* --Settings for OpenGL --*/ -- --#ifndef CONFIG_OPENGL_H --#define CONFIG_OPENGL_H -- --#define HAVE_GLEW_1_12 0 -- --#endif -diff --git a/configure.ac b/configure.ac -index 079e856..0f8e58d 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1634,6 +1634,11 @@ AC_ARG_WITH(system-cairo, - [Use cairo libraries already on system. Happens automatically for - (implicit) --enable-gtk and for --enable-gtk3.])) - -+AC_ARG_WITH(system-epoxy, -+ AS_HELP_STRING([--with-system-epoxy], -+ [Use epoxy libraries already on system. Happens automatically for -+ --enable-gtk3.])) -+ - AC_ARG_WITH(myspell-dicts, - AS_HELP_STRING([--with-myspell-dicts], - [Adds myspell dictionaries to the LibreOffice installation set]), -@@ -8941,14 +8946,6 @@ AC_SUBST([GLM_CFLAGS]) - AC_SUBST([SYSTEM_GLM]) - - dnl =================================================================== --dnl Check for system glew --dnl =================================================================== --libo_CHECK_SYSTEM_MODULE([glew], [GLEW], [glew >= 1.10.0]) --AS_IF([test "$with_system_glew" = "yes"], -- [PKG_CHECK_EXISTS([glew >= 1.12.0], [AC_DEFINE([HAVE_GLEW_1_12])])], -- [AC_DEFINE([HAVE_GLEW_1_12])]) -- --dnl =================================================================== - dnl Check for system odbc - dnl =================================================================== - AC_MSG_CHECKING([which odbc headers to use]) -@@ -10497,7 +10494,7 @@ if test "x$enable_gltf" != "xno" -a $_os != iOS -a $_os != Android -a "$ENABLE_H - AC_DEFINE(HAVE_FEATURE_GLTF,1) - if test "$with_system_libgltf" = "yes"; then - SYSTEM_LIBGLTF=TRUE -- PKG_CHECK_MODULES( LIBGLTF, [libgltf-0.0 >= 0.0.1] ) -+ PKG_CHECK_MODULES( LIBGLTF, [libgltf-0.1 >= 0.1.0] ) - FilterLibs "${LIBGLTF_LIBS}" - LIBGLTF_LIBS="${filteredlibs}" - else -@@ -11728,6 +11725,11 @@ AC_SUBST(CAIRO_CFLAGS) - AC_SUBST(CAIRO_LIBS) - - dnl =================================================================== -+dnl Check for system epoxy -+dnl =================================================================== -+libo_CHECK_SYSTEM_MODULE([epoxy], [EPOXY], [epoxy >= 1.3.1], ["-I${WORKDIR}/UnpackedTarball/epoxy/include"]) -+ -+dnl =================================================================== - dnl Test whether to use avahi - dnl =================================================================== - if test "$_os" = "WINNT"; then -@@ -12886,7 +12888,6 @@ AC_CONFIG_HEADERS([config_host/config_mpl.h]) - AC_CONFIG_HEADERS([config_host/config_orcus.h]) - AC_CONFIG_HEADERS([config_host/config_kde4.h]) - AC_CONFIG_HEADERS([config_host/config_oox.h]) --AC_CONFIG_HEADERS([config_host/config_opengl.h]) - AC_CONFIG_HEADERS([config_host/config_options.h]) - AC_CONFIG_HEADERS([config_host/config_options_calc.h]) - AC_CONFIG_HEADERS([config_host/config_test.h]) -diff --git a/cui/Library_cui.mk b/cui/Library_cui.mk -index 6a63a1d..64f7844 100644 ---- a/cui/Library_cui.mk -+++ b/cui/Library_cui.mk -@@ -72,7 +72,7 @@ $(eval $(call gb_Library_use_externals,cui,\ - )) - ifeq ($(ENABLE_HEADLESS),) - $(eval $(call gb_Library_use_externals,cui,\ -- glew \ -+ epoxy \ - )) - endif - -diff --git a/distro-configs/LibreOfficeFlatpak.conf b/distro-configs/LibreOfficeFlatpak.conf -index d5d6686..121d198 100644 ---- a/distro-configs/LibreOfficeFlatpak.conf -+++ b/distro-configs/LibreOfficeFlatpak.conf -@@ -11,7 +11,6 @@ - --without-system-coinmp - --without-system-cppunit - --without-system-firebird ----without-system-glew - --without-system-glm - --without-system-libabw - --without-system-libcdr -diff --git a/download.lst b/download.lst -index 3e3313b..9d7af4f 100644 ---- a/download.lst -+++ b/download.lst -@@ -29,6 +29,8 @@ export CURL_TARBALL := curl-7.51.0.tar.gz - export DBGHELP_DLL := 13fbc2e8b37ddf28181dd6d8081c2b8e-dbghelp.dll - export EBOOK_MD5SUM := 6b48eda57914e6343efebc9381027b78 - export EBOOK_TARBALL := libe-book-0.1.2.tar.bz2 -+export EPOXY_MD5SUM := 96f6620a9b005a503e7b44b0b528287d -+export EPOXY_TARBALL := libepoxy-1.3.1.tar.bz2 - export EPM_TARBALL := 3ade8cfe7e59ca8e65052644fed9fca4-epm-3.7.tar.gz - export ETONYEK_MD5SUM := 77ff46936dcc83670557274e7dd2aa33 - export ETONYEK_VERSION_MICRO := 6 -@@ -54,7 +56,6 @@ export FONT_EMOJIONE_COLOR_TARBALL := EmojiOneColor-SVGinOT-1.3.tar.gz - export FREEHAND_MD5SUM := 8cf70c5dc4d24d2dc4a107f509d2d6d7 - export FREEHAND_TARBALL := libfreehand-0.1.1.tar.bz2 - export FREETYPE_TARBALL := dbf2caca1d3afd410a29217a9809d397-freetype-2.4.8.tar.bz2 --export GLEW_TARBALL := 3941e9cab2f4f9d8faee3e8d57ae7664-glew-1.12.0.zip - export GLM_TARBALL := bae83fa5dc7f081768daace6e199adc3-glm-0.9.4.6-libreoffice.zip - export GRAPHITE_TARBALL := 3069842a88b8f40c6b83ad2850cda293-graphite2-minimal-1.3.9.tgz - export HARFBUZZ_MD5SUM := 5986e1bfcd983d1f6caa53ef64c4abc5 -@@ -88,8 +89,8 @@ export LIBATOMIC_OPS_TARBALL := libatomic_ops-7_2d.zip - export LIBEOT_MD5SUM := aa24f5dd2a2992f4a116aa72af817548 - export LIBEOT_TARBALL := libeot-0.01.tar.bz2 - export LIBEXTTEXTCAT_TARBALL := 10d61fbaa6a06348823651b1bd7940fe-libexttextcat-3.4.4.tar.bz2 --export LIBGLTF_MD5SUM := d63a9f47ab048f5009d90693d6aa6424 --export LIBGLTF_TARBALL := libgltf-0.0.2.tar.bz2 -+export LIBGLTF_MD5SUM := 63ae962d0c436909979826fce0fca2fd -+export LIBGLTF_TARBALL := libgltf-0.1.0.tar.gz - export LIBLANGTAG_MD5SUM := 284f120247323a35122ab32b4b359c45 - export LIBLANGTAG_TARBALL := liblangtag-0.6.2.tar.bz2 - export LIBTOMMATH_MD5SUM := da283d2e3e72137d0c600ac36b991c9d -diff --git a/external/Module_external.mk b/external/Module_external.mk -index 1dbf97b..c14e668 100644 ---- a/external/Module_external.mk -+++ b/external/Module_external.mk -@@ -38,13 +38,13 @@ $(eval $(call gb_Module_add_moduledirs,external,\ - $(call gb_Helper_optional,CURL,curl) \ - $(call gb_Helper_optional,EBOOK,libebook) \ - $(call gb_Helper_optional,EPM,epm) \ -+ $(call gb_Helper_optional,EPOXY,epoxy) \ - $(call gb_Helper_optional,ETONYEK,libetonyek) \ - $(call gb_Helper_optional,EXPAT,expat) \ - $(call gb_Helper_optional,FIREBIRD,firebird) \ - $(call gb_Helper_optional,FONTCONFIG,fontconfig) \ - $(call gb_Helper_optional,FREEHAND,libfreehand) \ - $(call gb_Helper_optional,FREETYPE,freetype) \ -- $(call gb_Helper_optional,GLEW,glew) \ - $(call gb_Helper_optional,GLM,glm) \ - $(call gb_Helper_optional,GRAPHITE,graphite) \ - $(call gb_Helper_optional,HARFBUZZ,harfbuzz) \ -diff --git a/external/epoxy/Library_epoxy.mk b/external/epoxy/Library_epoxy.mk -new file mode 100644 -index 0000000..28f9dab ---- /dev/null -+++ b/external/epoxy/Library_epoxy.mk -@@ -0,0 +1,63 @@ -+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -+# -+# This file is part of the LibreOffice project. -+# -+# This Source Code Form is subject to the terms of the Mozilla Public -+# License, v. 2.0. If a copy of the MPL was not distributed with this -+# file, You can obtain one at http://mozilla.org/MPL/2.0/. -+# -+ -+$(eval $(call gb_Library_Library,epoxy)) -+ -+$(eval $(call gb_Library_use_unpacked,epoxy,epoxy)) -+ -+$(eval $(call gb_Library_set_warnings_not_errors,epoxy)) -+ -+$(eval $(call gb_Library_set_include,epoxy,\ -+ -I$(WORKDIR)/UnpackedTarball/epoxy/include \ -+ -I$(WORKDIR)/UnpackedTarball/epoxy/src \ -+ $$(INCLUDE) \ -+)) -+ -+# epoxy is riddled with warnings... let's spare use -+# the pointless spamming -+$(eval $(call gb_Library_add_cxxflags,epoxy,\ -+ -w \ -+)) -+$(eval $(call gb_Library_add_cflags,epoxy,\ -+ -w \ -+)) -+ -+ifeq ($(OS),LINUX) -+$(eval $(call gb_Library_add_libs,epoxy,\ -+ -ldl \ -+)) -+endif -+ -+$(eval $(call gb_Library_add_generated_cobjects,epoxy,\ -+ UnpackedTarball/epoxy/src/dispatch_common \ -+ UnpackedTarball/epoxy/src/gl_generated_dispatch \ -+)) -+ -+ifeq ($(OS),WNT) -+$(eval $(call gb_Library_add_generated_cobjects,epoxy,\ -+ UnpackedTarball/epoxy/src/dispatch_wgl \ -+ UnpackedTarball/epoxy/src/wgl_generated_dispatch \ -+)) -+else ifeq ($(OS),MACOSX) -+# nothing -+else ifeq ($(OS),ANDROID) -+$(eval $(call gb_Library_add_generated_cobjects,epoxy,\ -+ UnpackedTarball/epoxy/src/dispatch_egl \ -+ UnpackedTarball/epoxy/src/egl_generated_dispatch \ -+)) -+else -+$(eval $(call gb_Library_add_generated_cobjects,epoxy,\ -+ UnpackedTarball/epoxy/src/dispatch_glx \ -+ UnpackedTarball/epoxy/src/glx_generated_dispatch \ -+ UnpackedTarball/epoxy/src/dispatch_egl \ -+ UnpackedTarball/epoxy/src/egl_generated_dispatch \ -+)) -+endif -+ -+# vim: set noet sw=4 ts=4: -diff --git a/external/glew/Makefile b/external/epoxy/Makefile -similarity index 100% -rename from external/glew/Makefile -rename to external/epoxy/Makefile -diff --git a/external/glew/Module_glew.mk b/external/epoxy/Module_epoxy.mk -similarity index 69% -rename from external/glew/Module_glew.mk -rename to external/epoxy/Module_epoxy.mk -index 1d1b9a7..ea65176 100644 ---- a/external/glew/Module_glew.mk -+++ b/external/epoxy/Module_epoxy.mk -@@ -7,12 +7,11 @@ - # file, You can obtain one at http://mozilla.org/MPL/2.0/. - # - --$(eval $(call gb_Module_Module,glew)) -+$(eval $(call gb_Module_Module,epoxy)) - --$(eval $(call gb_Module_add_targets,glew,\ -- ExternalProject_glew \ -- UnpackedTarball_glew \ -- ExternalPackage_glew \ -+$(eval $(call gb_Module_add_targets,epoxy,\ -+ Library_epoxy \ -+ UnpackedTarball_epoxy \ - )) - - # vim: set noet sw=4 ts=4: -diff --git a/external/epoxy/README b/external/epoxy/README -new file mode 100644 -index 0000000..8bd467a ---- /dev/null -+++ b/external/epoxy/README -@@ -0,0 +1,5 @@ -+Epoxy is an OpenGL Extension Wrangler -+ -+Epoxy is a library for handling OpenGL function pointer management for you -+ -+https://github.com/anholt/libepoxy -diff --git a/external/epoxy/UnpackedTarball_epoxy.mk b/external/epoxy/UnpackedTarball_epoxy.mk -new file mode 100644 -index 0000000..76c0fdf ---- /dev/null -+++ b/external/epoxy/UnpackedTarball_epoxy.mk -@@ -0,0 +1,20 @@ -+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -+# -+# This file is part of the LibreOffice project. -+# -+# This Source Code Form is subject to the terms of the Mozilla Public -+# License, v. 2.0. If a copy of the MPL was not distributed with this -+# file, You can obtain one at http://mozilla.org/MPL/2.0/. -+# -+ -+$(eval $(call gb_UnpackedTarball_UnpackedTarball,epoxy)) -+ -+$(eval $(call gb_UnpackedTarball_set_tarball,epoxy,$(EPOXY_TARBALL))) -+ -+$(eval $(call gb_UnpackedTarball_set_patchlevel,epoxy,0)) -+ -+$(eval $(call gb_UnpackedTarball_add_patches,epoxy, \ -+ external/epoxy/epoxy.windows.api.patch \ -+)) -+ -+# vim: set noet sw=4 ts=4: -diff --git a/external/epoxy/epoxy.windows.api.patch b/external/epoxy/epoxy.windows.api.patch -new file mode 100644 -index 0000000..12d2afb ---- /dev/null -+++ b/external/epoxy/epoxy.windows.api.patch -@@ -0,0 +1,90 @@ -+--- include/epoxy/gl.h -++++ include/epoxy/gl.h -+@@ -59,7 +59,8 @@ -+ -+ #else -+ #ifndef APIENTRY -+-#define APIENTRY __stdcall -++#define WINAPI __stdcall -++#define APIENTRY WINAPI -+ #endif -+ -+ #ifndef GLAPIENTRY -+--- src/egl_generated_dispatch.c -++++ src/egl_generated_dispatch.c -+@@ -128,7 +128,11 @@ -+ }; -+ -+ #if USING_DISPATCH_TABLE -++#if defined (_MSC_VER) -++static __inline struct dispatch_table * -++#else -+ static inline struct dispatch_table * -++#endif -+ get_dispatch_table(void); -+ -+ #endif -+@@ -1642,7 +1646,11 @@ -+ uint32_t egl_tls_index; -+ uint32_t egl_tls_size = sizeof(struct dispatch_table); -+ -++#if defined (_MSC_VER) -++static __inline struct dispatch_table * -++#else -+ static inline struct dispatch_table * -++#endif -+ get_dispatch_table(void) -+ { -+ return TlsGetValue(egl_tls_index); -+--- src/gl_generated_dispatch.c -++++ src/gl_generated_dispatch.c -+@@ -3122,7 +3122,11 @@ -+ }; -+ -+ #if USING_DISPATCH_TABLE -++#if defined (_MSC_VER) -++static __inline struct dispatch_table * -++#else -+ static inline struct dispatch_table * -++#endif -+ get_dispatch_table(void); -+ -+ #endif -+@@ -51507,7 +51511,11 @@ -+ uint32_t gl_tls_index; -+ uint32_t gl_tls_size = sizeof(struct dispatch_table); -+ -++#if defined (_MSC_VER) -++static __inline struct dispatch_table * -++#else -+ static inline struct dispatch_table * -++#endif -+ get_dispatch_table(void) -+ { -+ return TlsGetValue(gl_tls_index); -+--- src/wgl_generated_dispatch.c -++++ src/wgl_generated_dispatch.c -+@@ -157,7 +157,11 @@ -+ }; -+ -+ #if USING_DISPATCH_TABLE -++#if defined (_MSC_VER) -++static __inline struct dispatch_table * -++#else -+ static inline struct dispatch_table * -++#endif -+ get_dispatch_table(void); -+ -+ #endif -+@@ -1701,7 +1705,11 @@ -+ uint32_t wgl_tls_index; -+ uint32_t wgl_tls_size = sizeof(struct dispatch_table); -+ -++#if defined (_MSC_VER) -++static __inline struct dispatch_table * -++#else -+ static inline struct dispatch_table * -++#endif -+ get_dispatch_table(void) -+ { -+ return TlsGetValue(wgl_tls_index); -diff --git a/external/glew/ExternalPackage_glew.mk b/external/glew/ExternalPackage_glew.mk -deleted file mode 100644 -index e6adc8b..0000000 ---- a/external/glew/ExternalPackage_glew.mk -+++ /dev/null -@@ -1,33 +0,0 @@ --# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- --# --# This file is part of the LibreOffice project. --# --# This Source Code Form is subject to the terms of the Mozilla Public --# License, v. 2.0. If a copy of the MPL was not distributed with this --# file, You can obtain one at http://mozilla.org/MPL/2.0/. --# -- --$(eval $(call gb_ExternalPackage_ExternalPackage,glew,glew)) -- --$(eval $(call gb_ExternalPackage_use_external_project,glew,glew)) -- --ifeq ($(OS)-$(COM),WNT-MSC) --ifeq ($(CPUNAME),INTEL) --glew_arch_subdir=Win32 --else ifeq ($(CPUNAME),X86_64) --glew_arch_subdir=x64 --endif --endif -- --ifeq ($(OS),MACOSX) --$(eval $(call gb_ExternalPackage_add_file,glew,$(LIBO_LIB_FOLDER)/libGLEW.1.12.0.dylib,lib/libGLEW.1.12.0.dylib)) --else ifeq ($(OS)-$(COM),WNT-GCC) --else ifeq ($(COM),MSC) --$(eval $(call gb_ExternalPackage_add_files,glew,$(LIBO_LIB_FOLDER), \ -- bin/$(if $(MSVC_USE_DEBUG_RUNTIME),Debug/$(glew_arch_subdir)/glew32d.dll,Release/$(glew_arch_subdir)/glew32.dll) \ --)) --else ifeq ($(DISABLE_DYNLOADING),) --$(eval $(call gb_ExternalPackage_add_file,glew,$(LIBO_LIB_FOLDER)/libGLEW.so.1.12,lib/libGLEW.so.1.12.0)) --endif -- --# vim: set noet sw=4 ts=4: -diff --git a/external/glew/ExternalProject_glew.mk b/external/glew/ExternalProject_glew.mk -deleted file mode 100644 -index 0d80cd0..0000000 ---- a/external/glew/ExternalProject_glew.mk -+++ /dev/null -@@ -1,36 +0,0 @@ --# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- --# --# This file is part of the LibreOffice project. --# --# This Source Code Form is subject to the terms of the Mozilla Public --# License, v. 2.0. If a copy of the MPL was not distributed with this --# file, You can obtain one at http://mozilla.org/MPL/2.0/. --# -- --$(eval $(call gb_ExternalProject_ExternalProject,glew)) -- --$(eval $(call gb_ExternalProject_register_targets,glew,\ -- build \ --)) -- --ifeq ($(COM),MSC) --$(call gb_ExternalProject_get_state_target,glew,build) : -- $(call gb_ExternalProject_run,build,\ -- $(if $(filter 140,$(VCVER)),$(DEVENV) /Upgrade glew.sln,echo up-to-date) && \ -- msbuild.exe glew_shared.vcxproj /p:Platform=$(if $(filter INTEL,$(CPUNAME)),Win32,x64) /p:Configuration=$(if $(MSVC_USE_DEBUG_RUNTIME),Debug,Release) $(if $(filter 140,$(VCVER)),/p:PlatformToolset=v140,/p:PlatformToolset=v120) \ -- ,build/vc12) \ -- $(call gb_ExternalProject_run,build,\ -- msbuild.exe glewinfo.vcxproj /p:Platform=$(if $(filter INTEL,$(CPUNAME)),Win32,x64) /p:Configuration=Release $(if $(filter 140,$(VCVER)),/p:PlatformToolset=v140,/p:PlatformToolset=v120) \ -- ,build/vc12) -- --else -- --$(call gb_ExternalProject_get_state_target,glew,build) : -- $(call gb_ExternalProject_run,glew,\ -- $(if $(ENABLE_DEBUG),STRIP=) LD="$(CC)" \ -- $(MAKE) STRIP= glew.lib $(if $(filter DESKTOP,$(BUILD_TYPE)),$(if $(ENABLE_DEBUG),debug)) \ -- ) -- --endif -- --# vim: set noet sw=4 ts=4: -diff --git a/external/glew/README b/external/glew/README -deleted file mode 100644 -index 34b2d24..0000000 ---- a/external/glew/README -+++ /dev/null -@@ -1,6 +0,0 @@ --GLEW is the OpenGL Extension Wrangler -- --GLEW provides efficient run-time mechanisms for determining which OpenGL --extensions are supported on the target platform. -- --http://glew.sourceforge.net/ -diff --git a/external/glew/UnpackedTarball_glew.mk b/external/glew/UnpackedTarball_glew.mk -deleted file mode 100644 -index c47b7a0..0000000 ---- a/external/glew/UnpackedTarball_glew.mk -+++ /dev/null -@@ -1,48 +0,0 @@ --# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- --# --# This file is part of the LibreOffice project. --# --# This Source Code Form is subject to the terms of the Mozilla Public --# License, v. 2.0. If a copy of the MPL was not distributed with this --# file, You can obtain one at http://mozilla.org/MPL/2.0/. --# -- --$(eval $(call gb_UnpackedTarball_UnpackedTarball,glew)) -- --$(eval $(call gb_UnpackedTarball_set_tarball,glew,$(GLEW_TARBALL))) -- --$(eval $(call gb_UnpackedTarball_set_patchlevel,glew,0)) -- --$(eval $(call gb_UnpackedTarball_fix_end_of_line,glew,\ -- Makefile \ -- include/GL/glew.h \ --)) -- --ifeq ($(OS)$(COM),WNTMSC) --$(eval $(call gb_UnpackedTarball_set_patchflags,glew,--binary)) --$(eval $(call gb_UnpackedTarball_add_patches,glew,\ -- external/glew/glew-msvc-disable-sse2.patch.1 \ --)) --else --$(eval $(call gb_UnpackedTarball_add_patches,glew,\ -- external/glew/glew_use_CC_variable.patch.1 \ --)) --endif -- --ifeq ($(OS),MACOSX) --$(eval $(call gb_UnpackedTarball_add_patches,glew,\ -- external/glew/glew-macosx-install-name.patch.1 \ --)) --endif -- --ifeq ($(DISABLE_DYNLOADING),TRUE) --$(eval $(call gb_UnpackedTarball_add_patches,glew,\ -- external/glew/glew-static-only.patch.1 \ --)) --endif -- --$(eval $(call gb_UnpackedTarball_add_patches,glew,\ -- external/glew/glew-tmpdir.patch.1 \ --)) -- --# vim: set noet sw=4 ts=4: -diff --git a/external/glew/glew-macosx-install-name.patch.1 b/external/glew/glew-macosx-install-name.patch.1 -deleted file mode 100644 -index 75e8e7f..0000000 ---- a/external/glew/glew-macosx-install-name.patch.1 -+++ /dev/null -@@ -1,13 +0,0 @@ ---*- Mode:Diff -*- --diff -ur glew.org/build/glew.rc glew/build/glew.rc ----- glew/config/Makefile.darwin --+++ glew/config/Makefile.darwin --@@ -20,7 +20,7 @@ -- LIB.DEVLNK = lib$(NAME).dylib -- LIB.SHARED = lib$(NAME).$(SO_VERSION).dylib -- LIB.STATIC = lib$(NAME).a ---LDFLAGS.SO = -dynamiclib -install_name $(GLEW_DEST)/lib/$(LIB.SHARED) -current_version $(SO_VERSION) -compatibility_version $(SO_MAJOR) --+LDFLAGS.SO = -dynamiclib -install_name @__________________________________________________OOO/$(LIB.SHARED) -current_version $(SO_VERSION) -compatibility_version $(SO_MAJOR) -- LIB.SONAME.MX = lib$(NAME)mx.$(SO_MAJOR).dylib -- LIB.DEVLNK.MX = lib$(NAME)mx.dylib -- LIB.SHARED.MX = lib$(NAME)mx.$(SO_VERSION).dylib -diff --git a/external/glew/glew-msvc-disable-sse2.patch.1 b/external/glew/glew-msvc-disable-sse2.patch.1 -deleted file mode 100644 -index 6b07044..0000000 ---- a/external/glew/glew-msvc-disable-sse2.patch.1 -+++ /dev/null -@@ -1,10 +0,0 @@ ----- glew/build//vc10/common.props.orig 2014-10-02 15:06:57.027060664 +0200 --+++ glew/build//vc10/common.props 2014-10-02 15:06:59.026060509 +0200 --@@ -10,6 +10,7 @@ -- <ItemDefinitionGroup> -- <ClCompile> -- <AdditionalIncludeDirectories>$(INCLUDE_DIR)</AdditionalIncludeDirectories> --+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet> -- </ClCompile> -- </ItemDefinitionGroup> -- <ItemGroup> -diff --git a/external/glew/glew-static-only.patch.1 b/external/glew/glew-static-only.patch.1 -deleted file mode 100644 -index 14ccff2..0000000 ---- a/external/glew/glew-static-only.patch.1 -+++ /dev/null -@@ -1,12 +0,0 @@ ---*- Mode:Diff -*- ----- glew/Makefile --+++ glew/Makefile --@@ -93,7 +93,7 @@ -- LIB.SOBJS.MX := $(addprefix tmp/$(SYSTEM)/mx/shared/,$(LIB.SRCS.NAMES)) -- LIB.SOBJS.MX := $(LIB.SOBJS.MX:.c=.o) -- ---glew.lib: lib lib/$(LIB.SHARED) lib/$(LIB.STATIC) glew.pc --+glew.lib: lib lib/$(LIB.STATIC) -- -- lib: -- mkdir lib -diff --git a/external/glew/glew-tmpdir.patch.1 b/external/glew/glew-tmpdir.patch.1 -deleted file mode 100644 -index 9a2847b..0000000 ---- a/external/glew/glew-tmpdir.patch.1 -+++ /dev/null -@@ -1,13 +0,0 @@ --diff -ur glew.org/Makefile glew/Makefile ----- glew.org/Makefile 2016-05-02 06:25:53.521291677 +0200 --+++ glew/Makefile 2016-05-02 06:31:10.325035494 +0200 --@@ -55,7 +55,8 @@ -- DIST_SRC_TGZ ?= $(shell pwd)/$(DIST_NAME).tgz -- DIST_WIN32 ?= $(shell pwd)/$(DIST_NAME)-win32.zip -- ---DIST_DIR := $(shell mktemp -d /tmp/glew.XXXXXX)/$(DIST_NAME) --+TMPDIR ?= /tmp --+DIST_DIR := $(shell mktemp -d $(TMPDIR)/glew.XXXXXX)/$(DIST_NAME) -- -- # To disable stripping of binaries either: -- # - use STRIP= on gmake command-line -diff --git a/external/glew/glew_use_CC_variable.patch.1 b/external/glew/glew_use_CC_variable.patch.1 -deleted file mode 100644 -index 56e9903..0000000 ---- a/external/glew/glew_use_CC_variable.patch.1 -+++ /dev/null -@@ -1,24 +0,0 @@ --Use CC variable from environment, don't hardcode "cc". -- ----- glew/config/Makefile.linux.orig 2014-01-29 15:39:43.364972925 +0100 --+++ glew/config/Makefile.linux 2014-01-29 15:44:45.621000941 +0100 --@@ -1,6 +1,6 @@ -- NAME = $(GLEW_NAME) ---CC = cc ---LD = cc --+CC ?= cc --+LD ?= $(CC) -- M_ARCH ?= $(shell uname -m) -- ARCH64 = false -- ifeq (x86_64,${M_ARCH}) ----- glew/config/Makefile.darwin.orig 2014-01-29 15:44:39.541000377 +0100 --+++ glew/config/Makefile.darwin 2014-01-29 15:44:47.548001120 +0100 --@@ -1,6 +1,6 @@ -- NAME = $(GLEW_NAME) ---CC = cc ---LD = cc --+CC ?= cc --+LD ?= $(CC) -- CFLAGS.EXTRA = -dynamic -fno-common -- #CFLAGS.EXTRA += -no-cpp-precomp -- LDFLAGS.EXTRA = -diff --git a/external/libgltf/ExternalProject_libgltf.mk b/external/libgltf/ExternalProject_libgltf.mk -index 57c01d0..90a1d96 100644 ---- a/external/libgltf/ExternalProject_libgltf.mk -+++ b/external/libgltf/ExternalProject_libgltf.mk -@@ -17,7 +17,7 @@ $(eval $(call gb_ExternalProject_register_targets,libgltf,\ - - $(eval $(call gb_ExternalProject_use_externals,libgltf,\ - boost_headers \ -- glew \ -+ epoxy \ - glm_headers \ - )) - -@@ -30,8 +30,8 @@ ifeq ($(SYSTEM_BOOST),) - libgltf_AdditionalIncludes += "$(call gb_UnpackedTarball_get_dir,boost)" - endif - --ifeq ($(SYSTEM_GLEW),) --libgltf_AdditionalIncludes += "$(call gb_UnpackedTarball_get_dir,glew)/include" -+ifeq ($(SYSTEM_EPOXY),) -+libgltf_AdditionalIncludes += "$(call gb_UnpackedTarball_get_dir,epoxy)/include" - endif - - ifeq ($(SYSTEM_GLM),) -@@ -45,7 +45,7 @@ $(call gb_ExternalProject_get_state_target,libgltf,build) : - $(if $(filter 120,$(VCVER)),/p:PlatformToolset=v120 /p:VisualStudioVersion=12.0 /ToolsVersion:12.0) \ - $(if $(filter 140,$(VCVER)),/p:PlatformToolset=v140 /p:VisualStudioVersion=14.0 /ToolsVersion:14.0) \ - '/p:AdditionalIncludeDirectories=$(subst $(WHITESPACE),;,$(subst /,\,$(strip $(libgltf_AdditionalIncludes))))' \ -- /p:AdditionalLibraryDirectories=$(if $(SYSTEM_GLEW),,"$(subst /,\,$(call gb_UnpackedTarball_get_dir,glew))\lib\$(if $(MSVC_USE_DEBUG_RUNTIME),Debug,Release)\Win32") \ -+ /p:AdditionalLibraryDirectories=$(if $(SYSTEM_EPOXY),,"$(subst /,\,$(call gb_UnpackedTarball_get_dir,epoxy))\lib\$(if $(MSVC_USE_DEBUG_RUNTIME),Debug,Release)\Win32") \ - ,build/win32) - - else # !ifeq($(COM),MSC) -@@ -67,7 +67,7 @@ $(call gb_ExternalProject_get_state_target,libgltf,build) : - $(if $(ENABLE_DEBUG),--enable-debug,--disable-debug) \ - --disable-werror \ - BOOST_CFLAGS="$(BOOST_CPPFLAGS)" \ -- GLEW_CFLAGS="$(if $(SYSTEM_GLEW),$(GLEW_CFLAGS),-I$(call gb_UnpackedTarball_get_dir,glew)/include) -DGLEW_NO_GLU" \ -+ EPOXY_CFLAGS="$(if $(SYSTEM_EPOXY),$(EPOXY_CFLAGS),-I$(call gb_UnpackedTarball_get_dir,epoxy)/include)" \ - GLM_CFLAGS="$(if $(SYSTEM_GLM),$(GLM_CFLAGS),-I$(call gb_UnpackedTarball_get_dir,glm))" \ - $(if $(libgltf_CPPFLAGS),CPPFLAGS='$(libgltf_CPPFLAGS)') \ - && $(MAKE) \ -diff --git a/external/libgltf/libgltf-msvc-x64.patch.1 b/external/libgltf/libgltf-msvc-x64.patch.1 -index 86417a7..32a831b 100644 ---- a/external/libgltf/libgltf-msvc-x64.patch.1 -+++ b/external/libgltf/libgltf-msvc-x64.patch.1 -@@ -20,7 +20,7 @@ diff -ur libgltf.org/build/win32/libgltf.vcxproj libgltf/build/win32/libgltf.vcx - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\inc\libgltf.h" /> --@@ -56,6 +64,12 @@ -+@@ -53,6 +61,12 @@ - <CharacterSet>MultiByte</CharacterSet> - <PlatformToolset>v110</PlatformToolset> - </PropertyGroup> -@@ -33,7 +33,7 @@ diff -ur libgltf.org/build/win32/libgltf.vcxproj libgltf/build/win32/libgltf.vcx - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> --@@ -63,15 +77,28 @@ -+@@ -60,15 +74,28 @@ - <CharacterSet>MultiByte</CharacterSet> - <PlatformToolset>v110</PlatformToolset> - </PropertyGroup> -@@ -62,8 +62,8 @@ diff -ur libgltf.org/build/win32/libgltf.vcxproj libgltf/build/win32/libgltf.vcx - <PropertyGroup Label="UserMacros" /> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <ClCompile> --@@ -86,6 +113,19 @@ -- <AdditionalDependencies>opengl32.lib;glew32.lib;$(AdditionalDependencies)</AdditionalDependencies> -+@@ -83,10 +110,42 @@ -+ <AdditionalDependencies>opengl32.lib;epoxy32.lib;$(AdditionalDependencies)</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> -@@ -76,20 +76,13 @@ diff -ur libgltf.org/build/win32/libgltf.vcxproj libgltf/build/win32/libgltf.vcx - + <Link> - + <GenerateDebugInformation>true</GenerateDebugInformation> - + <AdditionalLibraryDirectories>$(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> --+ <AdditionalDependencies>opengl32.lib;glew32.lib;$(AdditionalDependencies)</AdditionalDependencies> -++ <AdditionalDependencies>opengl32.lib;epoxy32.lib;$(AdditionalDependencies)</AdditionalDependencies> - + </Link> - + </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <WarningLevel>Level4</WarningLevel> --@@ -105,6 +145,25 @@ -- <SubSystem>Windows</SubSystem> -- </Link> -- </ItemDefinitionGroup> --+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> --+ <ClCompile> --+ <WarningLevel>Level4</WarningLevel> --+ <Optimization>MaxSpeed</Optimization> -+ <Optimization>MaxSpeed</Optimization> - + <EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet> - + <FunctionLevelLinking>true</FunctionLevelLinking> - + <IntrinsicFunctions>true</IntrinsicFunctions> -@@ -101,10 +94,14 @@ diff -ur libgltf.org/build/win32/libgltf.vcxproj libgltf/build/win32/libgltf.vcx - + <EnableCOMDATFolding>true</EnableCOMDATFolding> - + <OptimizeReferences>true</OptimizeReferences> - + <AdditionalLibraryDirectories>$(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> --+ <AdditionalDependencies>opengl32.lib;glew32.lib;$(AdditionalDependencies)</AdditionalDependencies> -++ <AdditionalDependencies>opengl32.lib;epoxy32.lib;$(AdditionalDependencies)</AdditionalDependencies> - + <SubSystem>Windows</SubSystem> - + </Link> - + </ItemDefinitionGroup> -- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> -- <ImportGroup Label="ExtensionTargets"> -- </ImportGroup> -++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> -++ <ClCompile> -++ <WarningLevel>Level4</WarningLevel> -++ <Optimization>MaxSpeed</Optimization> -+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet> -+ <FunctionLevelLinking>true</FunctionLevelLinking> -+ <IntrinsicFunctions>true</IntrinsicFunctions> -diff --git a/include/vcl/opengl/OpenGLContext.hxx b/include/vcl/opengl/OpenGLContext.hxx -index e3e9ce0..ffcd816 100644 ---- a/include/vcl/opengl/OpenGLContext.hxx -+++ b/include/vcl/opengl/OpenGLContext.hxx -@@ -12,7 +12,7 @@ - - #include <string.h> - --#include <GL/glew.h> -+#include <epoxy/gl.h> - - #include <vcl/dllapi.h> - #include <vcl/window.hxx> -@@ -158,8 +158,8 @@ private: - virtual void destroyCurrentContext(); - - protected: -- bool InitGLEW(); -- static void InitGLEWDebugging(); -+ bool InitGL(); -+ static void InitGLDebugging(); - static void InitChildWindow(SystemChildWindow *pChildWindow); - static void BuffersSwapped(); - virtual GLWindow& getModifiableOpenGLWindow() = 0; -diff --git a/include/vcl/opengl/OpenGLHelper.hxx b/include/vcl/opengl/OpenGLHelper.hxx -index 458021f..23b9b79 100644 ---- a/include/vcl/opengl/OpenGLHelper.hxx -+++ b/include/vcl/opengl/OpenGLHelper.hxx -@@ -10,7 +10,7 @@ - #ifndef INCLUDED_VCL_OPENGL_OPENGLHELPER_HXX - #define INCLUDED_VCL_OPENGL_OPENGLHELPER_HXX - --#include <GL/glew.h> -+#include <epoxy/gl.h> - #include <sal/log.hxx> - #include <vcl/dllapi.h> - #include <vcl/bitmapex.hxx> -diff --git a/include/vcl/opengl/OpenGLWrapper.hxx b/include/vcl/opengl/OpenGLWrapper.hxx -index 3b7f6a7..e9fb967 100644 ---- a/include/vcl/opengl/OpenGLWrapper.hxx -+++ b/include/vcl/opengl/OpenGLWrapper.hxx -@@ -7,7 +7,7 @@ - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ - --// Fully wrapped methods that have no exotic GL / GLEW header deps. -+// Fully wrapped methods that have no exotic GL header deps. - - #ifndef INCLUDED_VCL_OPENGL_OPENGLWRAPPER_HXX - #define INCLUDED_VCL_OPENGL_OPENGLWRAPPER_HXX -diff --git a/slideshow/Library_OGLTrans.mk b/slideshow/Library_OGLTrans.mk -index b908a0b..fb04596 100644 ---- a/slideshow/Library_OGLTrans.mk -+++ b/slideshow/Library_OGLTrans.mk -@@ -34,7 +34,7 @@ $(eval $(call gb_Library_use_libraries,OGLTrans,\ - - $(eval $(call gb_Library_use_externals,OGLTrans,\ - boost_headers \ -- glew \ -+ epoxy \ - glm_headers \ - )) - -@@ -56,13 +56,6 @@ $(eval $(call gb_Library_use_system_win32_libs,OGLTrans,\ - opengl32 \ - )) - --else -- --$(eval $(call gb_Library_add_libs,OGLTrans,\ -- -lGL \ -- -lX11 \ --)) -- - endif - - $(eval $(call gb_Library_add_exception_objects,OGLTrans,\ -diff --git a/slideshow/Library_slideshow.mk b/slideshow/Library_slideshow.mk -index 3a9aac6..0583f5e 100644 ---- a/slideshow/Library_slideshow.mk -+++ b/slideshow/Library_slideshow.mk -@@ -31,7 +31,7 @@ $(eval $(call gb_Library_use_externals,slideshow,\ - )) - ifeq ($(ENABLE_HEADLESS),) - $(eval $(call gb_Library_use_externals,slideshow,\ -- glew \ -+ epoxy \ - )) - endif - -diff --git a/slideshow/source/engine/opengl/TransitionImpl.cxx b/slideshow/source/engine/opengl/TransitionImpl.cxx -index 60ab587..115aaf2 100644 ---- a/slideshow/source/engine/opengl/TransitionImpl.cxx -+++ b/slideshow/source/engine/opengl/TransitionImpl.cxx -@@ -26,7 +26,6 @@ - * - ************************************************************************/ - --#include <GL/glew.h> - #include <glm/gtc/matrix_transform.hpp> - #include <glm/gtc/type_ptr.hpp> - #include <vcl/opengl/OpenGLHelper.hxx> -diff --git a/slideshow/source/engine/opengl/TransitionImpl.hxx b/slideshow/source/engine/opengl/TransitionImpl.hxx -index 66ecb6b..b739c0c 100644 ---- a/slideshow/source/engine/opengl/TransitionImpl.hxx -+++ b/slideshow/source/engine/opengl/TransitionImpl.hxx -@@ -31,8 +31,7 @@ - #include <config_lgpl.h> - #include <glm/gtc/type_ptr.hpp> - --#include <GL/glew.h> -- -+#include <limits> - #include <memory> - #include <vector> - -diff --git a/slideshow/source/engine/opengl/TransitionerImpl.cxx b/slideshow/source/engine/opengl/TransitionerImpl.cxx -index ef1d385..01cd3e5 100644 ---- a/slideshow/source/engine/opengl/TransitionerImpl.cxx -+++ b/slideshow/source/engine/opengl/TransitionerImpl.cxx -@@ -810,7 +810,7 @@ void buildMipmaps( - GLint internalFormat, GLsizei width, GLsizei height, GLenum format, - GLenum type, const void * data) - { -- if (GLEW_ARB_framebuffer_object) { -+ if (epoxy_has_gl_extension("GL_ARB_framebuffer_object")) { - glTexImage2D( - GL_TEXTURE_2D, 0, internalFormat, width, height, 0, format, type, - data); -diff --git a/svx/Library_svxcore.mk b/svx/Library_svxcore.mk -index 557c427..48ecf22 100644 ---- a/svx/Library_svxcore.mk -+++ b/svx/Library_svxcore.mk -@@ -88,7 +88,7 @@ $(eval $(call gb_Library_use_externals,svxcore,\ - )) - ifeq ($(ENABLE_HEADLESS),) - $(eval $(call gb_Library_use_externals,svxcore,\ -- glew \ -+ epoxy \ - )) - endif - -diff --git a/toolkit/Library_tk.mk b/toolkit/Library_tk.mk -index 27bd721..b9a42d3 100644 ---- a/toolkit/Library_tk.mk -+++ b/toolkit/Library_tk.mk -@@ -27,7 +27,7 @@ $(eval $(call gb_Library_use_externals,tk,\ - - ifeq ($(ENABLE_HEADLESS),) - $(eval $(call gb_Library_use_externals,tk,\ -- glew \ -+ epoxy \ - )) - endif - $(eval $(call gb_Library_set_include,tk,\ -diff --git a/vcl/CppunitTest_vcl_bitmap_test.mk b/vcl/CppunitTest_vcl_bitmap_test.mk -index 879c7ac..70ce156 100644 ---- a/vcl/CppunitTest_vcl_bitmap_test.mk -+++ b/vcl/CppunitTest_vcl_bitmap_test.mk -@@ -19,7 +19,7 @@ $(eval $(call gb_CppunitTest_use_externals,vcl_bitmap_test,\ - )) - ifeq ($(ENABLE_HEADLESS),) - $(eval $(call gb_CppunitTest_use_externals,vcl_bitmap_test,\ -- glew \ -+ epoxy \ - )) - endif - -diff --git a/vcl/CppunitTest_vcl_wmf_test.mk b/vcl/CppunitTest_vcl_wmf_test.mk -index 369c792..7cae363 100644 ---- a/vcl/CppunitTest_vcl_wmf_test.mk -+++ b/vcl/CppunitTest_vcl_wmf_test.mk -@@ -87,7 +87,7 @@ $(eval $(call gb_CppunitTest_use_externals,vcl_wmf_test,\ - )) - ifeq ($(ENABLE_HEADLESS),) - $(eval $(call gb_CppunitTest_use_externals,vcl_wmf_test,\ -- glew \ -+ epoxy \ - )) - endif - -@@ -136,7 +136,6 @@ $(eval $(call gb_CppunitTest_add_libs,vcl_wmf_test,\ - -lm \ - -ldl \ - -lpthread \ -- -lGL \ - -lX11 \ - )) - endif -@@ -190,7 +189,6 @@ ifeq ($(OS), $(filter LINUX %BSD SOLARIS, $(OS))) - $(eval $(call gb_CppunitTest_add_libs,vcl_wmf_test,\ - -lm $(DLOPEN_LIBS) \ - -lpthread \ -- -lGL \ - -lX11 \ - -lXext \ - )) -diff --git a/vcl/Executable_icontest.mk b/vcl/Executable_icontest.mk -index 102697b..cce8feb 100644 ---- a/vcl/Executable_icontest.mk -+++ b/vcl/Executable_icontest.mk -@@ -15,7 +15,7 @@ $(eval $(call gb_Executable_use_externals,icontest,\ - )) - ifeq ($(ENABLE_HEADLESS),) - $(eval $(call gb_Executable_use_externals,icontest,\ -- glew \ -+ epoxy \ - )) - endif - -diff --git a/vcl/Executable_vcldemo.mk b/vcl/Executable_vcldemo.mk -index bff091e..a09d3b4 100644 ---- a/vcl/Executable_vcldemo.mk -+++ b/vcl/Executable_vcldemo.mk -@@ -21,7 +21,7 @@ $(eval $(call gb_Executable_use_externals,vcldemo,\ - )) - ifeq ($(ENABLE_HEADLESS),) - $(eval $(call gb_Executable_use_externals,vcldemo,\ -- glew \ -+ epoxy \ - )) - endif - -diff --git a/vcl/Executable_visualbackendtest.mk b/vcl/Executable_visualbackendtest.mk -index abf8cbe..8704453 100644 ---- a/vcl/Executable_visualbackendtest.mk -+++ b/vcl/Executable_visualbackendtest.mk -@@ -46,7 +46,6 @@ $(eval $(call gb_Executable_add_libs,visualbackendtest,\ - -lm \ - -ldl \ - -lpthread \ -- -lGL \ - -lX11 \ - )) - -diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk -index f552b55..3bfff8c 100644 ---- a/vcl/Library_vcl.mk -+++ b/vcl/Library_vcl.mk -@@ -124,7 +124,7 @@ $(eval $(call gb_Library_use_externals,vcl,\ - )) - ifeq ($(ENABLE_HEADLESS),) - $(eval $(call gb_Library_use_externals,vcl,\ -- glew \ -+ epoxy \ - )) - endif - -@@ -648,7 +648,6 @@ $(eval $(call gb_Library_add_libs,vcl,\ - -lm \ - -ldl \ - -lpthread \ -- -lGL \ - -lX11 \ - )) - endif -diff --git a/vcl/Library_vclplug_gen.mk b/vcl/Library_vclplug_gen.mk -index f281605..0e1c39c 100644 ---- a/vcl/Library_vclplug_gen.mk -+++ b/vcl/Library_vclplug_gen.mk -@@ -51,7 +51,7 @@ $(eval $(call gb_Library_use_externals,vclplug_gen,\ - boost_headers \ - cairo \ - graphite \ -- glew \ -+ epoxy \ - glm_headers \ - harfbuzz \ - icu_headers \ -@@ -65,7 +65,6 @@ $(eval $(call gb_Library_add_libs,vclplug_gen,\ - -lXext \ - -lSM \ - -lICE \ -- -lGL \ - )) - - $(eval $(call gb_Library_add_exception_objects,vclplug_gen,\ -diff --git a/vcl/Library_vclplug_gtk.mk b/vcl/Library_vclplug_gtk.mk -index c32a127..67247b7 100644 ---- a/vcl/Library_vclplug_gtk.mk -+++ b/vcl/Library_vclplug_gtk.mk -@@ -59,7 +59,7 @@ $(eval $(call gb_Library_use_externals,vclplug_gtk,\ - cairo \ - dbus \ - gio \ -- glew \ -+ epoxy \ - gtk \ - gthread \ - icuuc \ -diff --git a/vcl/Library_vclplug_gtk3.mk b/vcl/Library_vclplug_gtk3.mk -index 8d013d9..1457c1a 100644 ---- a/vcl/Library_vclplug_gtk3.mk -+++ b/vcl/Library_vclplug_gtk3.mk -@@ -75,7 +75,7 @@ $(eval $(call gb_Library_use_libraries,vclplug_gtk3,\ - - $(eval $(call gb_Library_use_externals,vclplug_gtk3,\ - boost_headers \ -- glew \ -+ epoxy \ - dbus \ - )) - -diff --git a/vcl/Library_vclplug_kde4.mk b/vcl/Library_vclplug_kde4.mk -index 30c4069..acd7bd5 100644 ---- a/vcl/Library_vclplug_kde4.mk -+++ b/vcl/Library_vclplug_kde4.mk -@@ -54,7 +54,7 @@ $(eval $(call gb_Library_use_externals,vclplug_kde4,\ - boost_headers \ - icuuc \ - kde4 \ -- glew \ -+ epoxy \ - )) - - $(eval $(call gb_Library_add_libs,vclplug_kde4,\ -diff --git a/vcl/inc/opengl/LineRenderUtils.hxx b/vcl/inc/opengl/LineRenderUtils.hxx -index 58ae6a8..e3f375b 100644 ---- a/vcl/inc/opengl/LineRenderUtils.hxx -+++ b/vcl/inc/opengl/LineRenderUtils.hxx -@@ -11,7 +11,6 @@ - #ifndef INCLUDED_VCL_INC_OPENGL_LINERENDERUTILS_H - #define INCLUDED_VCL_INC_OPENGL_LINERENDERUTILS_H - --#include <GL/glew.h> - #include "opengl/VertexUtils.hxx" - #include "opengl/RenderList.hxx" - -diff --git a/vcl/inc/opengl/VertexUtils.hxx b/vcl/inc/opengl/VertexUtils.hxx -index f9804ec..de2c070 100644 ---- a/vcl/inc/opengl/VertexUtils.hxx -+++ b/vcl/inc/opengl/VertexUtils.hxx -@@ -12,7 +12,7 @@ - #define INCLUDED_VCL_INC_OPENGL_VERTEXUTILS_H - - #include <basegfx/numeric/ftools.hxx> --#include <GL/glew.h> -+#include <epoxy/gl.h> - #include <glm/gtx/norm.hpp> - #include <vcl/salgtype.hxx> - #include <vector> -diff --git a/vcl/inc/opengl/framebuffer.hxx b/vcl/inc/opengl/framebuffer.hxx -index ec7a450..a2dbd1e 100644 ---- a/vcl/inc/opengl/framebuffer.hxx -+++ b/vcl/inc/opengl/framebuffer.hxx -@@ -10,7 +10,6 @@ - #ifndef INCLUDED_VCL_INC_OPENGL_FRAMEBUFFER_H - #define INCLUDED_VCL_INC_OPENGL_FRAMEBUFFER_H - --#include <GL/glew.h> - #include <vcl/dllapi.h> - - #include <opengl/texture.hxx> -diff --git a/vcl/inc/opengl/program.hxx b/vcl/inc/opengl/program.hxx -index 73cdb7f..4632ddf 100644 ---- a/vcl/inc/opengl/program.hxx -+++ b/vcl/inc/opengl/program.hxx -@@ -14,7 +14,6 @@ - - #include <list> - --#include <GL/glew.h> - #include <vcl/dllapi.h> - - #include <basegfx/point/b2dpoint.hxx> -diff --git a/vcl/inc/opengl/texture.hxx b/vcl/inc/opengl/texture.hxx -index a0c8029..fd4eb97 100644 ---- a/vcl/inc/opengl/texture.hxx -+++ b/vcl/inc/opengl/texture.hxx -@@ -20,7 +20,7 @@ - #ifndef INCLUDED_VCL_INC_OPENGL_TEXTURE_H - #define INCLUDED_VCL_INC_OPENGL_TEXTURE_H - --#include <GL/glew.h> -+#include <epoxy/gl.h> - #include <vcl/dllapi.h> - #include <vcl/salgtype.hxx> - #include <rtl/ustring.hxx> -diff --git a/vcl/inc/pch/precompiled_vcl.hxx b/vcl/inc/pch/precompiled_vcl.hxx -index 6ef9e2a..a356ae8 100644 ---- a/vcl/inc/pch/precompiled_vcl.hxx -+++ b/vcl/inc/pch/precompiled_vcl.hxx -@@ -56,6 +56,7 @@ - #include <boost/math/special_functions/sinc.hpp> - #include <boost/multi_array.hpp> - #include <boost/optional.hpp> -+#include <epoxy/gl.h> - #include <osl/conditn.hxx> - #include <osl/diagnose.h> - #include <osl/diagnose.hxx> -@@ -184,7 +185,6 @@ - #include <vcl/virdev.hxx> - #include <vcl/window.hxx> - #include <vcl/wrkwin.hxx> --#include <GL/glew.h> - #include <PhysicalFontCollection.hxx> - #include <PhysicalFontFace.hxx> - #include <PhysicalFontFamily.hxx> -diff --git a/vcl/inc/unx/saldisp.hxx b/vcl/inc/unx/saldisp.hxx -index 64998df..339ba80 100644 ---- a/vcl/inc/unx/saldisp.hxx -+++ b/vcl/inc/unx/saldisp.hxx -@@ -28,7 +28,7 @@ class SalXLib; - #include <X11/Xlib.h> - #include <X11/Xutil.h> - #include <X11/extensions/Xrender.h> --#include "GL/glxew.h" -+#include <epoxy/glx.h> - - #include <unx/salunx.h> - #include <unx/saltype.h> -diff --git a/vcl/opengl/x11/gdiimpl.cxx b/vcl/opengl/x11/gdiimpl.cxx -index b4f87a3..92dd18c 100644 ---- a/vcl/opengl/x11/gdiimpl.cxx -+++ b/vcl/opengl/x11/gdiimpl.cxx -@@ -32,6 +32,7 @@ - #include <o3tl/lru_map.hxx> - - static std::vector<GLXContext> g_vShareList; -+static bool g_bAnyCurrent; - - class X11OpenGLContext : public OpenGLContext - { -@@ -184,23 +185,10 @@ namespace - return pFBC; - } - -- // we need them before glew can initialize them -- // glew needs an OpenGL context so we need to get the address manually -- void initOpenGLFunctionPointers() -- { -- glXChooseFBConfig = reinterpret_cast<GLXFBConfig*(*)(Display *dpy, int screen, const int *attrib_list, int *nelements)>(glXGetProcAddressARB(reinterpret_cast<GLubyte const *>("glXChooseFBConfig"))); -- glXGetVisualFromFBConfig = reinterpret_cast<XVisualInfo*(*)(Display *dpy, GLXFBConfig config)>(glXGetProcAddressARB(reinterpret_cast<GLubyte const *>("glXGetVisualFromFBConfig"))); // try to find a visual for the current set of attributes -- glXGetFBConfigAttrib = reinterpret_cast<int(*)(Display *dpy, GLXFBConfig config, int attribute, int* value)>(glXGetProcAddressARB(reinterpret_cast<GLubyte const *>("glXGetFBConfigAttrib"))); -- glXCreateContextAttribsARB = reinterpret_cast<GLXContext(*)(Display*, GLXFBConfig, GLXContext, Bool, const int*)>(glXGetProcAddressARB(reinterpret_cast<const GLubyte *>("glXCreateContextAttribsARB"))); -- glXCreatePixmap = reinterpret_cast<GLXPixmap(*)(Display*, GLXFBConfig, Pixmap, const int*)>(glXGetProcAddressARB(reinterpret_cast<const GLubyte *>("glXCreatePixmap"))); -- } -- - Visual* getVisual(Display* dpy, Window win) - { - OpenGLZone aZone; - -- initOpenGLFunctionPointers(); -- - XWindowAttributes xattr; - if( !XGetWindowAttributes( dpy, win, &xattr ) ) - { -@@ -235,7 +223,10 @@ void X11OpenGLContext::resetCurrent() - OpenGLZone aZone; - - if (m_aGLWin.dpy) -+ { - glXMakeCurrent(m_aGLWin.dpy, None, nullptr); -+ g_bAnyCurrent = false; -+ } - } - - bool X11OpenGLContext::isCurrent() -@@ -247,7 +238,7 @@ bool X11OpenGLContext::isCurrent() - - bool X11OpenGLContext::isAnyCurrent() - { -- return glXGetCurrentContext() != None; -+ return g_bAnyCurrent && glXGetCurrentContext() != None; - } - - SystemWindowData X11OpenGLContext::generateWinData(vcl::Window* pParent, bool /*bRequestLegacyContext*/) -@@ -266,8 +257,6 @@ SystemWindowData X11OpenGLContext::generateWinData(vcl::Window* pParent, bool /* - if( dpy == nullptr || !glXQueryExtension( dpy, nullptr, nullptr ) ) - return aWinData; - -- initOpenGLFunctionPointers(); -- - int best_fbc = -1; - GLXFBConfig* pFBC = getFBConfig(dpy, win, best_fbc, true, false); - -@@ -355,10 +344,13 @@ bool X11OpenGLContext::ImplInit() - - if( !glXMakeCurrent( m_aGLWin.dpy, m_aGLWin.win, m_aGLWin.ctx ) ) - { -+ g_bAnyCurrent = false; - SAL_WARN("vcl.opengl", "unable to select current GLX context"); - return false; - } - -+ g_bAnyCurrent = true; -+ - int glxMinor, glxMajor; - double nGLXVersion = 0; - if( glXQueryVersion( m_aGLWin.dpy, &glxMajor, &glxMinor ) ) -@@ -400,8 +392,8 @@ bool X11OpenGLContext::ImplInit() - } - } - -- bool bRet = InitGLEW(); -- InitGLEWDebugging(); -+ bool bRet = InitGL(); -+ InitGLDebugging(); - - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); - -@@ -427,10 +419,12 @@ void X11OpenGLContext::makeCurrent() - { - if (!glXMakeCurrent( m_aGLWin.dpy, m_aGLWin.win, m_aGLWin.ctx )) - { -+ g_bAnyCurrent = false; - SAL_WARN("vcl.opengl", "OpenGLContext::makeCurrent failed " - "on drawable " << m_aGLWin.win); - return; - } -+ g_bAnyCurrent = true; - } - - registerAsCurrent(); -@@ -445,6 +439,7 @@ void X11OpenGLContext::destroyCurrentContext() - g_vShareList.erase(itr); - - glXMakeCurrent(m_aGLWin.dpy, None, nullptr); -+ g_bAnyCurrent = false; - if( glGetError() != GL_NO_ERROR ) - { - SAL_WARN("vcl.opengl", "glError: " << glGetError()); -diff --git a/vcl/osx/salobj.cxx b/vcl/osx/salobj.cxx -index c75f2a7..9e6e746 100644 ---- a/vcl/osx/salobj.cxx -+++ b/vcl/osx/salobj.cxx -@@ -321,8 +321,8 @@ bool AquaOpenGLContext::ImplInit() - NSOpenGLView* pView = getOpenGLView(); - [[pView openGLContext] makeCurrentContext]; - -- bool bRet = InitGLEW(); -- InitGLEWDebugging(); -+ bool bRet = InitGL(); -+ InitGLDebugging(); - return bRet; - } - -diff --git a/vcl/source/opengl/OpenGLContext.cxx b/vcl/source/opengl/OpenGLContext.cxx -index 33d8009..1b2893b 100644 ---- a/vcl/source/opengl/OpenGLContext.cxx -+++ b/vcl/source/opengl/OpenGLContext.cxx -@@ -7,7 +7,6 @@ - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ - --#include <config_opengl.h> - #include <chrono> - - #include <vcl/opengl/OpenGLContext.hxx> -@@ -205,13 +204,8 @@ extern "C" void - APIENTRY - #endif - debug_callback(GLenum source, GLenum type, GLuint id, -- GLenum severity, GLsizei , const GLchar* message, --#if HAVE_GLEW_1_12 -- const GLvoid* --#else -- GLvoid* --#endif -- ) -+ GLenum severity, GLsizei , const GLchar* message, -+ const GLvoid*) - { - // ignore Nvidia's 131218: "Program/shader state performance warning: Fragment Shader is going to be recompiled because the shader key based on GL state mismatches." - // the GLSL compiler is a bit too aggressive in optimizing the state based on the current OpenGL state -@@ -280,30 +274,14 @@ OUString getGLString(GLenum eGlEnum) - return sString; - } - --bool OpenGLContext::InitGLEW() -+bool OpenGLContext::InitGL() - { -- static bool bGlewInit = false; -- if(!bGlewInit) -- { -- OpenGLZone aZone; -- -- glewExperimental = GL_TRUE; -- GLenum err = glewInit(); -- if (err != GLEW_OK) -- { -- SAL_WARN("vcl.opengl", "Failed to initialize GLEW: " << glewGetErrorString(err)); -- return false; -- } -- else -- bGlewInit = true; -- } -- - VCL_GL_INFO("OpenGLContext::ImplInit----end"); - VCL_GL_INFO("Vendor: " << getGLString(GL_VENDOR) << " Renderer: " << getGLString(GL_RENDERER) << " GL version: " << OpenGLHelper::getGLVersion()); - mbInitialized = true; - - // I think we need at least GL 3.0 -- if (!GLEW_VERSION_3_0) -+ if (epoxy_gl_version() < 30) - { - SAL_WARN("vcl.opengl", "We don't have at least OpenGL 3.0"); - return false; -@@ -319,11 +297,11 @@ bool OpenGLContext::InitGLEW() - return true; - } - --void OpenGLContext::InitGLEWDebugging() -+void OpenGLContext::InitGLDebugging() - { - #ifdef DBG_UTIL - // only enable debug output in dbgutil build -- if( GLEW_ARB_debug_output) -+ if (epoxy_has_gl_extension("GL_ARB_debug_output")) - { - OpenGLZone aZone; - -diff --git a/vcl/source/opengl/OpenGLHelper.cxx b/vcl/source/opengl/OpenGLHelper.cxx -index f07e7dc..9b91415 100644 ---- a/vcl/source/opengl/OpenGLHelper.cxx -+++ b/vcl/source/opengl/OpenGLHelper.cxx -@@ -401,7 +401,7 @@ GLint OpenGLHelper::LoadShaders(const OUString& rVertexShaderName, - aGeometryShaderSource = getShaderSource(rGeometryShaderName); - - GLint bBinaryResult = GL_FALSE; -- if( GLEW_ARB_get_program_binary && !rDigest.isEmpty() ) -+ if (epoxy_has_gl_extension("GL_ARB_get_program_binary") && !rDigest.isEmpty()) - { - OString aFileName = - createFileName(rVertexShaderName, rFragmentShaderName, rGeometryShaderName, rDigest); -@@ -473,7 +473,7 @@ GLint OpenGLHelper::LoadShaders(const OUString& rVertexShaderName, - if (bHasGeometryShader) - glAttachShader(ProgramID, GeometryShaderID); - -- if( GLEW_ARB_get_program_binary && !rDigest.isEmpty() ) -+ if (epoxy_has_gl_extension("GL_ARB_get_program_binary") && !rDigest.isEmpty()) - { - glProgramParameteri(ProgramID, GL_PROGRAM_BINARY_RETRIEVABLE_HINT, GL_TRUE); - glLinkProgram(ProgramID); -@@ -1085,14 +1085,14 @@ void OpenGLHelper::debugMsgPrint(const int nType, const char *pFormat, ...) - { - OpenGLZone aZone; - -- if (GLEW_KHR_debug) -+ if (epoxy_has_gl_extension("GL_KHR_debug")) - glDebugMessageInsert(GL_DEBUG_SOURCE_APPLICATION, - GL_DEBUG_TYPE_OTHER, - 1, // one[sic] id is as good as another ? - // GL_DEBUG_SEVERITY_NOTIFICATION for >= GL4.3 ? - GL_DEBUG_SEVERITY_LOW, - strlen(pStr), pStr); -- else if (GLEW_AMD_debug_output) -+ else if (epoxy_has_gl_extension("GL_AMD_debug_output")) - glDebugMessageInsertAMD(GL_DEBUG_CATEGORY_APPLICATION_AMD, - GL_DEBUG_SEVERITY_LOW_AMD, - 1, // one[sic] id is as good as another ? -diff --git a/vcl/unx/generic/app/saldisp.cxx b/vcl/unx/generic/app/saldisp.cxx -index 0bff9b8..34f0e6f 100644 ---- a/vcl/unx/generic/app/saldisp.cxx -+++ b/vcl/unx/generic/app/saldisp.cxx -@@ -47,7 +47,6 @@ - #include <X11/extensions/Xinerama.h> - #endif - --#include "GL/glxew.h" - #include <opengl/zone.hxx> - - #include <vcl/svapp.hxx> -diff --git a/vcl/workben/icontest.cxx b/vcl/workben/icontest.cxx -index ae2973b..32d6ae8 100644 ---- a/vcl/workben/icontest.cxx -+++ b/vcl/workben/icontest.cxx -@@ -20,8 +20,6 @@ - - #include <math.h> - --#include <GL/glew.h> -- - #include <glm/gtx/bit.hpp> - - #include <com/sun/star/lang/XComponent.hpp> --- -2.9.3 - diff --git a/source/xoffice/libreoffice/0001-gtk3-implement-opengl-support-for-slideshow.patch b/source/xoffice/libreoffice/0001-gtk3-implement-opengl-support-for-slideshow.patch deleted file mode 100644 index 560aed9..0000000 --- a/source/xoffice/libreoffice/0001-gtk3-implement-opengl-support-for-slideshow.patch +++ /dev/null @@ -1,568 +0,0 @@ -From ac19024c141448dbc5d89ad943a28875b4504f5c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <[email protected]> -Date: Fri, 25 Nov 2016 14:11:13 +0000 -Subject: [PATCH] gtk3: implement opengl support for slideshow -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -all of them work, except "Fall" doesn't look right, but it has -the exact same problem under gtk2/gen to. - -Change-Id: I73cb9c0fb8211f727198be78d90d4f80a4f8c7c8 -Reviewed-on: https://gerrit.libreoffice.org/31214 -Reviewed-by: Caolán McNamara <[email protected]> -Tested-by: Caolán McNamara <[email protected]> -(cherry picked from commit 8bd9db90383ee008777903c35c7a5eb2c5352e71) ---- - include/vcl/opengl/OpenGLContext.hxx | 2 + - slideshow/source/engine/opengl/TransitionImpl.cxx | 73 ++++++------ - slideshow/source/engine/opengl/TransitionImpl.hxx | 9 +- - .../source/engine/opengl/TransitionerImpl.cxx | 7 +- - vcl/inc/unx/gtk/gtkinst.hxx | 1 + - vcl/source/opengl/OpenGLContext.cxx | 5 + - vcl/unx/gtk3/gtk3gtkinst.cxx | 127 +++++++++++++++++++++ - 7 files changed, 181 insertions(+), 43 deletions(-) - -diff --git a/include/vcl/opengl/OpenGLContext.hxx b/include/vcl/opengl/OpenGLContext.hxx -index ffcd816..5796f7e 100644 ---- a/include/vcl/opengl/OpenGLContext.hxx -+++ b/include/vcl/opengl/OpenGLContext.hxx -@@ -129,6 +129,8 @@ public: - void registerAsCurrent(); - /// reset the GL context so this context is not implicit in subsequent GL calls. - virtual void resetCurrent(); -+ /// unbind the GL_FRAMEBUFFER to its default state, needed for gtk3 -+ virtual void restoreDefaultFramebuffer(); - virtual void swapBuffers(); - virtual void sync(); - void show(); -diff --git a/slideshow/source/engine/opengl/TransitionImpl.cxx b/slideshow/source/engine/opengl/TransitionImpl.cxx -index 115aaf2..7b9b894 100644 ---- a/slideshow/source/engine/opengl/TransitionImpl.cxx -+++ b/slideshow/source/engine/opengl/TransitionImpl.cxx -@@ -29,6 +29,7 @@ - #include <glm/gtc/matrix_transform.hpp> - #include <glm/gtc/type_ptr.hpp> - #include <vcl/opengl/OpenGLHelper.hxx> -+#include <vcl/opengl/OpenGLContext.hxx> - - #include <algorithm> - #include <array> -@@ -132,7 +133,7 @@ static std::vector<int> uploadPrimitives(const Primitives_t& primitives) - return indices; - } - --bool OGLTransitionImpl::prepare( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex ) -+bool OGLTransitionImpl::prepare( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, OpenGLContext *pContext ) - { - m_nProgramObject = makeShader(); - if (!m_nProgramObject) -@@ -200,7 +201,7 @@ bool OGLTransitionImpl::prepare( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteri - glBindBuffer(GL_ARRAY_BUFFER, 0); - CHECK_GL_ERROR(); - -- prepareTransition( glLeavingSlideTex, glEnteringSlideTex ); -+ prepareTransition( glLeavingSlideTex, glEnteringSlideTex, pContext ); - return true; - } - -@@ -233,7 +234,7 @@ void OGLTransitionImpl::finish( double, double, double, double, double ) - { - } - --void OGLTransitionImpl::prepareTransition( sal_Int32, sal_Int32 ) -+void OGLTransitionImpl::prepareTransition( sal_Int32, sal_Int32, OpenGLContext* ) - { - } - -@@ -241,7 +242,7 @@ void OGLTransitionImpl::finishTransition() - { - } - --void OGLTransitionImpl::displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale ) -+void OGLTransitionImpl::displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale, OpenGLContext * ) - { - CHECK_GL_ERROR(); - applyOverallOperations( nTime, SlideWidthScale, SlideHeightScale ); -@@ -257,7 +258,7 @@ void OGLTransitionImpl::displaySlides_( double nTime, sal_Int32 glLeavingSlideTe - } - - void OGLTransitionImpl::display( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, -- double SlideWidth, double SlideHeight, double DispWidth, double DispHeight ) -+ double SlideWidth, double SlideHeight, double DispWidth, double DispHeight, OpenGLContext *pContext ) - { - const double SlideWidthScale = SlideWidth/DispWidth; - const double SlideHeightScale = SlideHeight/DispHeight; -@@ -267,7 +268,7 @@ void OGLTransitionImpl::display( double nTime, sal_Int32 glLeavingSlideTex, sal_ - prepare( nTime, SlideWidth, SlideHeight, DispWidth, DispHeight ); - - CHECK_GL_ERROR(); -- displaySlides_( nTime, glLeavingSlideTex, glEnteringSlideTex, SlideWidthScale, SlideHeightScale ); -+ displaySlides_( nTime, glLeavingSlideTex, glEnteringSlideTex, SlideWidthScale, SlideHeightScale, pContext ); - CHECK_GL_ERROR(); - displayScene( nTime, SlideWidth, SlideHeight, DispWidth, DispHeight ); - CHECK_GL_ERROR(); -@@ -534,9 +535,9 @@ public: - - private: - virtual GLuint makeShader() const override; -- virtual void displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale ) override; -+ virtual void displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale, OpenGLContext *pContext ) override; - -- virtual void prepareTransition( sal_Int32, sal_Int32 ) override { -+ virtual void prepareTransition( sal_Int32, sal_Int32, OpenGLContext* ) override { - glDisable(GL_CULL_FACE); - } - -@@ -551,7 +552,7 @@ GLuint ReflectionTransition::makeShader() const - } - - void ReflectionTransition::displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, -- double SlideWidthScale, double SlideHeightScale ) -+ double SlideWidthScale, double SlideHeightScale, OpenGLContext * ) - { - CHECK_GL_ERROR(); - applyOverallOperations( nTime, SlideWidthScale, SlideHeightScale ); -@@ -598,7 +599,7 @@ public: - private: - virtual GLuint makeShader() const override; - -- virtual void displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale ) override; -+ virtual void displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale, OpenGLContext *pContext ) override; - }; - - GLuint SimpleTransition::makeShader() const -@@ -607,7 +608,7 @@ GLuint SimpleTransition::makeShader() const - } - - void SimpleTransition::displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, -- double SlideWidthScale, double SlideHeightScale ) -+ double SlideWidthScale, double SlideHeightScale, OpenGLContext * ) - { - CHECK_GL_ERROR(); - applyOverallOperations( nTime, SlideWidthScale, SlideHeightScale ); -@@ -857,10 +858,10 @@ public: - {} - - private: -- virtual void displaySlides_(double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale) override; -+ virtual void displaySlides_(double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale, OpenGLContext *pContext) override; - }; - --void RochadeTransition::displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale ) -+void RochadeTransition::displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale, OpenGLContext * ) - { - applyOverallOperations( nTime, SlideWidthScale, SlideHeightScale ); - -@@ -1195,7 +1196,7 @@ public: - {} - - private: -- virtual void displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale ) override; -+ virtual void displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale, OpenGLContext *pContext ) override; - }; - - Primitives_t makeLeavingSlide(double nTime) -@@ -1229,7 +1230,7 @@ Primitives_t makeLeavingSlide(double nTime) - } - - void DiamondTransition::displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, -- double SlideWidthScale, double SlideHeightScale ) -+ double SlideWidthScale, double SlideHeightScale, OpenGLContext * ) - { - CHECK_GL_ERROR(); - applyOverallOperations( nTime, SlideWidthScale, SlideHeightScale ); -@@ -1411,7 +1412,7 @@ protected: - {} - - virtual void finishTransition() override; -- virtual void prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex ) override; -+ virtual void prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, OpenGLContext *pContext ) override; - - private: - /** various data */ -@@ -1488,7 +1489,7 @@ void initPermTexture(GLuint *texID) - CHECK_GL_ERROR(); - } - --void PermTextureTransition::prepareTransition( sal_Int32, sal_Int32 ) -+void PermTextureTransition::prepareTransition( sal_Int32, sal_Int32, OpenGLContext* ) - { - CHECK_GL_ERROR(); - GLint location = glGetUniformLocation( m_nProgramObject, "permTexture" ); -@@ -1629,8 +1630,8 @@ public: - private: - virtual void finishTransition() override; - virtual GLuint makeShader() const override; -- virtual void prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex ) override; -- virtual void displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale ) override; -+ virtual void prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, OpenGLContext *pContext ) override; -+ virtual void displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale, OpenGLContext *pContext ) override; - - GLint mnSlideLocation = -1; - GLint mnTileInfoLocation = -1; -@@ -1679,10 +1680,10 @@ glm::mat4 lookAt(const glm::vec3& eye, const glm::vec3& center, const glm::vec3& - -glm::dot(s, eye), -glm::dot(u, eye), glm::dot(f, eye), 1); - } - --void VortexTransition::prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex ) -+void VortexTransition::prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, OpenGLContext *pContext ) - { - CHECK_GL_ERROR(); -- PermTextureTransition::prepareTransition( glLeavingSlideTex, glEnteringSlideTex ); -+ PermTextureTransition::prepareTransition( glLeavingSlideTex, glEnteringSlideTex, pContext ); - CHECK_GL_ERROR(); - - mnSlideLocation = glGetUniformLocation(m_nProgramObject, "slide"); -@@ -1783,7 +1784,7 @@ void VortexTransition::prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 - } - } - -- glBindFramebuffer(GL_FRAMEBUFFER, 0); -+ pContext->restoreDefaultFramebuffer(); - glBindTexture(GL_TEXTURE_2D, 0); - - glActiveTexture( GL_TEXTURE2 ); -@@ -1793,7 +1794,7 @@ void VortexTransition::prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 - glActiveTexture( GL_TEXTURE0 ); - } - --void VortexTransition::displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale ) -+void VortexTransition::displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale, OpenGLContext * pContext ) - { - CHECK_GL_ERROR(); - applyOverallOperations( nTime, SlideWidthScale, SlideHeightScale ); -@@ -1815,7 +1816,7 @@ void VortexTransition::displaySlides_( double nTime, sal_Int32 glLeavingSlideTex - displaySlide( nTime, glEnteringSlideTex, getScene().getEnteringSlide(), SlideWidthScale, SlideHeightScale ); - - glViewport(viewport[0], viewport[1], viewport[2], viewport[3]); -- glBindFramebuffer(GL_FRAMEBUFFER, 0); -+ pContext->restoreDefaultFramebuffer(); - glUniform1f( mnShadowLocation, 0.0 ); - glUniform1f( mnSlideLocation, 0.0 ); - displaySlide( nTime, glLeavingSlideTex, getScene().getLeavingSlide(), SlideWidthScale, SlideHeightScale ); -@@ -1877,7 +1878,7 @@ public: - - private: - virtual GLuint makeShader() const override; -- virtual void prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex ) override; -+ virtual void prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, OpenGLContext *pContext ) override; - virtual void prepare( double nTime, double SlideWidth, double SlideHeight, double DispWidth, double DispHeight ) override; - - glm::vec2 maCenter; -@@ -1889,7 +1890,7 @@ GLuint RippleTransition::makeShader() const - return OpenGLHelper::LoadShaders( "basicVertexShader", "rippleFragmentShader" ); - } - --void RippleTransition::prepareTransition( sal_Int32, sal_Int32 ) -+void RippleTransition::prepareTransition( sal_Int32, sal_Int32, OpenGLContext* ) - { - GLint nCenterLocation = glGetUniformLocation(m_nProgramObject, "center"); - CHECK_GL_ERROR(); -@@ -1974,7 +1975,7 @@ public: - - private: - virtual GLuint makeShader() const override; -- virtual void prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex ) override; -+ virtual void prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, OpenGLContext *pContext ) override; - virtual void finish( double nTime, double SlideWidth, double SlideHeight, double DispWidth, double DispHeight ) override; - - GLuint maBuffer = 0; -@@ -1990,10 +1991,10 @@ struct ThreeFloats - GLfloat x, y, z; - }; - --void GlitterTransition::prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex ) -+void GlitterTransition::prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, OpenGLContext *pContext ) - { - CHECK_GL_ERROR(); -- PermTextureTransition::prepareTransition( glLeavingSlideTex, glEnteringSlideTex ); -+ PermTextureTransition::prepareTransition( glLeavingSlideTex, glEnteringSlideTex, pContext ); - CHECK_GL_ERROR(); - - GLint nNumTilesLocation = glGetUniformLocation(m_nProgramObject, "numTiles"); -@@ -2078,8 +2079,8 @@ public: - private: - virtual void finishTransition() override; - virtual GLuint makeShader() const override; -- virtual void prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex ) override; -- virtual void displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale ) override; -+ virtual void prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, OpenGLContext *pContext ) override; -+ virtual void displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale, OpenGLContext *pContext ) override; - - GLint maHexagonSizeLocation = -1; - GLint maSelectedTextureLocation = -1; -@@ -2112,10 +2113,10 @@ GLuint HoneycombTransition::makeShader() const - return OpenGLHelper::LoadShaders( "honeycombVertexShader", "honeycombFragmentShader", "honeycombGeometryShader" ); - } - --void HoneycombTransition::prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex ) -+void HoneycombTransition::prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, OpenGLContext *pContext ) - { - CHECK_GL_ERROR(); -- PermTextureTransition::prepareTransition( glLeavingSlideTex, glEnteringSlideTex ); -+ PermTextureTransition::prepareTransition( glLeavingSlideTex, glEnteringSlideTex, pContext ); - - CHECK_GL_ERROR(); - maHexagonSizeLocation = glGetUniformLocation(m_nProgramObject, "hexagonSize"); -@@ -2189,11 +2190,11 @@ void HoneycombTransition::prepareTransition( sal_Int32 glLeavingSlideTex, sal_In - return; - } - -- glBindFramebuffer(GL_FRAMEBUFFER, 0); -+ pContext->restoreDefaultFramebuffer(); - } - - void HoneycombTransition::displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, -- double SlideWidthScale, double SlideHeightScale ) -+ double SlideWidthScale, double SlideHeightScale, OpenGLContext *pContext ) - { - CHECK_GL_ERROR(); - applyOverallOperations(nTime, SlideWidthScale, SlideHeightScale); -@@ -2217,7 +2218,7 @@ void HoneycombTransition::displaySlides_( double nTime, sal_Int32 glLeavingSlide - - // The back (entering) slide needs to be drawn before the front (leaving) one in order for blending to work. - glViewport(viewport[0], viewport[1], viewport[2], viewport[3]); -- glBindFramebuffer(GL_FRAMEBUFFER, 0); -+ pContext->restoreDefaultFramebuffer(); - glUniform1f(mnShadowLocation, 0.0); - glUniform1f(maSelectedTextureLocation, 0.0); - glUniform1f(maHexagonSizeLocation, 1.0f - borderSize); -diff --git a/slideshow/source/engine/opengl/TransitionImpl.hxx b/slideshow/source/engine/opengl/TransitionImpl.hxx -index b739c0c..54b7ba0 100644 ---- a/slideshow/source/engine/opengl/TransitionImpl.hxx -+++ b/slideshow/source/engine/opengl/TransitionImpl.hxx -@@ -36,6 +36,7 @@ - #include <vector> - - class Primitive; -+class OpenGLContext; - class Operation; - class SceneObject; - class TransitionData; -@@ -136,10 +137,10 @@ public: - - /** Prepare transition. - */ -- bool prepare( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex ); -+ bool prepare( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, OpenGLContext *pContext ); - /** Display a step of the transition. - */ -- void display( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidth, double SlideHeight, double DispWidth, double DispHeight ); -+ void display( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidth, double SlideHeight, double DispWidth, double DispHeight, OpenGLContext *pContext ); - /** Clean up after transition. - */ - void finish(); -@@ -182,7 +183,7 @@ private: - * - * Default implementation does nothing. - */ -- virtual void prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex ); -+ virtual void prepareTransition( sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, OpenGLContext *pContext ); - - /** This function is called when the transition needs to clear after itself, like delete own textures etc. - * -@@ -195,7 +196,7 @@ private: - * Default implementation applies overall operations and then - * displays both slides. - */ -- virtual void displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale ); -+ virtual void displaySlides_( double nTime, sal_Int32 glLeavingSlideTex, sal_Int32 glEnteringSlideTex, double SlideWidthScale, double SlideHeightScale, OpenGLContext *pContext ); - - /** This function is called in prepare method to create the GL program. - * -diff --git a/slideshow/source/engine/opengl/TransitionerImpl.cxx b/slideshow/source/engine/opengl/TransitionerImpl.cxx -index 01cd3e5..f2f0b3f 100644 ---- a/slideshow/source/engine/opengl/TransitionerImpl.cxx -+++ b/slideshow/source/engine/opengl/TransitionerImpl.cxx -@@ -407,7 +407,7 @@ void OGLTransitionerImpl::impl_prepareSlides() - bool OGLTransitionerImpl::impl_prepareTransition() - { - if( mpTransition && mpTransition->getSettings().mnRequiredGLVersion <= mnGLVersion ) -- return mpTransition->prepare( maLeavingSlideGL, maEnteringSlideGL ); -+ return mpTransition->prepare( maLeavingSlideGL, maEnteringSlideGL, mpContext.get() ); - return false; - } - -@@ -1046,10 +1046,11 @@ void SAL_CALL OGLTransitionerImpl::update( double nTime ) throw (uno::RuntimeExc - CHECK_GL_ERROR(); - - const GLWindow& rGLWindow(mpContext->getOpenGLWindow()); -- mpTransition->display( nTime, maLeavingSlideGL, maEnteringSlideGL, -+ mpTransition->display(nTime, maLeavingSlideGL, maEnteringSlideGL, - maSlideSize.Width, maSlideSize.Height, - static_cast<double>(rGLWindow.Width), -- static_cast<double>(rGLWindow.Height) ); -+ static_cast<double>(rGLWindow.Height), -+ mpContext.get()); - - mpContext->swapBuffers(); - -diff --git a/vcl/inc/unx/gtk/gtkinst.hxx b/vcl/inc/unx/gtk/gtkinst.hxx -index 514b13f..e20ca9d 100644 ---- a/vcl/inc/unx/gtk/gtkinst.hxx -+++ b/vcl/inc/unx/gtk/gtkinst.hxx -@@ -239,6 +239,7 @@ public: - virtual css::uno::Reference< css::uno::XInterface > CreateClipboard( const css::uno::Sequence< css::uno::Any >& i_rArguments ) override; - virtual css::uno::Reference< css::uno::XInterface > CreateDragSource() override; - virtual css::uno::Reference< css::uno::XInterface > CreateDropTarget() override; -+ virtual OpenGLContext* CreateOpenGLContext() override; - #endif - - virtual const cairo_font_options_t* GetCairoFontOptions() override; -diff --git a/vcl/source/opengl/OpenGLContext.cxx b/vcl/source/opengl/OpenGLContext.cxx -index 1b2893b..d7d7841 100644 ---- a/vcl/source/opengl/OpenGLContext.cxx -+++ b/vcl/source/opengl/OpenGLContext.cxx -@@ -330,6 +330,11 @@ void OpenGLContext::InitGLDebugging() - #endif - } - -+void OpenGLContext::restoreDefaultFramebuffer() -+{ -+ glBindFramebuffer(GL_FRAMEBUFFER, 0); -+} -+ - void OpenGLContext::setWinPosAndSize(const Point &rPos, const Size& rSize) - { - if(m_xWindow) -diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx -index 7148882..947bcc9 100644 ---- a/vcl/unx/gtk3/gtk3gtkinst.cxx -+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx -@@ -916,4 +916,131 @@ Reference< XInterface > GtkInstance::CreateDragSource() - return Reference< XInterface >( static_cast<cppu::OWeakObject *>(new GtkDragSource()) ); - } - -+class GtkOpenGLContext : public OpenGLContext -+{ -+ GLWindow m_aGLWin; -+ GtkWidget *m_pGLArea; -+ -+public: -+ GtkOpenGLContext() -+ : OpenGLContext() -+ , m_pGLArea(nullptr) -+ { -+ } -+ -+ virtual bool initWindow() override -+ { -+ if( !m_pChildWindow ) -+ { -+ SystemWindowData winData = generateWinData(mpWindow, mbRequestLegacyContext); -+ m_pChildWindow = VclPtr<SystemChildWindow>::Create(mpWindow, 0, &winData, false); -+ } -+ -+ if (m_pChildWindow) -+ { -+ InitChildWindow(m_pChildWindow.get()); -+ } -+ -+ return true; -+ } -+ -+private: -+ virtual const GLWindow& getOpenGLWindow() const override { return m_aGLWin; } -+ virtual GLWindow& getModifiableOpenGLWindow() override { return m_aGLWin; } -+ -+ static void signalDestroy(GtkWidget*, gpointer context) -+ { -+ GtkOpenGLContext* pThis = static_cast<GtkOpenGLContext*>(context); -+ pThis->m_pGLArea = nullptr; -+ } -+ -+ virtual bool ImplInit() override -+ { -+#if GTK_CHECK_VERSION(3,16,0) -+ const SystemEnvData* pEnvData = m_pChildWindow->GetSystemData(); -+ GtkWidget *pParent = static_cast<GtkWidget*>(pEnvData->pWidget); -+ m_pGLArea = gtk_gl_area_new(); -+ g_signal_connect(G_OBJECT(m_pGLArea), "destroy", G_CALLBACK(signalDestroy), this); -+ gtk_gl_area_set_has_depth_buffer(GTK_GL_AREA(m_pGLArea), true); -+ gtk_gl_area_set_auto_render(GTK_GL_AREA(m_pGLArea), false); -+ gtk_widget_set_hexpand(m_pGLArea, true); -+ gtk_widget_set_vexpand(m_pGLArea, true); -+ gtk_container_add(GTK_CONTAINER(pParent), m_pGLArea); -+ gtk_widget_show_all(pParent); -+ gtk_gl_area_make_current(GTK_GL_AREA(m_pGLArea)); -+ gtk_gl_area_attach_buffers(GTK_GL_AREA(m_pGLArea)); -+#endif -+ bool bRet = InitGL(); -+ InitGLDebugging(); -+ return bRet; -+ } -+ -+ virtual void restoreDefaultFramebuffer() override -+ { -+ OpenGLContext::restoreDefaultFramebuffer(); -+#if GTK_CHECK_VERSION(3,16,0) -+ gtk_gl_area_attach_buffers(GTK_GL_AREA(m_pGLArea)); -+#endif -+ } -+ -+ virtual void makeCurrent() override -+ { -+ if (isCurrent()) -+ return; -+ -+ clearCurrent(); -+ -+#if GTK_CHECK_VERSION(3,16,0) -+ if (m_pGLArea) -+ gtk_gl_area_make_current(GTK_GL_AREA(m_pGLArea)); -+#endif -+ -+ registerAsCurrent(); -+ } -+ -+ virtual void destroyCurrentContext() override -+ { -+#if GTK_CHECK_VERSION(3,16,0) -+ gdk_gl_context_clear_current(); -+#endif -+ } -+ -+ virtual bool isCurrent() override -+ { -+#if GTK_CHECK_VERSION(3,16,0) -+ return m_pGLArea && gdk_gl_context_get_current() == gtk_gl_area_get_context(GTK_GL_AREA(m_pGLArea)); -+#else -+ return false; -+#endif -+ } -+ -+ virtual void sync() override -+ { -+#if GTK_CHECK_VERSION(3,16,0) -+ gtk_gl_area_queue_render(GTK_GL_AREA(m_pGLArea)); -+#endif -+ } -+ -+ virtual void resetCurrent() override -+ { -+ clearCurrent(); -+#if GTK_CHECK_VERSION(3,16,0) -+ gdk_gl_context_clear_current(); -+#endif -+ } -+ -+ virtual void swapBuffers() override -+ { -+#if GTK_CHECK_VERSION(3,16,0) -+ gtk_gl_area_queue_render(GTK_GL_AREA(m_pGLArea)); -+#endif -+ BuffersSwapped(); -+ } -+}; -+ -+OpenGLContext* GtkInstance::CreateOpenGLContext() -+{ -+ return new GtkOpenGLContext; -+} -+ - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ --- -2.9.3 - diff --git a/source/xoffice/libreoffice/0001-lower-the-system-epoxy-requirement.patch b/source/xoffice/libreoffice/0001-lower-the-system-epoxy-requirement.patch deleted file mode 100644 index c83a247..0000000 --- a/source/xoffice/libreoffice/0001-lower-the-system-epoxy-requirement.patch +++ /dev/null @@ -1,28 +0,0 @@ -From e673349ad31a5ea469ef90e3fb03f7f0af5bb559 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <[email protected]> -Date: Tue, 20 Dec 2016 11:11:32 +0000 -Subject: [PATCH] lower the system epoxy requirement - -(cherry picked from commit d0c3dba866ba0900dcaf2c3a25200edb516bd608) - -Change-Id: I2fff46985502dafa3b860aaebe862853ebaccabb ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 0f8e58d..c4f64d7 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -11727,7 +11727,7 @@ AC_SUBST(CAIRO_LIBS) - dnl =================================================================== - dnl Check for system epoxy - dnl =================================================================== --libo_CHECK_SYSTEM_MODULE([epoxy], [EPOXY], [epoxy >= 1.3.1], ["-I${WORKDIR}/UnpackedTarball/epoxy/include"]) -+libo_CHECK_SYSTEM_MODULE([epoxy], [EPOXY], [epoxy >= 1.2], ["-I${WORKDIR}/UnpackedTarball/epoxy/include"]) - - dnl =================================================================== - dnl Test whether to use avahi --- -2.9.3 - diff --git a/source/xoffice/libreoffice/FrugalBuild b/source/xoffice/libreoffice/FrugalBuild index d62fc8d..95f012f 100644 --- a/source/xoffice/libreoffice/FrugalBuild +++ b/source/xoffice/libreoffice/FrugalBuild @@ -3,7 +3,7 @@ # Contributor: Laszlo Dvornik <[email protected]> pkgname=libreoffice -pkgver=5.3.4.2 +pkgver=5.4.0.3 minor=${pkgver:0:5} # x.y.z major=${pkgver:0:3} # x.y pkgrel=1 @@ -83,6 +83,7 @@ makedepends=( 'x11-protos' 'xorg-server' 'icu4c>=58.1' + 'nasm' ) groups=('xoffice') archs=("x86_64") @@ -100,13 +101,17 @@ do source=(${source[@]} $mirror/libreoffice-$i${pkgver/_/-}.tar.xz) signatures=("${signatures[@]}" $mirror/libreoffice-$i${pkgver/_/-}.tar.xz.asc) done -source+=(0001-change-from-glew-to-epoxy.patch - 0001-gtk3-implement-opengl-support-for-slideshow.patch - 0001-lower-the-system-epoxy-requirement.patch) -signatures+=('' '' '') +# .patch files here. +source+=() +# One '' for each .patch here. +signatures+=() ext_source=(http://dev-www.libreoffice.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll \ - http://dev-www.libreoffice.org/src/86b1daaa438f5a7bea9a52d7b9799ac0-xmlsec1-1.2.23.tar.gz \ + http://dev-www.libreoffice.org/src/xmlsec1-1.2.24.tar.gz \ + http://dev-www.libreoffice.org/src/gpgme-1.8.0.tar.bz2 \ + http://dev-www.libreoffice.org/src/libgpg-error-1.26.tar.bz2 \ + http://dev-www.libreoffice.org/src/libassuan-2.4.3.tar.bz2 \ + http://dev-www.libreoffice.org/src/libjpeg-turbo-1.5.1.tar.gz \ http://dev-www.libreoffice.org/src/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip \ http://dev-www.libreoffice.org/src/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip \ http://dev-www.libreoffice.org/src/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip \ @@ -141,11 +146,11 @@ subconflicts=("" "" "") # sed ':a;N;$!ba;s/\\\n//g' solenv/inc/langlist.mk|grep ^completelangiso=|sed 's/completelangiso=//;s/en-US //' completelangiso=(af am ar as ast be bg bn bn-IN bo br brx bs ca ca-valencia cs - cy da de dgo dz el en-GB en-ZA eo es et eu fa fi fr ga gd gl gu gug he hi hr hu - id is it ja ka kk km kmr-Latn kn ko kok ks lb lo lt lv mai mk ml mn mni mr my - nb ne nl nn nr nso oc om or pa-IN pl pt pt-BR ro ru rw sa-IN sat sd sr-Latn si - sid sk sl sq sr ss st sv sw-TZ ta te tg th tn tr ts tt ug uk uz ve vec vi xh - zh-CN zh-TW zu) + cy da de dgo dz el en-GB en-ZA eo es et eu fa fi fr ga gd gl gu gug he hsb hi + hr hu id is it ja ka kk km kmr-Latn kn ko kok ks lb lo lt lv mai mk ml mn mni + mr my nb ne nl nn nr nso oc om or pa-IN pl pt pt-BR ro ru rw sa-IN sat sd + sr-Latn si sid sk sl sq sr ss st sv sw-TZ ta te tg th tn tr ts tt ug uk uz ve + vec vi xh zh-CN zh-TW zu) # for i in ${completelangiso[@]}; do echo -n "'$(grep -1 STR_NAME_MODULE_LANGPACK_$(echo $i|tr '[a-z]' '[A-Z]'|tr '-' '_')] scp2/source/ooo/module_langpack.ulf|sed -n 's/.*"\(.*\)"/\1/;$ p')' "; done completelangdescs=('Afrikaans' 'Amharic' 'Arabic' 'Assamese' 'Asturian' 'Belarusian' 'Bulgarian' 'Bengali (Bangladesh)' 'Bengali (India)' 'Tibetan' @@ -153,18 +158,18 @@ completelangdescs=('Afrikaans' 'Amharic' 'Arabic' 'Assamese' 'Asturian' 'Danish' 'German' 'Dogri' 'Dzongkha' 'Greek' 'English (United Kingdom)' 'English (South Africa)' 'Esperanto' 'Spanish' 'Estonian' 'Basque' 'Persian' 'Finnish' 'French' 'Irish' 'Scottish Gaelic' 'Galician' 'Gujarati' 'Guarani' - 'Hebrew' 'Hindi' 'Croatian' 'Hungarian' 'Indonesian' 'Icelandic' 'Italian' - 'Japanese' 'Georgian' 'Kazakh' 'Khmer' 'Kurdish' 'Kannada' 'Korean' 'Konkani' - 'Kashmiri' 'Luxembourgish' 'Lao' 'Lithuanian' 'Latvian' 'Maithili' 'Macedonian' - 'Malayalam' 'Mongolian' 'Manipuri' 'Marathi' 'Burmese' 'Norwegian (Bokmål)' - 'Nepali' 'Dutch' 'Norwegian (Nynorsk)' 'Ndebele South' 'Northern Sotho' - 'Occitan' 'Oromo' 'Odia' 'Punjabi' 'Polish' 'Portuguese' 'Portuguese (Brazil)' - 'Romanian' 'Russian' 'Kinyarwanda' 'Sanskrit (India)' 'Santali' 'Sindhi' - 'Serbian (Latin)' 'Sinhala' 'Sidama' 'Slovak' 'Slovenian' 'Albanian' 'Serbian (Cyrillic)' - 'Swazi' 'Southern Sotho (Sutu)' 'Swedish' 'Swahili' 'Tamil' 'Telugu' - 'Tajik' 'Thai' 'Tswana' 'Turkish' 'Tsonga' 'Tatar' 'Uyghur' 'Ukrainian' - 'Uzbek' 'Venda' 'Venetian' 'Vietnamese' 'Xhosa' 'Chinese (simplified)' - 'Chinese (traditional)' 'Zulu') + 'Hebrew' 'Upper Sorbian' 'Hindi' 'Croatian' 'Hungarian' 'Indonesian' + 'Icelandic' 'Italian' 'Japanese' 'Georgian' 'Kazakh' 'Khmer' 'Kurdish' + 'Kannada' 'Korean' 'Konkani' 'Kashmiri' 'Luxembourgish' 'Lao' 'Lithuanian' + 'Latvian' 'Maithili' 'Macedonian' 'Malayalam' 'Mongolian' 'Manipuri' 'Marathi' + 'Burmese' 'Norwegian (Bokmål)' 'Nepali' 'Dutch' 'Norwegian (Nynorsk)' + 'Ndebele South' 'Northern Sotho' 'Occitan' 'Oromo' 'Odia' 'Punjabi' 'Polish' + 'Portuguese' 'Portuguese (Brazil)' 'Romanian' 'Russian' 'Kinyarwanda' + 'Sanskrit (India)' 'Santali' 'Sindhi' 'Serbian (Latin)' 'Sinhala' 'Sidama' 'Slovak' + 'Slovenian' 'Albanian' 'Serbian (Cyrillic)' 'Swazi' 'Southern Sotho (Sutu)' + 'Swedish' 'Swahili' 'Tamil' 'Telugu' 'Tajik' 'Thai' 'Tswana' 'Turkish' 'Tsonga' + 'Tatar' 'Uyghur' 'Ukrainian' 'Uzbek' 'Venda' 'Venetian' 'Vietnamese' 'Xhosa' + 'Chinese (simplified)' 'Chinese (traditional)' 'Zulu') i=0 while [ $i -lt ${#completelangiso[@]} ] @@ -264,6 +269,9 @@ build() --with-system-headers \ --with-system-ucpp \ --without-system-hsqldb \ + --without-system-xmlsec \ + --without-system-gpgmepp \ + --without-system-jpeg \ --disable-coinmp \ --with-external-tar=`pwd`/ext_source \ --with-system-jars \ @@ -273,15 +281,8 @@ build() --disable-fetch-external \ --enable-release-build \ --disable-dependency-tracking \ + --disable-pdfium \ --disable-firebird-sdbc - # Need to find out why do these fail, quite possibly missing fonts. - sed -i '/sw_ww8import/d' sw/Module_sw.mk # failed on 5.1 - sed -i '/sw_ww8export/d' sw/Module_sw.mk # failed on 5.2 - sed -i '/sw_uiwriter/d' sw/Module_sw.mk # failed on 5.1 - sed -i '/sw_ooxmlexport7/d' sw/Module_sw.mk # failed on 5.1 - sed -i '/sc_subsequent_filters_test/d' sc/Module_sc.mk # failed on 5.1 - sed -i '/sd_tiledrendering/d' sd/Module_sd.mk # failed on 5.1 - sed -i '/CppunitTest_writerperfect_impress/d' writerperfect/Module_writerperfect.mk # failed on 5.0 sed -i 's/test `id -u` = 0/false/' Makefile # missing fakeroot detection if [ ! -e src.built ]; then
_______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
