diff options
Diffstat (limited to 'external/libetonyek')
-rw-r--r-- | external/libetonyek/0001-allow-0-size-message.patch.1 | 30 | ||||
-rw-r--r-- | external/libetonyek/0001-fix-build-with-MSVC.patch.1 | 28 | ||||
-rw-r--r-- | external/libetonyek/0002-fix-build-with-MSVC.patch.1 | 55 | ||||
-rw-r--r-- | external/libetonyek/ExternalPackage_libetonyek.mk | 22 | ||||
-rw-r--r-- | external/libetonyek/ExternalProject_libetonyek.mk | 67 | ||||
-rw-r--r-- | external/libetonyek/Library_etonyek.mk | 193 | ||||
-rw-r--r-- | external/libetonyek/Makefile | 7 | ||||
-rw-r--r-- | external/libetonyek/Module_libetonyek.mk | 31 | ||||
-rw-r--r-- | external/libetonyek/README | 3 | ||||
-rw-r--r-- | external/libetonyek/UnpackedTarball_libetonyek.mk | 38 | ||||
-rw-r--r-- | external/libetonyek/inc/pch/precompiled_etonyek.cxx | 12 | ||||
-rw-r--r-- | external/libetonyek/inc/pch/precompiled_etonyek.hxx | 79 | ||||
-rw-r--r-- | external/libetonyek/libetonyek-bundled-soname.patch.0 | 11 | ||||
-rw-r--r-- | external/libetonyek/rpath.patch | 10 | ||||
-rw-r--r-- | external/libetonyek/ubsan.patch | 11 | ||||
-rw-r--r-- | external/libetonyek/warnings.patch | 11 | ||||
-rw-r--r-- | external/libetonyek/win_build.patch.1 | 13 |
17 files changed, 621 insertions, 0 deletions
diff --git a/external/libetonyek/0001-allow-0-size-message.patch.1 b/external/libetonyek/0001-allow-0-size-message.patch.1 new file mode 100644 index 000000000..62e584b81 --- /dev/null +++ b/external/libetonyek/0001-allow-0-size-message.patch.1 @@ -0,0 +1,30 @@ +From 54762245feee35ce6885f7443da8f8443fccd5b5 Mon Sep 17 00:00:00 2001 +From: David Tardon <dtardon@redhat.com> +Date: Wed, 26 May 2021 20:39:41 +0200 +Subject: [PATCH] allow 0-size message + +It likely means the input is broken, but there is no need to reject it. +Let's just produce a dummy, empty message. + +Change-Id: I03a1e9827f21f6a0ce69d7e16dfcf2e9a0f2d44f +--- + src/lib/IWAMessage.cpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/lib/IWAMessage.cpp b/src/lib/IWAMessage.cpp +index c01b1b6..9456444 100644 +--- a/src/lib/IWAMessage.cpp ++++ b/src/lib/IWAMessage.cpp +@@ -42,7 +42,8 @@ IWAMessage::IWAMessage(const RVNGInputStreamPtr_t &input, unsigned long length) + : m_input(input) + , m_fields() + { +- assert(length > 0); ++ if (length == 0) ++ return; + + parse(length); + } +-- +2.31.1 + diff --git a/external/libetonyek/0001-fix-build-with-MSVC.patch.1 b/external/libetonyek/0001-fix-build-with-MSVC.patch.1 new file mode 100644 index 000000000..2a72844dc --- /dev/null +++ b/external/libetonyek/0001-fix-build-with-MSVC.patch.1 @@ -0,0 +1,28 @@ +From 1aa22c746b41a688296f4daf4fc35710d2045a33 Mon Sep 17 00:00:00 2001 +From: David Tardon <dtardon@redhat.com> +Date: Wed, 19 May 2021 19:43:43 +0200 +Subject: [PATCH] fix build with MSVC + +error C2664: 'libetonyek::IWORKFormula::IWORKFormula(const boost::optional<unsigned int> &)': cannot convert argument 1 from 'int' to 'const boost::optional<unsigned int> &' + +Change-Id: Iaa3de2d0ef8f960495e5d5afebb75c5063955177 +--- + src/lib/IWAParser.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/lib/IWAParser.cpp b/src/lib/IWAParser.cpp +index 7fd95c3..a2bd292 100644 +--- a/src/lib/IWAParser.cpp ++++ b/src/lib/IWAParser.cpp +@@ -3403,7 +3403,7 @@ bool IWAParser::parseFormula(const IWAMessage &msg, IWORKFormulaPtr_t &formula) + } + else + { +- formula.reset(new IWORKFormula(0)); ++ formula.reset(new IWORKFormula(boost::make_optional(0u))); + formula->parse(stack[0]); + } + return ok; +-- +2.31.1 + diff --git a/external/libetonyek/0002-fix-build-with-MSVC.patch.1 b/external/libetonyek/0002-fix-build-with-MSVC.patch.1 new file mode 100644 index 000000000..0eadb0912 --- /dev/null +++ b/external/libetonyek/0002-fix-build-with-MSVC.patch.1 @@ -0,0 +1,55 @@ +From 7b69af66227309e9c258beca3bc3934be454a221 Mon Sep 17 00:00:00 2001 +From: David Tardon <dtardon@redhat.com> +Date: Wed, 19 May 2021 21:11:40 +0200 +Subject: [PATCH] fix build with MSVC + +C:/PROGRA~2/MIB055~1/2019/COMMUN~1/VC/Tools/MSVC/1428~1.299/Include\xutility(138): error C2668: 'libetonyek::IWORKStyle::IWORKStyle': ambiguous call to overloaded function +C:\cygwin\home\tdf\lode\jenkins\workspace\gerrit_windows\workdir\UnpackedTarball\libetonyek\src\lib\IWORKStyle.h(32): note: could be 'libetonyek::IWORKStyle::IWORKStyle(const libetonyek::IWORKPropertyMap &,const boost::optional<std::string> &,const libetonyek::IWORKStylePtr_t &)' +C:\cygwin\home\tdf\lode\jenkins\workspace\gerrit_windows\workdir\UnpackedTarball\libetonyek\src\lib\IWORKStyle.h(31): note: or 'libetonyek::IWORKStyle::IWORKStyle(const libetonyek::IWORKPropertyMap &,const boost::optional<std::string> &,const boost::optional<std::string> &)' +C:/PROGRA~2/MIB055~1/2019/COMMUN~1/VC/Tools/MSVC/1428~1.299/Include\xutility(137): note: while trying to match the argument list '(libetonyek::IWORKPropertyMap, const boost::none_t, _Ty)' + with + [ + _Ty=nullptr + ] +C:/PROGRA~2/MIB055~1/2019/COMMUN~1/VC/Tools/MSVC/1428~1.299/Include\memory(2186): note: see reference to function template instantiation 'void std::_Construct_in_place<_Ty,libetonyek::IWORKPropertyMap&,const boost::none_t&,nullptr>(_Ty &,libetonyek::IWORKPropertyMap &,const boost::none_t &,nullptr &&) noexcept(false)' being compiled + with + [ + _Ty=libetonyek::IWORKStyle + ] +C:/PROGRA~2/MIB055~1/2019/COMMUN~1/VC/Tools/MSVC/1428~1.299/Include\memory(2906): note: see reference to function template instantiation 'std::_Ref_count_obj2<_Ty>::_Ref_count_obj2<libetonyek::IWORKPropertyMap&,const boost::none_t&,nullptr>(libetonyek::IWORKPropertyMap &,const boost::none_t &,nullptr &&)' being compiled + with + [ + _Ty=libetonyek::IWORKStyle + ] +C:/PROGRA~2/MIB055~1/2019/COMMUN~1/VC/Tools/MSVC/1428~1.299/Include\memory(2907): note: see reference to function template instantiation 'std::_Ref_count_obj2<_Ty>::_Ref_count_obj2<libetonyek::IWORKPropertyMap&,const boost::none_t&,nullptr>(libetonyek::IWORKPropertyMap &,const boost::none_t &,nullptr &&)' being compiled + with + [ + _Ty=libetonyek::IWORKStyle + ] +C:/cygwin/home/tdf/lode/jenkins/workspace/gerrit_windows/workdir/UnpackedTarball/libetonyek/src/lib/IWAParser.cpp(2358): note: see reference to function template instantiation 'std::shared_ptr<libetonyek::IWORKStyle> std::make_shared<libetonyek::IWORKStyle,libetonyek::IWORKPropertyMap&,const boost::none_t&,nullptr>(libetonyek::IWORKPropertyMap &,const boost::none_t &,nullptr &&)' being compiled + +Change-Id: Idf871474b2a20f252073846388d018cccc15bc11 +--- + src/lib/IWAParser.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/lib/IWAParser.cpp b/src/lib/IWAParser.cpp +index a2bd292..1fdeae7 100644 +--- a/src/lib/IWAParser.cpp ++++ b/src/lib/IWAParser.cpp +@@ -2355,10 +2355,10 @@ void IWAParser::parseAuthorInComment(unsigned id) + IWORKPropertyMap props; + // normally yellow, but blue may be better in LO + props.put<property::FontColor>(IWORKColor(0,0,1,1)); +- spans[0]=std::make_shared<IWORKStyle>(props, boost::none, nullptr); ++ spans[0]=std::make_shared<IWORKStyle>(props, boost::none, IWORKStylePtr_t()); + // reset color to default, if not, comment will be blue colored + props.put<property::FontColor>(IWORKColor(0,0,0,1)); +- spans[unsigned(len)]=std::make_shared<IWORKStyle>(props, boost::none, nullptr); ++ spans[unsigned(len)]=std::make_shared<IWORKStyle>(props, boost::none, IWORKStylePtr_t()); + text.setSpans(spans); + text.parse(*m_currentText); + } +-- +2.31.1 + 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..e0f2f3e08 --- /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) $(gb_RUN_CONFIGURE) ./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) $(call gb_ExternalProject_get_build_flags,libetonyek)" \ + LANGTAG_CFLAGS="$(LIBLANGTAG_CFLAGS)" \ + LANGTAG_LIBS="$(LIBLANGTAG_LIBS)" \ + XML_CFLAGS="$(LIBXML_CFLAGS)" \ + XML_LIBS="$(LIBXML_LIBS)" \ + $(gb_CONFIGURE_PLATFORMS) \ + $(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..87e21fc4b --- /dev/null +++ b/external/libetonyek/Library_etonyek.mk @@ -0,0 +1,193 @@ +# -*- 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/IWORKCellCommentDrawableInfoElement \ + 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..81a3fa5b8 --- /dev/null +++ b/external/libetonyek/UnpackedTarball_libetonyek.mk @@ -0,0 +1,38 @@ +# -*- 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/win_build.patch.1 \ + external/libetonyek/ubsan.patch \ + external/libetonyek/rpath.patch \ + external/libetonyek/warnings.patch \ + external/libetonyek/0001-fix-build-with-MSVC.patch.1 \ + external/libetonyek/0002-fix-build-with-MSVC.patch.1 \ + external/libetonyek/0001-allow-0-size-message.patch.1 \ +)) + +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/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 |