summaryrefslogtreecommitdiffstats
path: root/external/libetonyek
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 16:51:28 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 16:51:28 +0000
commit940b4d1848e8c70ab7642901a68594e8016caffc (patch)
treeeb72f344ee6c3d9b80a7ecc079ea79e9fba8676d /external/libetonyek
parentInitial commit. (diff)
downloadlibreoffice-940b4d1848e8c70ab7642901a68594e8016caffc.tar.xz
libreoffice-940b4d1848e8c70ab7642901a68594e8016caffc.zip
Adding upstream version 1:7.0.4.upstream/1%7.0.4upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'external/libetonyek')
-rw-r--r--external/libetonyek/ExternalPackage_libetonyek.mk22
-rw-r--r--external/libetonyek/ExternalProject_libetonyek.mk67
-rw-r--r--external/libetonyek/Library_etonyek.mk192
-rw-r--r--external/libetonyek/Makefile7
-rw-r--r--external/libetonyek/Module_libetonyek.mk31
-rw-r--r--external/libetonyek/README3
-rw-r--r--external/libetonyek/UnpackedTarball_libetonyek.mk36
-rw-r--r--external/libetonyek/glm-force-dmat3-initialization-needed-from-v0.9.9.0.patch.162
-rw-r--r--external/libetonyek/inc/pch/precompiled_etonyek.cxx12
-rw-r--r--external/libetonyek/inc/pch/precompiled_etonyek.hxx79
-rw-r--r--external/libetonyek/libetonyek-bundled-soname.patch.011
-rw-r--r--external/libetonyek/rpath.patch10
-rw-r--r--external/libetonyek/ubsan.patch11
-rw-r--r--external/libetonyek/warnings.patch11
-rw-r--r--external/libetonyek/win_build.patch.113
15 files changed, 567 insertions, 0 deletions
diff --git a/external/libetonyek/ExternalPackage_libetonyek.mk b/external/libetonyek/ExternalPackage_libetonyek.mk
new file mode 100644
index 000000000..98d4763c8
--- /dev/null
+++ b/external/libetonyek/ExternalPackage_libetonyek.mk
@@ -0,0 +1,22 @@
+# -*- 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,libetonyek,libetonyek))
+
+$(eval $(call gb_ExternalPackage_use_external_project,libetonyek,libetonyek))
+
+ifeq ($(OS),MACOSX)
+$(eval $(call gb_ExternalPackage_add_file,libetonyek,$(LIBO_LIB_FOLDER)/libetonyek-0.1.1.dylib,src/lib/.libs/libetonyek-0.1.1.dylib))
+else ifeq ($(OS),WNT)
+$(eval $(call gb_ExternalPackage_add_file,libetonyek,$(LIBO_LIB_FOLDER)/libetonyek-0.1.dll,src/lib/.libs/libetonyek-0.1.dll))
+else ifeq ($(DISABLE_DYNLOADING),)
+$(eval $(call gb_ExternalPackage_add_file,libetonyek,$(LIBO_LIB_FOLDER)/libetonyek-0.1-lo.so.1,src/lib/.libs/libetonyek-0.1-lo.so.1.0.$(ETONYEK_VERSION_MICRO)))
+endif
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/libetonyek/ExternalProject_libetonyek.mk b/external/libetonyek/ExternalProject_libetonyek.mk
new file mode 100644
index 000000000..0eabfe5f4
--- /dev/null
+++ b/external/libetonyek/ExternalProject_libetonyek.mk
@@ -0,0 +1,67 @@
+# -*- 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,libetonyek))
+
+$(eval $(call gb_ExternalProject_use_autoconf,libetonyek,build))
+
+$(eval $(call gb_ExternalProject_register_targets,libetonyek,\
+ build \
+))
+
+$(eval $(call gb_ExternalProject_use_externals,libetonyek,\
+ boost_headers \
+ glm_headers \
+ liblangtag \
+ libxml2 \
+ mdds_headers \
+ revenge \
+ zlib \
+))
+
+$(call gb_ExternalProject_get_state_target,libetonyek,build) :
+ $(call gb_Trace_StartRange,libetonyek,EXTERNAL)
+ $(call gb_ExternalProject_run,build,\
+ export PKG_CONFIG="" \
+ && MAKE=$(MAKE) ./configure \
+ --with-pic \
+ $(if $(DISABLE_DYNLOADING), \
+ --enable-static --disable-shared \
+ , \
+ --enable-shared --disable-static \
+ ) \
+ --without-docs \
+ $(if $(ENABLE_DEBUG),--enable-debug,--disable-debug) \
+ --disable-tests \
+ --disable-werror \
+ --disable-weffc \
+ --without-tools \
+ --with-mdds=1.0 \
+ $(if $(filter WNT,$(OS_FOR_BUILD)),MKDIR_P="$(shell cygpath -m /usr/bin/mkdir) -p") \
+ $(if $(verbose),--disable-silent-rules,--enable-silent-rules) \
+ $(if $(filter LINUX,$(OS)), \
+ 'LDFLAGS=-Wl$(COMMA)-z$(COMMA)origin \
+ -Wl$(COMMA)-rpath$(COMMA)\$$$$ORIGIN') \
+ CPPFLAGS="$(CPPFLAGS) $(BOOST_CPPFLAGS)" \
+ CXXFLAGS="$(gb_CXXFLAGS) $(if $(ENABLE_OPTIMIZED),$(gb_COMPILEROPTFLAGS),$(gb_COMPILERNOOPTFLAGS))" \
+ LANGTAG_CFLAGS="$(LIBLANGTAG_CFLAGS)" \
+ LANGTAG_LIBS="$(LIBLANGTAG_LIBS)" \
+ XML_CFLAGS="$(LIBXML_CFLAGS)" \
+ XML_LIBS="$(LIBXML_LIBS)" \
+ $(if $(CROSS_COMPILING),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \
+ $(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO) \
+ && $(MAKE) \
+ $(if $(filter MACOSX,$(OS)),\
+ && $(PERL) $(SRCDIR)/solenv/bin/macosx-change-install-names.pl shl OOO \
+ $(EXTERNAL_WORKDIR)/src/lib/.libs/libetonyek-0.1.1.dylib \
+ ) \
+ )
+ $(call gb_Trace_EndRange,libetonyek,EXTERNAL)
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/libetonyek/Library_etonyek.mk b/external/libetonyek/Library_etonyek.mk
new file mode 100644
index 000000000..cbbe08458
--- /dev/null
+++ b/external/libetonyek/Library_etonyek.mk
@@ -0,0 +1,192 @@
+# -*- 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,etonyek))
+
+$(eval $(call gb_Library_use_unpacked,etonyek,libetonyek))
+
+$(eval $(call gb_Library_use_externals,etonyek,\
+ boost_headers \
+ glm_headers \
+ liblangtag \
+ libxml2 \
+ mdds_headers \
+ revenge \
+ zlib \
+))
+
+$(eval $(call gb_Library_set_warnings_disabled,etonyek))
+
+$(eval $(call gb_Library_set_precompiled_header,etonyek,external/libetonyek/inc/pch/precompiled_etonyek))
+
+$(eval $(call gb_Library_set_include,etonyek,\
+ -I$(call gb_UnpackedTarball_get_dir,libetonyek)/inc \
+ -I$(call gb_UnpackedTarball_get_dir,libetonyek)/src/lib \
+ -I$(call gb_UnpackedTarball_get_dir,libetonyek)/src/lib/contexts \
+ $$(INCLUDE) \
+))
+
+$(eval $(call gb_Library_add_defs,etonyek,\
+ -DBOOST_ALL_NO_LIB \
+ -DDLL_EXPORT \
+ -DLIBETONYEK_BUILD \
+ -DNDEBUG \
+))
+
+$(eval $(call gb_Library_set_generated_cxx_suffix,etonyek,cpp))
+
+$(eval $(call gb_Library_add_generated_exception_objects,etonyek,\
+ UnpackedTarball/libetonyek/src/lib/EtonyekDocument \
+ UnpackedTarball/libetonyek/src/lib/IWAField \
+ UnpackedTarball/libetonyek/src/lib/IWAMessage \
+ UnpackedTarball/libetonyek/src/lib/IWAObjectIndex \
+ UnpackedTarball/libetonyek/src/lib/IWAParser \
+ UnpackedTarball/libetonyek/src/lib/IWAReader \
+ UnpackedTarball/libetonyek/src/lib/IWASnappyStream \
+ UnpackedTarball/libetonyek/src/lib/IWAText \
+ UnpackedTarball/libetonyek/src/lib/IWORKChainedTokenizer \
+ UnpackedTarball/libetonyek/src/lib/IWORKChart \
+ UnpackedTarball/libetonyek/src/lib/IWORKCollector \
+ UnpackedTarball/libetonyek/src/lib/IWORKDictionary \
+ UnpackedTarball/libetonyek/src/lib/IWORKDiscardContext \
+ UnpackedTarball/libetonyek/src/lib/IWORKDocumentInterface \
+ UnpackedTarball/libetonyek/src/lib/IWORKFormula \
+ UnpackedTarball/libetonyek/src/lib/IWORKLanguageManager \
+ UnpackedTarball/libetonyek/src/lib/IWORKMemoryStream \
+ UnpackedTarball/libetonyek/src/lib/IWORKOutputElements \
+ UnpackedTarball/libetonyek/src/lib/IWORKOutputManager \
+ UnpackedTarball/libetonyek/src/lib/IWORKParser \
+ UnpackedTarball/libetonyek/src/lib/IWORKPath \
+ UnpackedTarball/libetonyek/src/lib/IWORKPresentationRedirector \
+ UnpackedTarball/libetonyek/src/lib/IWORKProperties \
+ UnpackedTarball/libetonyek/src/lib/IWORKPropertyHandler \
+ UnpackedTarball/libetonyek/src/lib/IWORKPropertyMap \
+ UnpackedTarball/libetonyek/src/lib/IWORKRecorder \
+ UnpackedTarball/libetonyek/src/lib/IWORKShape \
+ UnpackedTarball/libetonyek/src/lib/IWORKSpreadsheetRedirector \
+ UnpackedTarball/libetonyek/src/lib/IWORKStyle \
+ UnpackedTarball/libetonyek/src/lib/IWORKStyleStack \
+ UnpackedTarball/libetonyek/src/lib/IWORKStylesheet \
+ UnpackedTarball/libetonyek/src/lib/IWORKSubDirStream \
+ UnpackedTarball/libetonyek/src/lib/IWORKTable \
+ UnpackedTarball/libetonyek/src/lib/IWORKTableRecorder \
+ UnpackedTarball/libetonyek/src/lib/IWORKText \
+ UnpackedTarball/libetonyek/src/lib/IWORKTextRecorder \
+ UnpackedTarball/libetonyek/src/lib/IWORKTextRedirector \
+ UnpackedTarball/libetonyek/src/lib/IWORKToken \
+ UnpackedTarball/libetonyek/src/lib/IWORKTokenizer \
+ UnpackedTarball/libetonyek/src/lib/IWORKTokenizerBase \
+ UnpackedTarball/libetonyek/src/lib/IWORKTransformation \
+ UnpackedTarball/libetonyek/src/lib/IWORKTypes \
+ UnpackedTarball/libetonyek/src/lib/IWORKXMLContext \
+ UnpackedTarball/libetonyek/src/lib/IWORKXMLContextBase \
+ UnpackedTarball/libetonyek/src/lib/IWORKXMLParserState \
+ UnpackedTarball/libetonyek/src/lib/IWORKZlibStream \
+ UnpackedTarball/libetonyek/src/lib/KEY1Dictionary \
+ UnpackedTarball/libetonyek/src/lib/KEY1Parser \
+ UnpackedTarball/libetonyek/src/lib/KEY1ParserState \
+ UnpackedTarball/libetonyek/src/lib/KEY1Token \
+ UnpackedTarball/libetonyek/src/lib/KEY2Dictionary \
+ UnpackedTarball/libetonyek/src/lib/KEY2Parser \
+ UnpackedTarball/libetonyek/src/lib/KEY2ParserState \
+ UnpackedTarball/libetonyek/src/lib/KEY2Token \
+ UnpackedTarball/libetonyek/src/lib/KEY6Parser \
+ UnpackedTarball/libetonyek/src/lib/KEYCollector \
+ UnpackedTarball/libetonyek/src/lib/KEYProperties \
+ UnpackedTarball/libetonyek/src/lib/KEYTypes \
+ UnpackedTarball/libetonyek/src/lib/NUM1Dictionary \
+ UnpackedTarball/libetonyek/src/lib/NUM1Parser \
+ UnpackedTarball/libetonyek/src/lib/NUM1ParserState \
+ UnpackedTarball/libetonyek/src/lib/NUM1Token \
+ UnpackedTarball/libetonyek/src/lib/NUM3Parser \
+ UnpackedTarball/libetonyek/src/lib/NUMCollector \
+ UnpackedTarball/libetonyek/src/lib/PAG1Dictionary \
+ UnpackedTarball/libetonyek/src/lib/PAG1Parser \
+ UnpackedTarball/libetonyek/src/lib/PAG1ParserState \
+ UnpackedTarball/libetonyek/src/lib/PAG1Token \
+ UnpackedTarball/libetonyek/src/lib/PAG5Parser \
+ UnpackedTarball/libetonyek/src/lib/PAGCollector \
+ UnpackedTarball/libetonyek/src/lib/PAGProperties \
+ UnpackedTarball/libetonyek/src/lib/PAGTypes \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKBezierElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKBinaryElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKBrContext \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKCalcEngineContext \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKChartInfoElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKColorElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKCoreImageFilterDescriptorElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKDataElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKFieldElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKFillElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKFilteredImageElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKFormatElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKFormulaElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKGeometryElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKGroupElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKHeaderFooterContext \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKImageContext \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKImageElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKLayoutElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKLineElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKLineEndElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKLinkElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKListLabelGeometriesProperty \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKListLabelGeometryElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKListLabelIndentsProperty \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKListLabelTypeinfoElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKListLabelTypesProperty \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKListTextIndentsProperty \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKMediaElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKMetadataElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKNumberConverter \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKPElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKPathElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKPositionElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKPropertyContextBase \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKPropertyMapElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKRefContext \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKShapeContext \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKSizeElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKSpanElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKStringElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKStrokeContext \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKStyleContext \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKStyleRefContext \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKStylesContext \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKStylesheetBase \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKTabElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKTableInfoElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKTabsElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKTabularInfoElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKTabularModelElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKTextBodyElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKTextElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKTextLabelElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKTextStorageElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKUnfilteredElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/IWORKWrapElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/KEY1ContentElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/KEY1DivElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/KEY1FillElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/KEY1SpanElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/KEY1StringConverter \
+ UnpackedTarball/libetonyek/src/lib/contexts/KEY1StylesContext \
+ UnpackedTarball/libetonyek/src/lib/contexts/KEY1TableElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/KEY2StyleContext \
+ UnpackedTarball/libetonyek/src/lib/contexts/PAG1AnnotationContext \
+ UnpackedTarball/libetonyek/src/lib/contexts/PAG1AnnotationElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/PAG1FootnotesElement \
+ UnpackedTarball/libetonyek/src/lib/contexts/PAG1ShapeContext \
+ UnpackedTarball/libetonyek/src/lib/contexts/PAG1StyleContext \
+ UnpackedTarball/libetonyek/src/lib/contexts/PAG1TextStorageElement \
+ UnpackedTarball/libetonyek/src/lib/libetonyek_utils \
+ UnpackedTarball/libetonyek/src/lib/libetonyek_xml \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/libetonyek/Makefile b/external/libetonyek/Makefile
new file mode 100644
index 000000000..e4968cf85
--- /dev/null
+++ b/external/libetonyek/Makefile
@@ -0,0 +1,7 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+
+module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
+
+include $(module_directory)/../../solenv/gbuild/partial_build.mk
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/libetonyek/Module_libetonyek.mk b/external/libetonyek/Module_libetonyek.mk
new file mode 100644
index 000000000..94fd6ca0d
--- /dev/null
+++ b/external/libetonyek/Module_libetonyek.mk
@@ -0,0 +1,31 @@
+# -*- 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_Module_Module,libetonyek))
+
+$(eval $(call gb_Module_add_targets,libetonyek,\
+ UnpackedTarball_libetonyek \
+))
+
+ifeq ($(COM),MSC)
+
+$(eval $(call gb_Module_add_targets,libetonyek,\
+ Library_etonyek \
+))
+
+else
+
+$(eval $(call gb_Module_add_targets,libetonyek,\
+ ExternalPackage_libetonyek \
+ ExternalProject_libetonyek \
+))
+
+endif
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/libetonyek/README b/external/libetonyek/README
new file mode 100644
index 000000000..5fe625372
--- /dev/null
+++ b/external/libetonyek/README
@@ -0,0 +1,3 @@
+Library for import of Apple Keynote presentations.
+
+[https://wiki.documentfoundation.org/DLP/Libraries/libetonyek]
diff --git a/external/libetonyek/UnpackedTarball_libetonyek.mk b/external/libetonyek/UnpackedTarball_libetonyek.mk
new file mode 100644
index 000000000..5e7780deb
--- /dev/null
+++ b/external/libetonyek/UnpackedTarball_libetonyek.mk
@@ -0,0 +1,36 @@
+# -*- 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,libetonyek))
+
+$(eval $(call gb_UnpackedTarball_set_tarball,libetonyek,$(ETONYEK_TARBALL)))
+
+$(eval $(call gb_UnpackedTarball_set_patchlevel,libetonyek,0))
+
+$(eval $(call gb_UnpackedTarball_update_autoconf_configs,libetonyek))
+
+$(eval $(call gb_UnpackedTarball_add_patches,libetonyek,\
+ external/libetonyek/glm-force-dmat3-initialization-needed-from-v0.9.9.0.patch.1 \
+ external/libetonyek/win_build.patch.1 \
+ external/libetonyek/ubsan.patch \
+ external/libetonyek/rpath.patch \
+ external/libetonyek/warnings.patch \
+))
+
+ifneq ($(OS),MACOSX)
+ifneq ($(OS),WNT)
+ifneq ($(OS),iOS)
+$(eval $(call gb_UnpackedTarball_add_patches,libetonyek,\
+ external/libetonyek/libetonyek-bundled-soname.patch.0 \
+))
+endif
+endif
+endif
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/libetonyek/glm-force-dmat3-initialization-needed-from-v0.9.9.0.patch.1 b/external/libetonyek/glm-force-dmat3-initialization-needed-from-v0.9.9.0.patch.1
new file mode 100644
index 000000000..1add51828
--- /dev/null
+++ b/external/libetonyek/glm-force-dmat3-initialization-needed-from-v0.9.9.0.patch.1
@@ -0,0 +1,62 @@
+From 548c2735c09570726f08d5ae9fee8efefb54d529 Mon Sep 17 00:00:00 2001
+From: osnola <alonso@loria.fr>
+Date: Sun, 31 Mar 2019 09:34:11 +0200
+Subject: [PATCH] glm: force dmat3 initialization (needed from v0.9.9.0)
+
+Change-Id: I2cb285f2d9bc1e9818ed946b38caaf8a5de9e61a
+Reviewed-on: https://gerrit.libreoffice.org/69993
+Reviewed-by: Laurent Alonso(fr) <alonso.laurent@gmail.com>
+Tested-by: Laurent Alonso(fr) <alonso.laurent@gmail.com>
+---
+ src/lib/IWORKCollector.cpp | 6 +++---
+ src/lib/KEYCollector.cpp | 3 +--
+ 2 files changed, 4 insertions(+), 5 deletions(-)
+
+diff --git a/src/lib/IWORKCollector.cpp b/src/lib/IWORKCollector.cpp
+index 41a9c79..794b462 100644
+--- a/src/lib/IWORKCollector.cpp
++++ b/src/lib/IWORKCollector.cpp
+@@ -183,8 +183,8 @@ private:
+ IWORKCollector::Level::Level()
+ : m_geometry()
+ , m_graphicStyle()
+- , m_trafo()
+- , m_previousTrafo()
++ , m_trafo(1)
++ , m_previousTrafo(1)
+ {
+ }
+
+@@ -601,7 +601,7 @@ void IWORKCollector::startLevel()
+ return;
+ }
+
+- glm::dmat3 currentTrafo, prevTrafo;
++ glm::dmat3 currentTrafo(1), prevTrafo(1);
+ if (!m_levelStack.empty())
+ {
+ currentTrafo = m_levelStack.top().m_trafo;
+diff --git a/src/lib/KEYCollector.cpp b/src/lib/KEYCollector.cpp
+index a9d8cc3..08e7e69 100644
+--- a/src/lib/KEYCollector.cpp
++++ b/src/lib/KEYCollector.cpp
+@@ -167,7 +167,7 @@ void KEYCollector::insertTextPlaceholder(const KEYPlaceholderPtr_t &placeholder)
+ {
+ if (bool(placeholder))
+ {
+- glm::dmat3 trafo;
++ glm::dmat3 trafo(1);
+ if (bool(placeholder->m_geometry))
+ trafo = makeTransformation(*placeholder->m_geometry);
+ trafo *= m_levelStack.top().m_trafo;
+@@ -417,7 +417,6 @@ void KEYCollector::drawTextBox(const IWORKTextPtr_t &text, const glm::dmat3 &tra
+ double w = boundingBox->m_naturalSize.m_width;
+ double h = boundingBox->m_naturalSize.m_height;
+ vec = trafo * glm::dvec3(w, h, 0);
+-
+ if (vec[0]>0)
+ props.insert("svg:width", pt2in(vec[0]));
+ if (vec[1]>0)
+--
+2.24.1
+
diff --git a/external/libetonyek/inc/pch/precompiled_etonyek.cxx b/external/libetonyek/inc/pch/precompiled_etonyek.cxx
new file mode 100644
index 000000000..56f4f6a2e
--- /dev/null
+++ b/external/libetonyek/inc/pch/precompiled_etonyek.cxx
@@ -0,0 +1,12 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * 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/.
+ */
+
+#include "precompiled_etonyek.hxx"
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/external/libetonyek/inc/pch/precompiled_etonyek.hxx b/external/libetonyek/inc/pch/precompiled_etonyek.hxx
new file mode 100644
index 000000000..9af8b1c25
--- /dev/null
+++ b/external/libetonyek/inc/pch/precompiled_etonyek.hxx
@@ -0,0 +1,79 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * 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/.
+ */
+
+/*
+ This file has been autogenerated by update_pch.sh. It is possible to edit it
+ manually (such as when an include file has been moved/renamed/removed). All such
+ manual changes will be rewritten by the next run of update_pch.sh (which presumably
+ also fixes all possible problems, so it's usually better to use it).
+
+ Generated on 2019-05-18 15:09:41 using:
+ ./bin/update_pch external/libetonyek etonyek --cutoff=1 --exclude:system --include:module --include:local
+
+ If after updating build fails, use the following command to locate conflicting headers:
+ ./bin/update_pch_bisect ./external/libetonyek/inc/pch/precompiled_etonyek.hxx "make external/libetonyek.build" --find-conflicts
+*/
+
+#if PCH_LEVEL >= 1
+#include <algorithm>
+#include <cassert>
+#include <cmath>
+#include <cstdarg>
+#include <cstdio>
+#include <cstdlib>
+#include <cstring>
+#include <ctime>
+#include <deque>
+#include <functional>
+#include <iomanip>
+#include <iterator>
+#include <libetonyek_utils.h>
+#include <libetonyek_xml.h>
+#include <limits>
+#include <map>
+#include <memory>
+#include <set>
+#include <sstream>
+#include <stack>
+#include <stdexcept>
+#include <string>
+#include <utility>
+#include <vector>
+#include <zlib.h>
+#include <boost/algorithm/string/predicate.hpp>
+#include <boost/fusion/adapted/std_pair.hpp>
+#include <boost/fusion/include/adapt_struct.hpp>
+#include <boost/fusion/include/std_pair.hpp>
+#include <boost/lexical_cast.hpp>
+#include <boost/none.hpp>
+#include <boost/numeric/conversion/cast.hpp>
+#include <boost/optional.hpp>
+#include <boost/spirit/include/phoenix.hpp>
+#include <boost/spirit/include/qi.hpp>
+#include <boost/spirit/include/qi_attr.hpp>
+#include <boost/spirit/include/qi_lit.hpp>
+#include <boost/spirit/include/qi_optional.hpp>
+#include <boost/spirit/include/qi_parse_attr.hpp>
+#include <boost/spirit/include/qi_sequence.hpp>
+#include <boost/spirit/include/qi_symbols.hpp>
+#include <boost/variant.hpp>
+#include <boost/variant/recursive_variant.hpp>
+#endif // PCH_LEVEL >= 1
+#if PCH_LEVEL >= 2
+#endif // PCH_LEVEL >= 2
+#if PCH_LEVEL >= 3
+#include <glm/glm.hpp>
+#include <libetonyek/libetonyek.h>
+#include <librevenge/librevenge.h>
+#include <libxml/xmlreader.h>
+#endif // PCH_LEVEL >= 3
+#if PCH_LEVEL >= 4
+#endif // PCH_LEVEL >= 4
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/external/libetonyek/libetonyek-bundled-soname.patch.0 b/external/libetonyek/libetonyek-bundled-soname.patch.0
new file mode 100644
index 000000000..15a58fa83
--- /dev/null
+++ b/external/libetonyek/libetonyek-bundled-soname.patch.0
@@ -0,0 +1,11 @@
+--- src/lib/Makefile.in.orig 2016-01-12 19:21:24.000000000 +0100
++++ src/lib/Makefile.in 2016-03-02 18:19:52.214551270 +0100
+@@ -538,7 +538,7 @@
+ $(XML_CFLAGS) $(ZLIB_CFLAGS) $(DEBUG_CXXFLAGS) $(am__append_1)
+ libetonyek_@ETONYEK_MAJOR_VERSION@_@ETONYEK_MINOR_VERSION@_la_LIBADD = libetonyek_internal.la $(REVENGE_LIBS) $(LANGTAG_LIBS) $(XML_LIBS) $(ZLIB_LIBS) @LIBETONYEK_WIN32_RESOURCE@
+ libetonyek_@ETONYEK_MAJOR_VERSION@_@ETONYEK_MINOR_VERSION@_la_DEPENDENCIES = libetonyek_internal.la @LIBETONYEK_WIN32_RESOURCE@
+-libetonyek_@ETONYEK_MAJOR_VERSION@_@ETONYEK_MINOR_VERSION@_la_LDFLAGS = $(version_info) -export-dynamic -no-undefined
++libetonyek_@ETONYEK_MAJOR_VERSION@_@ETONYEK_MINOR_VERSION@_la_LDFLAGS = $(version_info) -export-dynamic -no-undefined -release lo
+ libetonyek_@ETONYEK_MAJOR_VERSION@_@ETONYEK_MINOR_VERSION@_la_SOURCES = \
+ EtonyekDocument.cpp
+
diff --git a/external/libetonyek/rpath.patch b/external/libetonyek/rpath.patch
new file mode 100644
index 000000000..3a6280597
--- /dev/null
+++ b/external/libetonyek/rpath.patch
@@ -0,0 +1,10 @@
+--- configure
++++ configure
+@@ -14451,6 +14451,7 @@
+ esac
+ ;;
+ esac
++hardcode_libdir_flag_spec_CXX=
+ ;;
+
+ lynxos*)
diff --git a/external/libetonyek/ubsan.patch b/external/libetonyek/ubsan.patch
new file mode 100644
index 000000000..260e9f33d
--- /dev/null
+++ b/external/libetonyek/ubsan.patch
@@ -0,0 +1,11 @@
+--- src/lib/libetonyek_xml.cpp
++++ src/lib/libetonyek_xml.cpp
+@@ -35,7 +35,7 @@
+ unsigned long bytesRead = 0;
+ const unsigned char *const bytes = input->read((unsigned long)len, bytesRead);
+
+- std::memcpy(buffer, bytes, static_cast<size_t>(bytesRead));
++ if (bytesRead != 0) std::memcpy(buffer, bytes, static_cast<size_t>(bytesRead));
+ return static_cast<int>(bytesRead);
+ }
+ catch (...)
diff --git a/external/libetonyek/warnings.patch b/external/libetonyek/warnings.patch
new file mode 100644
index 000000000..841d70cb6
--- /dev/null
+++ b/external/libetonyek/warnings.patch
@@ -0,0 +1,11 @@
+--- src/lib/IWORKXMLContext.cpp
++++ src/lib/IWORKXMLContext.cpp
+@@ -18,7 +18,7 @@
+ {
+ }
+
+-void IWORKXMLContext::CDATA(const char */*value*/)
++void IWORKXMLContext::CDATA(const char * /*value*/)
+ {
+ ETONYEK_DEBUG_MSG(("IWORKXMLContext::cData: find unexpected CDATA block\n"));
+ }
diff --git a/external/libetonyek/win_build.patch.1 b/external/libetonyek/win_build.patch.1
new file mode 100644
index 000000000..a357737d8
--- /dev/null
+++ b/external/libetonyek/win_build.patch.1
@@ -0,0 +1,13 @@
+Fix the windows build - fix libtool
+
+--- libetonyek/ltmain.sh.orig 2015-05-20 00:47:55.378800000 +0200
++++ libetonyek/ltmain.sh 2015-05-20 00:47:33.648000000 +0200
+@@ -3722,6 +3722,8 @@
+ sleep 2
+ done
+ fi
++ # Cygwin ar.exe does not create directories for the objects!
++ mkdir -p $f_ex_an_ar_dir/contexts
+ func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
+ 'stat=$?; rm -f "$lockfile"; exit $stat'
+ if test yes = "$lock_old_archive_extraction"; then