diff --git a/0001-change-from-glew-to-epoxy.patch b/0001-change-from-glew-to-epoxy.patch new file mode 100644 index 0000000..c6e0228 --- /dev/null +++ b/0001-change-from-glew-to-epoxy.patch @@ -0,0 +1,1945 @@ +From e2f5d3d365ced3da2005792c69d7e1cdbe5ece50 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= +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 ++#include + + #include + #include +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 + +-#include ++#include + + #include + #include +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 + #include +-#include ++#include + + #include + #include +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 + +-#include ++#include + + #include + #include +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 + +-#include ++#include + + #include + +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 +-#include +- ++#include + + 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 + #include + #include +-#include + #include + #include + #include +@@ -169,6 +168,7 @@ + #include + #include + #include ++#include + #include + #include + #include +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 + +-#include ++#include + + #include + #include +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 ++#include + + #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 ++#include + #include + #include "OpenGLRender.hxx" + #include +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 @@ +- +- +- $(INCLUDE_DIR) +-+ StreamingSIMDExtensions +- +- +- +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 + + + +-@@ -56,6 +64,12 @@ ++@@ -53,6 +61,12 @@ + MultiByte + v110 + +@@ -33,7 +33,7 @@ diff -ur libgltf.org/build/win32/libgltf.vcxproj libgltf/build/win32/libgltf.vcx + + StaticLibrary + false +-@@ -63,15 +77,28 @@ ++@@ -60,15 +74,28 @@ + MultiByte + v110 + +@@ -62,8 +62,8 @@ diff -ur libgltf.org/build/win32/libgltf.vcxproj libgltf/build/win32/libgltf.vcx + + + +-@@ -86,6 +113,19 @@ +- opengl32.lib;glew32.lib;$(AdditionalDependencies) ++@@ -83,10 +110,42 @@ ++ opengl32.lib;epoxy32.lib;$(AdditionalDependencies) + + + + +@@ -76,20 +76,13 @@ diff -ur libgltf.org/build/win32/libgltf.vcxproj libgltf/build/win32/libgltf.vcx + + + + true + + $(AdditionalLibraryDirectories) +-+ opengl32.lib;glew32.lib;$(AdditionalDependencies) +++ opengl32.lib;epoxy32.lib;$(AdditionalDependencies) + + + + + + + Level4 +-@@ -105,6 +145,25 @@ +- Windows +- +- +-+ +-+ +-+ Level4 +-+ MaxSpeed ++ MaxSpeed + + StreamingSIMDExtensions + + true + + true +@@ -101,10 +94,14 @@ diff -ur libgltf.org/build/win32/libgltf.vcxproj libgltf/build/win32/libgltf.vcx + + true + + true + + $(AdditionalLibraryDirectories) +-+ opengl32.lib;glew32.lib;$(AdditionalDependencies) +++ opengl32.lib;epoxy32.lib;$(AdditionalDependencies) + + Windows + + + + +- +- +- +++ +++ +++ Level4 +++ MaxSpeed ++ StreamingSIMDExtensions ++ true ++ true +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 + +-#include ++#include + + #include + #include +@@ -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 ++#include + #include + #include + #include +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 + #include + #include + #include +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 + #include + +-#include +- ++#include + #include + #include + +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 + #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 +-#include ++#include + #include + #include + #include +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 + #include + + #include +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 + +-#include + #include + + #include +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 ++#include + #include + #include + #include +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 + #include + #include ++#include + #include + #include + #include +@@ -184,7 +185,6 @@ + #include + #include + #include +-#include + #include + #include + #include +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 + #include + #include +-#include "GL/glxew.h" ++#include + + #include + #include +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 + + static std::vector 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(glXGetProcAddressARB(reinterpret_cast("glXChooseFBConfig"))); +- glXGetVisualFromFBConfig = reinterpret_cast(glXGetProcAddressARB(reinterpret_cast("glXGetVisualFromFBConfig"))); // try to find a visual for the current set of attributes +- glXGetFBConfigAttrib = reinterpret_cast(glXGetProcAddressARB(reinterpret_cast("glXGetFBConfigAttrib"))); +- glXCreateContextAttribsARB = reinterpret_cast(glXGetProcAddressARB(reinterpret_cast("glXCreateContextAttribsARB"))); +- glXCreatePixmap = reinterpret_cast(glXGetProcAddressARB(reinterpret_cast("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 + #include + + #include +@@ -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 + #endif + +-#include "GL/glxew.h" + #include + + #include +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 + +-#include +- + #include + + #include +-- +2.9.3 + diff --git a/0001-gtk3-implement-opengl-support-for-slideshow.patch b/0001-gtk3-implement-opengl-support-for-slideshow.patch new file mode 100644 index 0000000..560aed9 --- /dev/null +++ b/0001-gtk3-implement-opengl-support-for-slideshow.patch @@ -0,0 +1,568 @@ +From ac19024c141448dbc5d89ad943a28875b4504f5c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= +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 +Tested-by: Caolán McNamara +(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 + #include + #include ++#include + + #include + #include +@@ -132,7 +133,7 @@ static std::vector 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 + + 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(rGLWindow.Width), +- static_cast(rGLWindow.Height) ); ++ static_cast(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(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::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(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(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/openoffice.org-3.1.0.oooXXXXX.solenv.allowmissing.patch b/0001-installation-fix.patch similarity index 66% rename from openoffice.org-3.1.0.oooXXXXX.solenv.allowmissing.patch rename to 0001-installation-fix.patch index 1e994db..677b689 100644 --- a/openoffice.org-3.1.0.oooXXXXX.solenv.allowmissing.patch +++ b/0001-installation-fix.patch @@ -1,17 +1,18 @@ -From eab93c587dd524241f63e885b0e4ac8700da5d16 Mon Sep 17 00:00:00 2001 +From 3d36f9efa2e2f7a39a926e2d1acea2255b990b03 Mon Sep 17 00:00:00 2001 From: David Tardon -Date: Mon, 3 Feb 2014 20:31:04 +0100 -Subject: [PATCH] solenv: allow missing files +Date: Mon, 3 Feb 2014 21:41:00 +0100 +Subject: [PATCH] installation fix --- solenv/bin/modules/installer/scriptitems.pm | 15 ++++++--------- - 1 file changed, 6 insertions(+), 9 deletions(-) + solenv/bin/modules/installer/worker.pm | 1 - + 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/solenv/bin/modules/installer/scriptitems.pm b/solenv/bin/modules/installer/scriptitems.pm -index 4c384ce..963ca84 100644 +index 5f8dfd6..dff0f13 100644 --- a/solenv/bin/modules/installer/scriptitems.pm +++ b/solenv/bin/modules/installer/scriptitems.pm -@@ -1133,11 +1133,10 @@ sub remove_Files_Without_Sourcedirectory +@@ -1131,11 +1131,10 @@ sub remove_Files_Without_Sourcedirectory if ( ! $installer::globals::languagepack && !$installer::globals::helppack) { @@ -25,7 +26,7 @@ index 4c384ce..963ca84 100644 next; # removing this file from list, if sourcepath is empty } -@@ -1145,11 +1144,10 @@ sub remove_Files_Without_Sourcedirectory +@@ -1143,11 +1142,10 @@ sub remove_Files_Without_Sourcedirectory { if (( $onefile->{'ismultilingual'} ) || ( $styles =~ /\bFORCELANGUAGEPACK\b/ )) { @@ -39,7 +40,7 @@ index 4c384ce..963ca84 100644 next; # removing this file from list, if sourcepath is empty } -@@ -1167,11 +1165,10 @@ sub remove_Files_Without_Sourcedirectory +@@ -1165,11 +1163,10 @@ sub remove_Files_Without_Sourcedirectory { if (( $onefile->{'ismultilingual'} ) || ( $styles =~ /\bFORCEHELPPACK\b/ )) { @@ -53,6 +54,18 @@ index 4c384ce..963ca84 100644 next; # removing this file from list, if sourcepath is empty } +diff --git a/solenv/bin/modules/installer/worker.pm b/solenv/bin/modules/installer/worker.pm +index aab676f..0e6f67d 100644 +--- a/solenv/bin/modules/installer/worker.pm ++++ b/solenv/bin/modules/installer/worker.pm +@@ -96,7 +96,6 @@ sub create_installation_directory + + $installdir = installer::systemactions::create_directories("install", $languageref); + installer::logger::print_message( "... creating installation set in $installdir ...\n" ); +- remove_old_installation_sets($installdir); + my $inprogressinstalldir = $installdir . "_inprogress"; + installer::systemactions::rename_directory($installdir, $inprogressinstalldir); + $installdir = $inprogressinstalldir; -- -1.8.4.2 +2.9.3 diff --git a/0001-lower-the-system-epoxy-requirement.patch b/0001-lower-the-system-epoxy-requirement.patch new file mode 100644 index 0000000..c83a247 --- /dev/null +++ b/0001-lower-the-system-epoxy-requirement.patch @@ -0,0 +1,28 @@ +From e673349ad31a5ea469ef90e3fb03f7f0af5bb559 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= +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/libreoffice-installfix.patch b/libreoffice-installfix.patch deleted file mode 100644 index e2448a5..0000000 --- a/libreoffice-installfix.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 2ed57bc3ba020ebc6aec933445ae0b274685499e Mon Sep 17 00:00:00 2001 -From: David Tardon -Date: Mon, 3 Feb 2014 21:41:00 +0100 -Subject: [PATCH] installation fix - ---- - solenv/bin/modules/installer/worker.pm | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/solenv/bin/modules/installer/worker.pm b/solenv/bin/modules/installer/worker.pm -index aab676f..0e6f67d 100644 ---- a/solenv/bin/modules/installer/worker.pm -+++ b/solenv/bin/modules/installer/worker.pm -@@ -96,7 +96,6 @@ sub create_installation_directory - - $installdir = installer::systemactions::create_directories("install", $languageref); - installer::logger::print_message( "... creating installation set in $installdir ...\n" ); -- remove_old_installation_sets($installdir); - my $inprogressinstalldir = $installdir . "_inprogress"; - installer::systemactions::rename_directory($installdir, $inprogressinstalldir); - $installdir = $inprogressinstalldir; --- -1.8.4.2 - diff --git a/libreoffice.spec b/libreoffice.spec index 354b6c2..b81ce54 100644 --- a/libreoffice.spec +++ b/libreoffice.spec @@ -192,7 +192,7 @@ BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(libcmis-0.5) BuildRequires: pkgconfig(libe-book-0.1) BuildRequires: pkgconfig(libeot) -BuildRequires: pkgconfig(libgltf-0.0) +BuildRequires: pkgconfig(libgltf-0.1) BuildRequires: pkgconfig(liborcus-0.12) BuildRequires: pkgconfig(libpagemaker-0.0) BuildRequires: pkgconfig(libstaroffice-0.0) @@ -222,17 +222,18 @@ Requires: %{name}-base%{?_isa} = %{epoch}:%{version}-%{release} Requires: %{name}-emailmerge%{?_isa} = %{epoch}:%{version}-%{release} # not upstreamed -Patch0: openoffice.org-3.1.0.oooXXXXX.solenv.allowmissing.patch +Patch0: 0001-installation-fix.patch # not upstreamed -Patch1: libreoffice-installfix.patch +Patch1: 0001-never-run-autogen.sh.patch # not upstreamed -Patch2: 0001-never-run-autogen.sh.patch -# not upstreamed -Patch3: 0001-add-X-TryExec-entries-to-desktop-files.patch +Patch2: 0001-add-X-TryExec-entries-to-desktop-files.patch # not upstreamed: upstream wants an automatic restart after a crash; we # want a nice abrt report -Patch4: 0001-don-t-suppress-crashes.patch -Patch5: 0001-rhbz-1353069-don-t-record-undo-information-in-the-cl.patch +Patch3: 0001-don-t-suppress-crashes.patch +Patch4: 0001-rhbz-1353069-don-t-record-undo-information-in-the-cl.patch +Patch5: 0001-change-from-glew-to-epoxy.patch +Patch6: 0001-gtk3-implement-opengl-support-for-slideshow.patch +Patch7: 0001-lower-the-system-epoxy-requirement.patch %if 0%{?rhel} # not upstreamed