diff options
Diffstat (limited to 'external/libvisio')
-rw-r--r-- | external/libvisio/ExternalProject_libvisio.mk | 48 | ||||
-rw-r--r-- | external/libvisio/Makefile | 7 | ||||
-rw-r--r-- | external/libvisio/Module_libvisio.mk | 17 | ||||
-rw-r--r-- | external/libvisio/README | 3 | ||||
-rw-r--r-- | external/libvisio/UnpackedTarball_libvisio.mk | 23 | ||||
-rw-r--r-- | external/libvisio/tdf-77915-fix-import-of-default-shape-fill-color.patch | 13 | ||||
-rw-r--r-- | external/libvisio/ubsan.patch | 11 |
7 files changed, 122 insertions, 0 deletions
diff --git a/external/libvisio/ExternalProject_libvisio.mk b/external/libvisio/ExternalProject_libvisio.mk new file mode 100644 index 0000000000..01fe27290f --- /dev/null +++ b/external/libvisio/ExternalProject_libvisio.mk @@ -0,0 +1,48 @@ +# -*- 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,libvisio)) + +$(eval $(call gb_ExternalProject_use_autoconf,libvisio,build)) + +$(eval $(call gb_ExternalProject_register_targets,libvisio,\ + build \ +)) + +$(eval $(call gb_ExternalProject_use_externals,libvisio,\ + boost_headers \ + icu \ + libxml2 \ + revenge \ +)) + +$(call gb_ExternalProject_get_state_target,libvisio,build) : + $(call gb_Trace_StartRange,libvisio,EXTERNAL) + $(call gb_ExternalProject_run,build,\ + export PKG_CONFIG="" \ + && MAKE=$(MAKE) $(gb_RUN_CONFIGURE) ./configure \ + --with-pic \ + --enable-static \ + --disable-shared \ + --without-docs \ + --disable-tests \ + --disable-tools \ + $(if $(ENABLE_DEBUG),--enable-debug,--disable-debug) \ + --disable-werror \ + $(if $(verbose),--disable-silent-rules,--enable-silent-rules) \ + $(if $(gb_FULLDEPS),,--disable-dependency-tracking) \ + CXXFLAGS="$(CXXFLAGS) $(gb_CXXFLAGS) $(call gb_ExternalProject_get_build_flags,libvisio)" \ + CPPFLAGS="$(CPPFLAGS) $(BOOST_CPPFLAGS)" \ + LDFLAGS="$(call gb_ExternalProject_get_link_flags,libvisio)" \ + $(gb_CONFIGURE_PLATFORMS) \ + && $(MAKE) \ + ) + $(call gb_Trace_EndRange,libvisio,EXTERNAL) + +# vim: set noet sw=4 ts=4: diff --git a/external/libvisio/Makefile b/external/libvisio/Makefile new file mode 100644 index 0000000000..e4968cf85f --- /dev/null +++ b/external/libvisio/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/libvisio/Module_libvisio.mk b/external/libvisio/Module_libvisio.mk new file mode 100644 index 0000000000..00b05d25d1 --- /dev/null +++ b/external/libvisio/Module_libvisio.mk @@ -0,0 +1,17 @@ +# -*- 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,libvisio)) + +$(eval $(call gb_Module_add_targets,libvisio,\ + ExternalProject_libvisio \ + UnpackedTarball_libvisio \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/external/libvisio/README b/external/libvisio/README new file mode 100644 index 0000000000..d3ddc6c9b1 --- /dev/null +++ b/external/libvisio/README @@ -0,0 +1,3 @@ +Libvisio is library providing ability to interpret and import visio diagrams into various applications. + +[https://wiki.documentfoundation.org/DLP/Libraries/libvisio] diff --git a/external/libvisio/UnpackedTarball_libvisio.mk b/external/libvisio/UnpackedTarball_libvisio.mk new file mode 100644 index 0000000000..85e356db88 --- /dev/null +++ b/external/libvisio/UnpackedTarball_libvisio.mk @@ -0,0 +1,23 @@ +# -*- 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,libvisio)) + +$(eval $(call gb_UnpackedTarball_set_tarball,libvisio,$(VISIO_TARBALL))) + +$(eval $(call gb_UnpackedTarball_set_patchlevel,libvisio,0)) + +$(eval $(call gb_UnpackedTarball_update_autoconf_configs,libvisio)) + +$(eval $(call gb_UnpackedTarball_add_patches,libvisio, \ + external/libvisio/ubsan.patch \ + external/libvisio/tdf-77915-fix-import-of-default-shape-fill-color.patch \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/external/libvisio/tdf-77915-fix-import-of-default-shape-fill-color.patch b/external/libvisio/tdf-77915-fix-import-of-default-shape-fill-color.patch new file mode 100644 index 0000000000..68c0c2c88b --- /dev/null +++ b/external/libvisio/tdf-77915-fix-import-of-default-shape-fill-color.patch @@ -0,0 +1,13 @@ +--- src/lib/VSDStyles.h ++++ src/lib/VSDStyles.h +@@ -129,7 +129,9 @@ struct VSDOptionalFillStyle + ASSIGN_OPTIONAL(style.qsFillColour, qsFillColour); + ASSIGN_OPTIONAL(style.qsShadowColour, qsShadowColour); + ASSIGN_OPTIONAL(style.qsFillMatrix, qsFillMatrix); +- ASSIGN_OPTIONAL(style.fgColour, fgColour); ++ // Colour 'Blue, Variant 1' is special. It is the default, ++ // and it is not saved explicitely in the VSDX file. ++ ASSIGN_OPTIONAL(style.fgColour, fgColour);else fgColour = Colour(0x5b, 0x9b, 0xd5, 0); + ASSIGN_OPTIONAL(style.bgColour, bgColour); + ASSIGN_OPTIONAL(style.shadowFgColour, shadowFgColour); + } diff --git a/external/libvisio/ubsan.patch b/external/libvisio/ubsan.patch new file mode 100644 index 0000000000..c9ffbd98f4 --- /dev/null +++ b/external/libvisio/ubsan.patch @@ -0,0 +1,11 @@ +--- src/lib/VSDContentCollector.cpp ++++ src/lib/VSDContentCollector.cpp +@@ -3220,7 +3220,7 @@ + } + if (U_SUCCESS(status) && conv) + { +- const auto *src = (const char *)&characters[0]; ++ const auto *src = (const char *)characters.data(); + const char *srcLimit = (const char *)src + characters.size(); + while (src < srcLimit) + { |