From 940b4d1848e8c70ab7642901a68594e8016caffc Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 27 Apr 2024 18:51:28 +0200 Subject: Adding upstream version 1:7.0.4. Signed-off-by: Daniel Baumann --- ...s-GetObject-to-avoid-name-clash-on-Window.patch | 69 ++++++++++++++ external/libcmis/Makefile | 7 ++ external/libcmis/Module_libcmis.mk | 17 ++++ external/libcmis/README | 8 ++ external/libcmis/StaticLibrary_libcmis.mk | 104 +++++++++++++++++++++ external/libcmis/UnpackedTarball_libcmis.mk | 21 +++++ external/libcmis/inc/pch/precompiled_libcmis.cxx | 12 +++ external/libcmis/inc/pch/precompiled_libcmis.hxx | 70 ++++++++++++++ .../libcmis/libcmis-libxml2_compatibility.patch | 14 +++ 9 files changed, 322 insertions(+) create mode 100644 external/libcmis/0001-rename-class-GetObject-to-avoid-name-clash-on-Window.patch create mode 100644 external/libcmis/Makefile create mode 100644 external/libcmis/Module_libcmis.mk create mode 100644 external/libcmis/README create mode 100644 external/libcmis/StaticLibrary_libcmis.mk create mode 100644 external/libcmis/UnpackedTarball_libcmis.mk create mode 100644 external/libcmis/inc/pch/precompiled_libcmis.cxx create mode 100644 external/libcmis/inc/pch/precompiled_libcmis.hxx create mode 100644 external/libcmis/libcmis-libxml2_compatibility.patch (limited to 'external/libcmis') diff --git a/external/libcmis/0001-rename-class-GetObject-to-avoid-name-clash-on-Window.patch b/external/libcmis/0001-rename-class-GetObject-to-avoid-name-clash-on-Window.patch new file mode 100644 index 000000000..f82c82f81 --- /dev/null +++ b/external/libcmis/0001-rename-class-GetObject-to-avoid-name-clash-on-Window.patch @@ -0,0 +1,69 @@ +From 219e6d6586c8280dfd9c4851cee0d14d68b6ad65 Mon Sep 17 00:00:00 2001 +From: David Tardon +Date: Fri, 28 Dec 2018 15:26:28 +0100 +Subject: [PATCH] rename class GetObject to avoid name clash on Windows + +--- + src/libcmis/ws-objectservice.cxx | 2 +- + src/libcmis/ws-requests.cxx | 2 +- + src/libcmis/ws-requests.hxx | 7 +++---- + 3 files changed, 5 insertions(+), 6 deletions(-) + +diff --git a/src/libcmis/ws-objectservice.cxx b/src/libcmis/ws-objectservice.cxx +index 9e40085..d57f3cc 100644 +--- a/src/libcmis/ws-objectservice.cxx ++++ b/src/libcmis/ws-objectservice.cxx +@@ -71,7 +71,7 @@ libcmis::ObjectPtr ObjectService::getObject( string repoId, string id ) + { + libcmis::ObjectPtr object; + +- class GetObject request( repoId, id ); ++ GetObjectRequest request( repoId, id ); + vector< SoapResponsePtr > responses = m_session->soapRequest( m_url, request ); + if ( responses.size( ) == 1 ) + { +diff --git a/src/libcmis/ws-requests.cxx b/src/libcmis/ws-requests.cxx +index f8bc245..408d053 100644 +--- a/src/libcmis/ws-requests.cxx ++++ b/src/libcmis/ws-requests.cxx +@@ -269,7 +269,7 @@ SoapResponsePtr GetTypeChildrenResponse::create( xmlNodePtr node, RelatedMultipa + return SoapResponsePtr( response ); + } + +-void GetObject::toXml( xmlTextWriterPtr writer ) ++void GetObjectRequest::toXml( xmlTextWriterPtr writer ) + { + xmlTextWriterStartElement( writer, BAD_CAST( "cmism:getObject" ) ); + xmlTextWriterWriteAttribute( writer, BAD_CAST( "xmlns:cmis" ), BAD_CAST( NS_CMIS_URL ) ); +diff --git a/src/libcmis/ws-requests.hxx b/src/libcmis/ws-requests.hxx +index 2c4ae92..534d9a4 100644 +--- a/src/libcmis/ws-requests.hxx ++++ b/src/libcmis/ws-requests.hxx +@@ -203,21 +203,20 @@ class GetTypeChildrenResponse : public SoapResponse + std::vector< libcmis::ObjectTypePtr > getChildren( ) { return m_children; } + }; + +-#undef GetObject +-class GetObject : public SoapRequest ++class GetObjectRequest : public SoapRequest + { + private: + std::string m_repositoryId; + std::string m_id; + + public: +- GetObject( std::string repoId, std::string id ) : ++ GetObjectRequest( std::string repoId, std::string id ) : + m_repositoryId( repoId ), + m_id( id ) + { + } + +- ~GetObject( ) { } ++ ~GetObjectRequest( ) { } + + void toXml( xmlTextWriterPtr writer ); + }; +-- +2.19.2 + diff --git a/external/libcmis/Makefile b/external/libcmis/Makefile new file mode 100644 index 000000000..e4968cf85 --- /dev/null +++ b/external/libcmis/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/libcmis/Module_libcmis.mk b/external/libcmis/Module_libcmis.mk new file mode 100644 index 000000000..78ab61c51 --- /dev/null +++ b/external/libcmis/Module_libcmis.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,libcmis)) + +$(eval $(call gb_Module_add_targets,libcmis,\ + StaticLibrary_libcmis \ + UnpackedTarball_libcmis \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/external/libcmis/README b/external/libcmis/README new file mode 100644 index 000000000..8065e7c76 --- /dev/null +++ b/external/libcmis/README @@ -0,0 +1,8 @@ +A C++ client library for the CMIS interface. + +From: +[https://github.com/tdf/libcmis] + +Wikipedia (CMIS): +Content Management Interoperability Services (CMIS) is an open standard that defines an +abstraction layer for controlling diverse document management systems and repositories using web protocols. diff --git a/external/libcmis/StaticLibrary_libcmis.mk b/external/libcmis/StaticLibrary_libcmis.mk new file mode 100644 index 000000000..ebcd16607 --- /dev/null +++ b/external/libcmis/StaticLibrary_libcmis.mk @@ -0,0 +1,104 @@ +# -*- 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_StaticLibrary_StaticLibrary,libcmis)) + +$(eval $(call gb_StaticLibrary_set_warnings_disabled,libcmis)) + +$(eval $(call gb_StaticLibrary_set_precompiled_header,libcmis,external/libcmis/inc/pch/precompiled_libcmis)) + +ifeq ($(COM_IS_CLANG),TRUE) +# Avoid narrowing conversion error (even though the option is technically a warning) +# caused by boost +$(eval $(call gb_StaticLibrary_add_cxxflags,libcmis,\ + -Wno-error=c++11-narrowing \ +)) +endif + +$(eval $(call gb_StaticLibrary_add_defs,libcmis, \ + -DBOOST_ALL_NO_LIB \ +)) + +$(eval $(call gb_StaticLibrary_set_include,libcmis, \ + -I$(call gb_UnpackedTarball_get_dir,libcmis/inc) \ + -I$(call gb_UnpackedTarball_get_dir,libcmis/src/libcmis) \ + $$(INCLUDE) \ +)) + +$(eval $(call gb_StaticLibrary_use_unpacked,libcmis,libcmis)) + +$(eval $(call gb_StaticLibrary_use_externals,libcmis,\ + boost_headers \ + curl \ + libxml2 \ +)) + +$(eval $(call gb_StaticLibrary_add_generated_exception_objects,libcmis,\ + UnpackedTarball/libcmis/src/libcmis/allowable-actions \ + UnpackedTarball/libcmis/src/libcmis/atom-document \ + UnpackedTarball/libcmis/src/libcmis/atom-folder \ + UnpackedTarball/libcmis/src/libcmis/atom-object-type \ + UnpackedTarball/libcmis/src/libcmis/atom-object \ + UnpackedTarball/libcmis/src/libcmis/atom-session \ + UnpackedTarball/libcmis/src/libcmis/atom-workspace \ + UnpackedTarball/libcmis/src/libcmis/base-session \ + UnpackedTarball/libcmis/src/libcmis/document \ + UnpackedTarball/libcmis/src/libcmis/folder \ + UnpackedTarball/libcmis/src/libcmis/gdrive-document \ + UnpackedTarball/libcmis/src/libcmis/gdrive-folder \ + UnpackedTarball/libcmis/src/libcmis/gdrive-object \ + UnpackedTarball/libcmis/src/libcmis/gdrive-object-type \ + UnpackedTarball/libcmis/src/libcmis/gdrive-property \ + UnpackedTarball/libcmis/src/libcmis/gdrive-repository \ + UnpackedTarball/libcmis/src/libcmis/gdrive-session \ + UnpackedTarball/libcmis/src/libcmis/gdrive-utils \ + UnpackedTarball/libcmis/src/libcmis/http-session \ + UnpackedTarball/libcmis/src/libcmis/json-utils \ + UnpackedTarball/libcmis/src/libcmis/oauth2-data \ + UnpackedTarball/libcmis/src/libcmis/oauth2-handler \ + UnpackedTarball/libcmis/src/libcmis/oauth2-providers \ + UnpackedTarball/libcmis/src/libcmis/object \ + UnpackedTarball/libcmis/src/libcmis/object-type \ + UnpackedTarball/libcmis/src/libcmis/onedrive-document \ + UnpackedTarball/libcmis/src/libcmis/onedrive-folder \ + UnpackedTarball/libcmis/src/libcmis/onedrive-object \ + UnpackedTarball/libcmis/src/libcmis/onedrive-object-type \ + UnpackedTarball/libcmis/src/libcmis/onedrive-property \ + UnpackedTarball/libcmis/src/libcmis/onedrive-repository \ + UnpackedTarball/libcmis/src/libcmis/onedrive-session \ + UnpackedTarball/libcmis/src/libcmis/onedrive-utils \ + UnpackedTarball/libcmis/src/libcmis/property \ + UnpackedTarball/libcmis/src/libcmis/property-type \ + UnpackedTarball/libcmis/src/libcmis/rendition \ + UnpackedTarball/libcmis/src/libcmis/repository \ + UnpackedTarball/libcmis/src/libcmis/session-factory \ + UnpackedTarball/libcmis/src/libcmis/sharepoint-document \ + UnpackedTarball/libcmis/src/libcmis/sharepoint-folder \ + UnpackedTarball/libcmis/src/libcmis/sharepoint-object \ + UnpackedTarball/libcmis/src/libcmis/sharepoint-object-type \ + UnpackedTarball/libcmis/src/libcmis/sharepoint-property \ + UnpackedTarball/libcmis/src/libcmis/sharepoint-repository \ + UnpackedTarball/libcmis/src/libcmis/sharepoint-session \ + UnpackedTarball/libcmis/src/libcmis/sharepoint-utils \ + UnpackedTarball/libcmis/src/libcmis/ws-document \ + UnpackedTarball/libcmis/src/libcmis/ws-folder \ + UnpackedTarball/libcmis/src/libcmis/ws-navigationservice \ + UnpackedTarball/libcmis/src/libcmis/ws-object \ + UnpackedTarball/libcmis/src/libcmis/ws-object-type \ + UnpackedTarball/libcmis/src/libcmis/ws-objectservice \ + UnpackedTarball/libcmis/src/libcmis/ws-relatedmultipart \ + UnpackedTarball/libcmis/src/libcmis/ws-repositoryservice \ + UnpackedTarball/libcmis/src/libcmis/ws-requests \ + UnpackedTarball/libcmis/src/libcmis/ws-session \ + UnpackedTarball/libcmis/src/libcmis/ws-soap \ + UnpackedTarball/libcmis/src/libcmis/ws-versioningservice \ + UnpackedTarball/libcmis/src/libcmis/xml-utils \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/external/libcmis/UnpackedTarball_libcmis.mk b/external/libcmis/UnpackedTarball_libcmis.mk new file mode 100644 index 000000000..c648a7b02 --- /dev/null +++ b/external/libcmis/UnpackedTarball_libcmis.mk @@ -0,0 +1,21 @@ +# -*- 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,libcmis)) + +$(eval $(call gb_UnpackedTarball_set_tarball,libcmis,$(LIBCMIS_TARBALL))) + +$(eval $(call gb_UnpackedTarball_set_patchlevel,libcmis,1)) + +$(eval $(call gb_UnpackedTarball_add_patches,libcmis, \ + external/libcmis/libcmis-libxml2_compatibility.patch \ + external/libcmis/0001-rename-class-GetObject-to-avoid-name-clash-on-Window.patch \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/external/libcmis/inc/pch/precompiled_libcmis.cxx b/external/libcmis/inc/pch/precompiled_libcmis.cxx new file mode 100644 index 000000000..13668b837 --- /dev/null +++ b/external/libcmis/inc/pch/precompiled_libcmis.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_libcmis.hxx" + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/external/libcmis/inc/pch/precompiled_libcmis.hxx b/external/libcmis/inc/pch/precompiled_libcmis.hxx new file mode 100644 index 000000000..a8a4b979f --- /dev/null +++ b/external/libcmis/inc/pch/precompiled_libcmis.hxx @@ -0,0 +1,70 @@ +/* -*- 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 14:55:22 using: + ./bin/update_pch external/libcmis libcmis --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/libcmis/inc/pch/precompiled_libcmis.hxx "make external/libcmis.build" --find-conflicts +*/ + +#if PCH_LEVEL >= 1 +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#endif // PCH_LEVEL >= 1 +#if PCH_LEVEL >= 2 +#endif // PCH_LEVEL >= 2 +#if PCH_LEVEL >= 3 +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#endif // PCH_LEVEL >= 3 +#if PCH_LEVEL >= 4 +#endif // PCH_LEVEL >= 4 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/external/libcmis/libcmis-libxml2_compatibility.patch b/external/libcmis/libcmis-libxml2_compatibility.patch new file mode 100644 index 000000000..240b85b4d --- /dev/null +++ b/external/libcmis/libcmis-libxml2_compatibility.patch @@ -0,0 +1,14 @@ +# -*- Mode: Diff -*- +--- a/src/libcmis/oauth2-providers.cxx ++++ b/src/libcmis/oauth2-providers.cxx +@@ -34,6 +34,10 @@ + + using namespace std; + ++#if LIBXML_VERSION < 20621 ++#define HTML_PARSE_RECOVER 0 ++#endif ++ + namespace { + + // Encodes the given data according to the application/x-www-form-urlencoded format, see -- cgit v1.2.3