From 4127e4f9087386018a4212b428b3df15d267c6e7 Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Mon, 2 Mar 2015 13:07:21 +0000 Subject: [PATCH] extra/calligra to 2.9.0-2 --- ...itch-to-librevenge-based-import-libs.patch | 882 ------------------ extra/calligra/PKGBUILD | 36 +- 2 files changed, 21 insertions(+), 897 deletions(-) delete mode 100644 extra/calligra/0001-switch-to-librevenge-based-import-libs.patch diff --git a/extra/calligra/0001-switch-to-librevenge-based-import-libs.patch b/extra/calligra/0001-switch-to-librevenge-based-import-libs.patch deleted file mode 100644 index ced0ff074..000000000 --- a/extra/calligra/0001-switch-to-librevenge-based-import-libs.patch +++ /dev/null @@ -1,882 +0,0 @@ -From 8e8f99cc314435f100d367f41c110becd19d3885 Mon Sep 17 00:00:00 2001 -From: David Tardon -Date: Tue, 27 May 2014 16:15:52 +0200 -Subject: [PATCH] switch to librevenge-based import libs - ---- - CMakeLists.txt | 10 ++++++ - cmake/modules/FindLibEtonyek.cmake | 6 ++-- - cmake/modules/FindLibOdfGen.cmake | 6 ++-- - cmake/modules/FindLibRevenge.cmake | 37 +++++++++++++++++++++ - cmake/modules/FindLibVisio.cmake | 6 ++-- - cmake/modules/FindLibWpd.cmake | 22 +++---------- - cmake/modules/FindLibWpg.cmake | 6 ++-- - cmake/modules/FindLibWps.cmake | 6 ++-- - filters/flow/visio/import/CMakeLists.txt | 3 +- - filters/flow/visio/import/VSDXImport.cpp | 9 ++--- - filters/flow/wpg/import/CMakeLists.txt | 3 +- - filters/flow/wpg/import/WPGImport.cpp | 9 ++--- - filters/karbon/wpg/CMakeLists.txt | 4 +-- - filters/karbon/wpg/WPGImport.cpp | 39 ++++++++-------------- - filters/libodfhandler/DiskDocumentHandler.cxx | 13 ++++---- - filters/libodfhandler/DiskDocumentHandler.hxx | 8 ++--- - filters/libodfhandler/OutputFileHelper.cxx | 6 ++-- - filters/libodfhandler/OutputFileHelper.hxx | 9 ++--- - filters/libodfhandler/StdOutHandler.cxx | 13 ++++---- - filters/libodfhandler/StdOutHandler.hxx | 8 ++--- - filters/stage/keynote/import/CMakeLists.txt | 5 +-- - filters/stage/keynote/import/KeyImport.cpp | 15 +++++---- - filters/words/wordperfect/import/CMakeLists.txt | 3 +- - filters/words/wordperfect/import/WPDImport.cpp | 44 ++++++++++++++----------- - filters/words/works/import/CMakeLists.txt | 3 +- - filters/words/works/import/WPSImport.cpp | 18 +++++----- - 26 files changed, 177 insertions(+), 134 deletions(-) - create mode 100644 cmake/modules/FindLibRevenge.cmake - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 5b6b764..c337864 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -697,6 +697,16 @@ macro_optional_find_package(Okular) - macro_log_feature(OKULAR_FOUND "Okular" "Okular ODP Plugin" "http://okular.kde.org/" FALSE "" "Required to build the Okular OpenDocument Presenter plugin") - - ## -+## Test for librevenge -+## -+macro_optional_find_package(LibRevenge) -+macro_log_feature(LIBREVENGE_FOUND "LibRevenge" -+ "A base library for writing document import filters" -+ "http://sf.net/p/libwpd/librevenge/" FALSE "" -+ "Required by various import filters" -+) -+ -+## - ## Test for libodfgen - ## - macro_optional_find_package(LibOdfGen) -diff --git a/cmake/modules/FindLibEtonyek.cmake b/cmake/modules/FindLibEtonyek.cmake -index 5b78964..ad10d79 100644 ---- a/cmake/modules/FindLibEtonyek.cmake -+++ b/cmake/modules/FindLibEtonyek.cmake -@@ -10,16 +10,16 @@ - - include(LibFindMacros) - libfind_package(LIBETONYEK LibWpd) --libfind_pkg_check_modules(LIBETONYEK_PKGCONF libetonyek-0.0) -+libfind_pkg_check_modules(LIBETONYEK_PKGCONF libetonyek-0.1) - - find_path(LIBETONYEK_INCLUDE_DIR - NAMES libetonyek/libetonyek.h - HINTS ${LIBETONYEK_PKGCONF_INCLUDE_DIRS} ${LIBETONYEK_PKGCONF_INCLUDEDIR} -- PATH_SUFFIXES libetonyek-0.0 -+ PATH_SUFFIXES libetonyek-0.1 - ) - - find_library(LIBETONYEK_LIBRARY -- NAMES etonyek etonyek-0.0 -+ NAMES etonyek etonyek-0.1 - HINTS ${LIBETONYEK_PKGCONF_LIBRARY_DIRS} ${LIBETONYEK_PKGCONF_LIBDIR} - ) - -diff --git a/cmake/modules/FindLibOdfGen.cmake b/cmake/modules/FindLibOdfGen.cmake -index 9ab80d1..355c345 100644 ---- a/cmake/modules/FindLibOdfGen.cmake -+++ b/cmake/modules/FindLibOdfGen.cmake -@@ -9,16 +9,16 @@ - # Redistribution and use is allowed according to the terms of the BSD license. - - include(LibFindMacros) --libfind_pkg_check_modules(LIBODFGEN_PKGCONF libodfgen-0.0) -+libfind_pkg_check_modules(LIBODFGEN_PKGCONF libodfgen-0.1) - - find_path(LIBODFGEN_INCLUDE_DIR - NAMES libodfgen/libodfgen.hxx - HINTS ${LIBODFGEN_PKGCONF_INCLUDE_DIRS} ${LIBODFGEN_PKGCONF_INCLUDEDIR} -- PATH_SUFFIXES libodfgen-0.0 -+ PATH_SUFFIXES libodfgen-0.1 - ) - - find_library(LIBODFGEN_LIBRARY -- NAMES odfgen-0.0 -+ NAMES odfgen-0.1 - HINTS ${LIBODFGEN_PKGCONF_LIBRARY_DIRS} ${LIBODFGEN_PKGCONF_LIBDIR} - ) - -diff --git a/cmake/modules/FindLibRevenge.cmake b/cmake/modules/FindLibRevenge.cmake -new file mode 100644 -index 0000000..8ed18b1 ---- /dev/null -+++ b/cmake/modules/FindLibRevenge.cmake -@@ -0,0 +1,37 @@ -+# - Try to find the librevenge -+# Once done this will define -+# -+# LIBREVENGE_FOUND - system has LIBREVENGE -+# LIBREVENGE_INCLUDE_DIRS - the LIBREVENGE include directory -+# LIBREVENGE_LIBRARIES - Link these to use LIBREVENGE -+# LIBREVENGE_DEFINITIONS - Compiler switches required for using LIBREVENGE -+# -+ -+include(LibFindMacros) -+libfind_pkg_check_modules(REVENGE_PKGCONF librevenge-0.0) -+ -+find_path(REVENGE_INCLUDE_DIR -+ NAMES librevenge/librevenge.h -+ HINTS ${REVENGE_PKGCONF_INCLUDE_DIRS} ${REVENGE_PKGCONF_INCLUDEDIR} -+ PATH_SUFFIXES librevenge-0.0 -+) -+ -+find_path(REVENGE_STREAM_INCLUDE_DIR -+ NAMES librevenge-stream/librevenge-stream.h -+ HINTS ${REVENGE_STREAM_PKGCONF_INCLUDE_DIRS} ${REVENGE_STREAM_PKGCONF_INCLUDEDIR} -+ PATH_SUFFIXES librevenge-0.0 -+) -+ -+find_library(REVENGE_LIBRARY -+ NAMES revenge librevenge revenge-0.0 librevenge-0.0 -+ HINTS ${REVENGE_STREAM_PKGCONF_LIBRARY_DIRS} ${REVENGE_STREAM_PKGCONF_LIBDIR} -+) -+ -+find_library(REVENGE_STREAM_LIBRARY -+ NAMES revenge-stream librevenge-stream revenge-stream-0.0 librevenge-stream-0.0 -+ HINTS ${REVENGE_PKGCONF_LIBRARY_DIRS} ${REVENGE_PKGCONF_LIBDIR} -+) -+ -+set(LIBREVENGE_PROCESS_LIBS REVENGE_LIBRARY REVENGE_STREAM_LIBRARY) -+set(LIBREVENGE_PROCESS_INCLUDES REVENGE_INCLUDE_DIR REVENGE_STREAM_INCLUDE_DIR) -+libfind_process(LIBREVENGE) -diff --git a/cmake/modules/FindLibVisio.cmake b/cmake/modules/FindLibVisio.cmake -index a8533ee..49871b3 100644 ---- a/cmake/modules/FindLibVisio.cmake -+++ b/cmake/modules/FindLibVisio.cmake -@@ -12,16 +12,16 @@ - include(LibFindMacros) - libfind_package(LIBWPD LibWpd) - libfind_package(LIBWPG LibWpg) --libfind_pkg_check_modules(LIBVISIO_PKGCONF libvisio-0.0) -+libfind_pkg_check_modules(LIBVISIO_PKGCONF libvisio-0.1) - - find_path(LIBVISIO_INCLUDE_DIR - NAMES libvisio/libvisio.h - HINTS ${LIBVISIO_PKGCONF_INCLUDE_DIRS} ${LIBVISIO_PKGCONF_INCLUDEDIR} -- PATH_SUFFIXES libvisio-0.0 -+ PATH_SUFFIXES libvisio-0.1 - ) - - find_library(LIBVISIO_LIBRARY -- NAMES visio visio-0.0 -+ NAMES visio visio-0.1 - HINTS ${LIBVISIO_PKGCONF_LIBRARY_DIRS} ${LIBVISIO_PKGCONF_LIBDIR} - ) - -diff --git a/cmake/modules/FindLibWpd.cmake b/cmake/modules/FindLibWpd.cmake -index 2a324cc..ed9bc26 100644 ---- a/cmake/modules/FindLibWpd.cmake -+++ b/cmake/modules/FindLibWpd.cmake -@@ -8,31 +8,19 @@ - # - - include(LibFindMacros) --libfind_pkg_check_modules(WPD_PKGCONF libwpd-0.9) --libfind_pkg_check_modules(WPD_STREAM_PKGCONF libwpd-stream-0.9) -+libfind_pkg_check_modules(WPD_PKGCONF libwpd-0.10) - - find_path(WPD_INCLUDE_DIR - NAMES libwpd/libwpd.h - HINTS ${WPD_PKGCONF_INCLUDE_DIRS} ${WPD_PKGCONF_INCLUDEDIR} -- PATH_SUFFIXES libwpd-0.9 --) -- --find_path(WPD_STREAM_INCLUDE_DIR -- NAMES libwpd-stream/libwpd-stream.h -- HINTS ${WPD_STREAM_PKGCONF_INCLUDE_DIRS} ${WPD_STREAM_PKGCONF_INCLUDEDIR} -- PATH_SUFFIXES libwpd-0.9 -+ PATH_SUFFIXES libwpd-0.10 - ) - - find_library(WPD_LIBRARY -- NAMES wpd libwpd wpd-0.9 libwpd-0.9 -+ NAMES wpd libwpd wpd-0.10 libwpd-0.10 - HINTS ${WPD_PKGCONF_LIBRARY_DIRS} ${WPD_PKGCONF_LIBDIR} - ) - --find_library(WPD_STREAM_LIBRARY -- NAMES wpd-stream libwpd-stream wpd-stream-0.9 libwpd-stream-0.9 -- HINTS ${WPD_STREAM_PKGCONF_LIBRARY_DIRS} ${WPD_STREAM_PKGCONF_LIBDIR} --) -- --set(LIBWPD_PROCESS_LIBS WPD_LIBRARY WPD_STREAM_LIBRARY) --set(LIBWPD_PROCESS_INCLUDES WPD_INCLUDE_DIR WPD_STREAM_INCLUDE_DIR) -+set(LIBWPD_PROCESS_LIBS WPD_LIBRARY) -+set(LIBWPD_PROCESS_INCLUDES WPD_INCLUDE_DIR) - libfind_process(LIBWPD) -diff --git a/cmake/modules/FindLibWpg.cmake b/cmake/modules/FindLibWpg.cmake -index 56d9302..16c2a1c 100644 ---- a/cmake/modules/FindLibWpg.cmake -+++ b/cmake/modules/FindLibWpg.cmake -@@ -11,16 +11,16 @@ - - include(LibFindMacros) - libfind_package(LIBWPG LibWpd) --libfind_pkg_check_modules(LIBWPG_PKGCONF libwpg-0.2) -+libfind_pkg_check_modules(LIBWPG_PKGCONF libwpg-0.3) - - find_path(LIBWPG_INCLUDE_DIR - NAMES libwpg/libwpg.h - HINTS ${LIBWPG_PKGCONF_INCLUDE_DIRS} ${LIBWPG_PKGCONF_INCLUDEDIR} -- PATH_SUFFIXES libwpg-0.2 -+ PATH_SUFFIXES libwpg-0.3 - ) - - find_library(LIBWPG_LIBRARY -- NAMES wpg wpg-0.2 -+ NAMES wpg wpg-0.3 - HINTS ${LIBWPG_PKGCONF_LIBRARY_DIRS} ${LIBWPG_PKGCONF_LIBDIR} - ) - -diff --git a/cmake/modules/FindLibWps.cmake b/cmake/modules/FindLibWps.cmake -index 149f34c..f8c8225 100644 ---- a/cmake/modules/FindLibWps.cmake -+++ b/cmake/modules/FindLibWps.cmake -@@ -10,16 +10,16 @@ - - include(LibFindMacros) - libfind_package(LIBWPS LibWpd) --libfind_pkg_check_modules(LIBWPS_PKGCONF libwps-0.2) -+libfind_pkg_check_modules(LIBWPS_PKGCONF libwps-0.3) - - find_path(LIBWPS_INCLUDE_DIR - NAMES libwps/libwps.h - HINTS ${LIBWPS_PKGCONF_INCLUDE_DIRS} ${LIBWPS_PKGCONF_INCLUDEDIR} -- PATH_SUFFIXES libwps-0.2 -+ PATH_SUFFIXES libwps-0.3 - ) - - find_library(LIBWPS_LIBRARY -- NAMES wps wps-0.2 -+ NAMES wps wps-0.3 - HINTS ${LIBWPS_PKGCONF_LIBRARY_DIRS} ${LIBWPS_PKGCONF_LIBDIR} - ) - -diff --git a/filters/flow/visio/import/CMakeLists.txt b/filters/flow/visio/import/CMakeLists.txt -index 1de4385..4c2a391 100644 ---- a/filters/flow/visio/import/CMakeLists.txt -+++ b/filters/flow/visio/import/CMakeLists.txt -@@ -1,6 +1,7 @@ - include_directories( - ../../../libodfhandler/ - ${LIBODFGEN_INCLUDE_DIRS} -+ ${LIBREVENGE_INCLUDE_DIRS} - ${LIBVISIO_INCLUDE_DIRS} - ${KOMAIN_INCLUDES} - ) -@@ -15,7 +16,7 @@ set(vsdx2odg_PART_SRCS - - kde4_add_plugin(calligra_filter_vsdx2odg ${vsdx2odg_PART_SRCS}) - --target_link_libraries(calligra_filter_vsdx2odg komain ${LIBODFGEN_LIBRARIES} ${LIBVISIO_LIBRARIES}) -+target_link_libraries(calligra_filter_vsdx2odg komain ${LIBODFGEN_LIBRARIES} ${LIBREVENGE_LIBRARIES} ${LIBVISIO_LIBRARIES}) - - install(TARGETS calligra_filter_vsdx2odg DESTINATION ${PLUGIN_INSTALL_DIR}) - install(FILES calligra_filter_vsdx2odg.desktop DESTINATION ${SERVICES_INSTALL_DIR}) -diff --git a/filters/flow/visio/import/VSDXImport.cpp b/filters/flow/visio/import/VSDXImport.cpp -index 70a54d9..eb3a208 100644 ---- a/filters/flow/visio/import/VSDXImport.cpp -+++ b/filters/flow/visio/import/VSDXImport.cpp -@@ -17,7 +17,7 @@ - #include "VSDXImport.h" - - #include --#include -+#include - - #include "OutputFileHelper.hxx" - #include -@@ -39,7 +39,7 @@ public: - ~OdgOutputFileHelper() {} - - private: -- bool _isSupportedFormat(WPXInputStream *input, const char * /* password */) -+ bool _isSupportedFormat(librevenge::RVNGInputStream *input, const char * /* password */) - { - if (!libvisio::VisioDocument::isSupported(input)) - { -@@ -49,9 +49,10 @@ private: - return true; - } - -- bool _convertDocument(WPXInputStream *input, const char * /* password */, OdfDocumentHandler *handler, OdfStreamType streamType) -+ bool _convertDocument(librevenge::RVNGInputStream *input, const char * /* password */, OdfDocumentHandler *handler, OdfStreamType streamType) - { -- OdgGenerator exporter(handler, streamType); -+ OdgGenerator exporter; -+ exporter.addDocumentHandler(handler, streamType); - return libvisio::VisioDocument::parse(input, &exporter); - } - }; -diff --git a/filters/flow/wpg/import/CMakeLists.txt b/filters/flow/wpg/import/CMakeLists.txt -index 524d1b1..e2ee2a5 100644 ---- a/filters/flow/wpg/import/CMakeLists.txt -+++ b/filters/flow/wpg/import/CMakeLists.txt -@@ -1,6 +1,7 @@ - include_directories( - ../../../libodfhandler/ - ${LIBODFGEN_INCLUDE_DIRS} -+ ${LIBREVENGE_INCLUDE_DIRS} - ${LIBVISIO_INCLUDE_DIRS} - ${KOMAIN_INCLUDES} - ) -@@ -15,7 +16,7 @@ set(wpg2odg_PART_SRCS - - kde4_add_plugin(calligra_filter_wpg2odg ${wpg2odg_PART_SRCS}) - --target_link_libraries(calligra_filter_wpg2odg komain ${LIBODFGEN_LIBRARIES} ${LIBWPG_LIBRARIES}) -+target_link_libraries(calligra_filter_wpg2odg komain ${LIBODFGEN_LIBRARIES} ${LIBREVENGE_LIBRARIES} ${LIBWPG_LIBRARIES}) - - install(TARGETS calligra_filter_wpg2odg DESTINATION ${PLUGIN_INSTALL_DIR}) - install(FILES calligra_filter_wpg2odg.desktop DESTINATION ${SERVICES_INSTALL_DIR}) -diff --git a/filters/flow/wpg/import/WPGImport.cpp b/filters/flow/wpg/import/WPGImport.cpp -index b4e0fa7..563ae6e 100644 ---- a/filters/flow/wpg/import/WPGImport.cpp -+++ b/filters/flow/wpg/import/WPGImport.cpp -@@ -17,7 +17,7 @@ - #include "WPGImport.h" - - #include --#include -+#include - - #include "OutputFileHelper.hxx" - #include -@@ -39,7 +39,7 @@ public: - ~OdgOutputFileHelper() {} - - private: -- bool _isSupportedFormat(WPXInputStream *input, const char * /* password */) -+ bool _isSupportedFormat(librevenge::RVNGInputStream *input, const char * /* password */) - { - if (!libwpg::WPGraphics::isSupported(input)) - { -@@ -49,9 +49,10 @@ private: - return true; - } - -- bool _convertDocument(WPXInputStream *input, const char * /* password */, OdfDocumentHandler *handler, OdfStreamType streamType) -+ bool _convertDocument(librevenge::RVNGInputStream *input, const char * /* password */, OdfDocumentHandler *handler, OdfStreamType streamType) - { -- OdgGenerator exporter(handler, streamType); -+ OdgGenerator exporter; -+ exporter.addDocumentHandler(handler, streamType); - return libwpg::WPGraphics::parse(input, &exporter); - } - }; -diff --git a/filters/karbon/wpg/CMakeLists.txt b/filters/karbon/wpg/CMakeLists.txt -index 5f578e9..ffa7742 100644 ---- a/filters/karbon/wpg/CMakeLists.txt -+++ b/filters/karbon/wpg/CMakeLists.txt -@@ -1,11 +1,11 @@ - --include_directories(${CMAKE_BINARY_DIR}/filters/ ${LIBWPD_INCLUDE_DIRS} ${LIBWPG_INCLUDE_DIR}/) -+include_directories(${CMAKE_BINARY_DIR}/filters/ ${LIBREVENGE_INCLUDE_DIRS} ${LIBWPG_INCLUDE_DIR}/) - - set(wpg2svg_PART_SRCS WPGImport.cpp) - - kde4_add_plugin(calligra_filter_wpg2svg ${wpg2svg_PART_SRCS}) - --target_link_libraries(calligra_filter_wpg2svg komain ${LIBWPG_LIBRARIES} ${LIBWPG_STREAM_LIBRARIES} ${LIBWPD_LIBRARIES}) -+target_link_libraries(calligra_filter_wpg2svg komain ${LIBWPG_LIBRARIES} ${LIBREVENGE_LIBRARIES}) - - install(TARGETS calligra_filter_wpg2svg DESTINATION ${PLUGIN_INSTALL_DIR}) - install(FILES calligra_filter_wpg2svg.desktop DESTINATION ${SERVICES_INSTALL_DIR}) -diff --git a/filters/karbon/wpg/WPGImport.cpp b/filters/karbon/wpg/WPGImport.cpp -index f1852ee..4457bec 100644 ---- a/filters/karbon/wpg/WPGImport.cpp -+++ b/filters/karbon/wpg/WPGImport.cpp -@@ -32,14 +32,12 @@ - #include - #include - -+#include -+#include -+ - #include --#if LIBWPG_VERSION_MINOR<2 --#include --#else --#include --#include --#endif - -+#include - #include - - K_PLUGIN_FACTORY(WPGImportFactory, registerPlugin();) -@@ -63,39 +61,29 @@ KoFilter::ConversionStatus WPGImport::convert(const QByteArray& from, const QByt - if (to != "image/svg+xml") - return KoFilter::NotImplemented; - --#if LIBWPG_VERSION_MINOR<2 -- WPXInputStream* input = new libwpg::WPGFileStream(m_chain->inputFile().toLocal8Bit()); -- if (input->isOLEStream()) { -- WPXInputStream* olestream = input->getDocumentOLEStream(); -- if (olestream) { -- delete input; -- input = olestream; -- } -- } -- libwpg::WPGString output; --#else -- WPXInputStream* input = new WPXFileStream(m_chain->inputFile().toLocal8Bit()); -- if (input->isOLEStream()) { -- WPXInputStream* olestream = input->getDocumentOLEStream("Anything"); -+ librevenge::RVNGInputStream* input = new librevenge::RVNGFileStream(m_chain->inputFile().toLocal8Bit()); -+ if (input->isStructured()) { -+ librevenge::RVNGInputStream* olestream = input->getSubStreamByName("Anything"); - if (olestream) { - delete input; - input = olestream; - } - } -- ::WPXString output; --#endif -- - if (!libwpg::WPGraphics::isSupported(input)) { - kWarning() << "ERROR: Unsupported file format (unsupported version) or file is encrypted!"; - delete input; - return KoFilter::NotImplemented; - } - -- if (!libwpg::WPGraphics::generateSVG(input, output)) { -+ ::librevenge::RVNGStringVector output; -+ librevenge::RVNGSVGDrawingGenerator generator(output, ""); -+ -+ if (!libwpg::WPGraphics::parse(input, &generator)) { - kWarning() << "ERROR: SVG Generation failed!"; - delete input; - return KoFilter::ParsingError; - } -+ assert(1 == output.size()); - - delete input; - -@@ -104,7 +92,8 @@ KoFilter::ConversionStatus WPGImport::convert(const QByteArray& from, const QByt - kWarning() << "ERROR: Could not open output file" << m_chain->outputFile(); - return KoFilter::InternalError; - } -- outputFile.write(output.cstr()); -+ outputFile.write("\n\n"); -+ outputFile.write(output[0].cstr()); - outputFile.close(); - - return KoFilter::OK; -diff --git a/filters/libodfhandler/DiskDocumentHandler.cxx b/filters/libodfhandler/DiskDocumentHandler.cxx -index e035fdc..f8ca273 100644 ---- a/filters/libodfhandler/DiskDocumentHandler.cxx -+++ b/filters/libodfhandler/DiskDocumentHandler.cxx -@@ -37,7 +37,7 @@ DiskOdfDocumentHandler::DiskOdfDocumentHandler(FemtoZip *pOutput) : - { - } - --void DiskOdfDocumentHandler::startElement(const char *psName, const WPXPropertyList &xPropList) -+void DiskOdfDocumentHandler::startElement(const char *psName, const librevenge::RVNGPropertyList &xPropList) - { - if (mbIsTagOpened) - { -@@ -46,11 +46,11 @@ void DiskOdfDocumentHandler::startElement(const char *psName, const WPXPropertyL - } - PUTSTRING("<"); - PUTSTRING(psName); -- WPXPropertyList::Iter i(xPropList); -+ librevenge::RVNGPropertyList::Iter i(xPropList); - for (i.rewind(); i.next(); ) - { -- // filter out libwpd elements -- if (strncmp(i.key(), "libwpd", 6) != 0) -+ // filter out librevenge properties -+ if (strncmp(i.key(), "librevenge", 10) != 0) - { - PUTSTRING(" "); - PUTSTRING(i.key()); -@@ -91,14 +91,15 @@ void DiskOdfDocumentHandler::endElement(const char *psName) - } - } - --void DiskOdfDocumentHandler::characters(const WPXString &sCharacters) -+void DiskOdfDocumentHandler::characters(const librevenge::RVNGString &sCharacters) - { - if (mbIsTagOpened) - { - PUTSTRING(">"); - mbIsTagOpened = false; - } -- WPXString sEscapedCharacters(sCharacters, true); -+ librevenge::RVNGString sEscapedCharacters; -+ sEscapedCharacters.appendEscapedXML(sCharacters); - if (sEscapedCharacters.len() > 0) - PUTSTRING(sEscapedCharacters.cstr()); - } -diff --git a/filters/libodfhandler/DiskDocumentHandler.hxx b/filters/libodfhandler/DiskDocumentHandler.hxx -index 17f7eb7..d52a256 100644 ---- a/filters/libodfhandler/DiskDocumentHandler.hxx -+++ b/filters/libodfhandler/DiskDocumentHandler.hxx -@@ -23,7 +23,7 @@ - #ifndef _DISKDOCUMENTHANDLER_H - #define _DISKDOCUMENTHANDLER_H - --#include -+#include - - #ifdef HAVE_CONFIG_H - #include "config.h" -@@ -45,9 +45,9 @@ public: - #endif - virtual void startDocument() {} - virtual void endDocument(); -- virtual void startElement(const char *psName, const WPXPropertyList &xPropList); -+ virtual void startElement(const char *psName, const librevenge::RVNGPropertyList &xPropList); - virtual void endElement(const char *psName); -- virtual void characters(const WPXString &sCharacters); -+ virtual void characters(const librevenge::RVNGString &sCharacters); - - private: - DiskOdfDocumentHandler(DiskOdfDocumentHandler const &); -@@ -58,7 +58,7 @@ private: - FemtoZip *mpOutput; - #endif - bool mbIsTagOpened; -- WPXString msOpenedTagName; -+ librevenge::RVNGString msOpenedTagName; - }; - #endif - -diff --git a/filters/libodfhandler/OutputFileHelper.cxx b/filters/libodfhandler/OutputFileHelper.cxx -index 8786d4c..61e48e9 100644 ---- a/filters/libodfhandler/OutputFileHelper.cxx -+++ b/filters/libodfhandler/OutputFileHelper.cxx -@@ -37,7 +37,7 @@ - - #include "DiskDocumentHandler.hxx" - #include "StdOutHandler.hxx" --#include -+#include - - struct OutputFileHelperImpl - { -@@ -197,12 +197,12 @@ bool OutputFileHelper::writeChildFile(const char *childFileName, const char *str - - bool OutputFileHelper::writeConvertedContent(const char *childFileName, const char *inFileName, const OdfStreamType streamType) - { -- WPXFileStream input(inFileName); -+ librevenge::RVNGFileStream input(inFileName); - - if (!_isSupportedFormat(&input, m_impl->mpPassword)) - return false; - -- input.seek(0, WPX_SEEK_SET); -+ input.seek(0, librevenge::RVNG_SEEK_SET); - - OdfDocumentHandler *pHandler; - #ifdef USE_GSF_OUTPUT -diff --git a/filters/libodfhandler/OutputFileHelper.hxx b/filters/libodfhandler/OutputFileHelper.hxx -index a61b9a0..d2632a9 100644 ---- a/filters/libodfhandler/OutputFileHelper.hxx -+++ b/filters/libodfhandler/OutputFileHelper.hxx -@@ -22,9 +22,10 @@ - #ifndef _OUTPUTFILEHELPER_HXX - #define _OUTPUTFILEHELPER_HXX - --#include -+#include -+ -+#include - --class WPXInputStream; - struct OutputFileHelperImpl; - - class OutputFileHelper -@@ -38,8 +39,8 @@ public: - bool writeConvertedContent(const char *childFileName, const char *inFileName, const OdfStreamType streamType); - - private: -- virtual bool _isSupportedFormat(WPXInputStream *input, const char *password) = 0; -- virtual bool _convertDocument(WPXInputStream *input, const char *password, OdfDocumentHandler *handler, const OdfStreamType streamType) = 0; -+ virtual bool _isSupportedFormat(librevenge::RVNGInputStream *input, const char *password) = 0; -+ virtual bool _convertDocument(librevenge::RVNGInputStream *input, const char *password, OdfDocumentHandler *handler, const OdfStreamType streamType) = 0; - OutputFileHelperImpl *m_impl; - - private: -diff --git a/filters/libodfhandler/StdOutHandler.cxx b/filters/libodfhandler/StdOutHandler.cxx -index 6864266..16e19f0 100644 ---- a/filters/libodfhandler/StdOutHandler.cxx -+++ b/filters/libodfhandler/StdOutHandler.cxx -@@ -31,7 +31,7 @@ StdOutHandler::StdOutHandler() : - printf("\n"); - } - --void StdOutHandler::startElement(const char *psName, const WPXPropertyList &xPropList) -+void StdOutHandler::startElement(const char *psName, const librevenge::RVNGPropertyList &xPropList) - { - if (mbIsTagOpened) - { -@@ -39,11 +39,11 @@ void StdOutHandler::startElement(const char *psName, const WPXPropertyList &xPro - mbIsTagOpened = false; - } - printf("<%s", psName); -- WPXPropertyList::Iter i(xPropList); -+ librevenge::RVNGPropertyList::Iter i(xPropList); - for (i.rewind(); i.next(); ) - { -- // filter out libwpd elements -- if (strncmp(i.key(), "libwpd", 6) != 0) -+ // filter out librevenge properties -+ if (strncmp(i.key(), "librevenge", 10) != 0) - printf(" %s=\"%s\"", i.key(), i()->getStr().cstr()); - } - mbIsTagOpened = true; -@@ -73,15 +73,14 @@ void StdOutHandler::endElement(const char *psName) - } - } - --void StdOutHandler::characters(const WPXString &sCharacters) -+void StdOutHandler::characters(const librevenge::RVNGString &sCharacters) - { - if (mbIsTagOpened) - { - printf(">"); - mbIsTagOpened = false; - } -- WPXString sEscapedCharacters(sCharacters, true); -- printf("%s", sEscapedCharacters.cstr()); -+ printf("%s", librevenge::RVNGString::escapeXML(sCharacters).cstr()); - } - - void StdOutHandler::endDocument() -diff --git a/filters/libodfhandler/StdOutHandler.hxx b/filters/libodfhandler/StdOutHandler.hxx -index a18189a..44fa1e7 100644 ---- a/filters/libodfhandler/StdOutHandler.hxx -+++ b/filters/libodfhandler/StdOutHandler.hxx -@@ -23,7 +23,7 @@ - #ifndef _STDOUTHANDLER_H - #define _STDOUTHANDLER_H - --#include -+#include - - class StdOutHandler : public OdfDocumentHandler - { -@@ -31,12 +31,12 @@ public: - StdOutHandler(); - virtual void startDocument() {} - virtual void endDocument(); -- virtual void startElement(const char *psName, const WPXPropertyList &xPropList); -+ virtual void startElement(const char *psName, const librevenge::RVNGPropertyList &xPropList); - virtual void endElement(const char *psName); -- virtual void characters(const WPXString &sCharacters); -+ virtual void characters(const librevenge::RVNGString &sCharacters); - private: - bool mbIsTagOpened; -- WPXString msOpenedTagName; -+ librevenge::RVNGString msOpenedTagName; - }; - #endif - -diff --git a/filters/words/wordperfect/import/CMakeLists.txt b/filters/words/wordperfect/import/CMakeLists.txt -index 6a0e2d7..ffb3c70 100644 ---- a/filters/words/wordperfect/import/CMakeLists.txt -+++ b/filters/words/wordperfect/import/CMakeLists.txt -@@ -1,6 +1,7 @@ - include_directories( - ../../../libodfhandler/ - ${LIBODFGEN_INCLUDE_DIRS} -+ ${LIBREVENGE_INCLUDE_DIRS} - ${LIBWPD_INCLUDE_DIRS} - ${LIBWPG_INCLUDE_DIRS} - ${KOMAIN_INCLUDES} -@@ -17,7 +18,7 @@ set(wpd2odt_PART_SRCS - kde4_add_plugin(calligra_filter_wpd2odt ${wpd2odt_PART_SRCS}) - - target_link_libraries(calligra_filter_wpd2odt -- komain ${LIBODFGEN_LIBRARIES} ${LIBWPD_LIBRARIES} ${LIBWPG_LIBRARIES}) -+ komain ${LIBODFGEN_LIBRARIES} ${LIBREVENGE_LIBRARIES} ${LIBWPD_LIBRARIES} ${LIBWPG_LIBRARIES}) - - install(TARGETS calligra_filter_wpd2odt DESTINATION ${PLUGIN_INSTALL_DIR}) - -diff --git a/filters/words/wordperfect/import/WPDImport.cpp b/filters/words/wordperfect/import/WPDImport.cpp -index af9d9b6..edf1c91 100644 ---- a/filters/words/wordperfect/import/WPDImport.cpp -+++ b/filters/words/wordperfect/import/WPDImport.cpp -@@ -18,8 +18,7 @@ - - #include - #include --#include --#include -+#include - - #include - #include -@@ -31,6 +30,7 @@ - #include - #include - -+#include - #include - - class OdtOutputFileHelper : public OutputFileHelper -@@ -41,20 +41,20 @@ public: - ~OdtOutputFileHelper() {}; - - private: -- bool _isSupportedFormat(WPXInputStream *input, const char *password) -+ bool _isSupportedFormat(librevenge::RVNGInputStream *input, const char *password) - { -- WPDConfidence confidence = WPDocument::isFileFormatSupported(input); -- if (WPD_CONFIDENCE_EXCELLENT != confidence && WPD_CONFIDENCE_SUPPORTED_ENCRYPTION != confidence) -+ libwpd::WPDConfidence confidence = libwpd::WPDocument::isFileFormatSupported(input); -+ if (libwpd::WPD_CONFIDENCE_EXCELLENT != confidence && libwpd::WPD_CONFIDENCE_SUPPORTED_ENCRYPTION != confidence) - { - fprintf(stderr, "ERROR: We have no confidence that you are giving us a valid WordPerfect document.\n"); - return false; - } -- if (WPD_CONFIDENCE_SUPPORTED_ENCRYPTION == confidence && !password) -+ if (libwpd::WPD_CONFIDENCE_SUPPORTED_ENCRYPTION == confidence && !password) - { - fprintf(stderr, "ERROR: The WordPerfect document is encrypted and you did not give us a password.\n"); - return false; - } -- if (confidence == WPD_CONFIDENCE_SUPPORTED_ENCRYPTION && password && (WPD_PASSWORD_MATCH_OK != WPDocument::verifyPassword(input, password))) -+ if (confidence == libwpd::WPD_CONFIDENCE_SUPPORTED_ENCRYPTION && password && (libwpd::WPD_PASSWORD_MATCH_OK != libwpd::WPDocument::verifyPassword(input, password))) - { - fprintf(stderr, "ERROR: The WordPerfect document is encrypted and we either\n"); - fprintf(stderr, "ERROR: don't know how to decrypt it or the given password is wrong.\n"); -@@ -64,41 +64,47 @@ private: - return true; - } - -- static bool handleEmbeddedWPGObject(const WPXBinaryData &data, OdfDocumentHandler *pHandler, const OdfStreamType streamType) -+ static bool handleEmbeddedWPGObject(const librevenge::RVNGBinaryData &data, OdfDocumentHandler *pHandler, const OdfStreamType streamType) - { -- OdgGenerator exporter(pHandler, streamType); -+ OdgGenerator exporter; -+ exporter.addDocumentHandler(pHandler, streamType); - - libwpg::WPGFileFormat fileFormat = libwpg::WPG_AUTODETECT; - -- if (!libwpg::WPGraphics::isSupported(const_cast(data.getDataStream()))) -+ if (!libwpg::WPGraphics::isSupported(const_cast(data.getDataStream()))) - fileFormat = libwpg::WPG_WPG1; - -- return libwpg::WPGraphics::parse(const_cast(data.getDataStream()), &exporter, fileFormat); -+ return libwpg::WPGraphics::parse(const_cast(data.getDataStream()), &exporter, fileFormat); - } - -- static bool handleEmbeddedWPGImage(const WPXBinaryData &input, WPXBinaryData &output) -+ static bool handleEmbeddedWPGImage(const librevenge::RVNGBinaryData &input, librevenge::RVNGBinaryData &output) - { -- WPXString svgOutput; - libwpg::WPGFileFormat fileFormat = libwpg::WPG_AUTODETECT; - -- if (!libwpg::WPGraphics::isSupported(const_cast(input.getDataStream()))) -+ if (!libwpg::WPGraphics::isSupported(const_cast(input.getDataStream()))) - fileFormat = libwpg::WPG_WPG1; - -- if (!libwpg::WPGraphics::generateSVG(const_cast(input.getDataStream()), svgOutput, fileFormat)) -+ librevenge::RVNGStringVector svgOutput; -+ librevenge::RVNGSVGDrawingGenerator generator(svgOutput, ""); -+ if (!libwpg::WPGraphics::parse(const_cast(input.getDataStream()), &generator, fileFormat)) - return false; -+ assert(1 == svgOutput.size()); - - output.clear(); -- output.append((unsigned char *)svgOutput.cstr(), strlen(svgOutput.cstr())); -+ const librevenge::RVNGString svgPrefix("\n\n"); -+ output.append((unsigned char *)svgPrefix.cstr(), svgPrefix.size()); -+ output.append((unsigned char *)svgOutput[0].cstr(), svgOutput[0].size()); - - return true; - } - -- bool _convertDocument(WPXInputStream *input, const char *password, OdfDocumentHandler *handler, const OdfStreamType streamType) -+ bool _convertDocument(librevenge::RVNGInputStream *input, const char *password, OdfDocumentHandler *handler, const OdfStreamType streamType) - { -- OdtGenerator collector(handler, streamType); -+ OdtGenerator collector; -+ collector.addDocumentHandler(handler, streamType); - collector.registerEmbeddedObjectHandler("image/x-wpg", &handleEmbeddedWPGObject); - collector.registerEmbeddedImageHandler("image/x-wpg", &handleEmbeddedWPGImage); -- if (WPD_OK == WPDocument::parse(input, &collector, password)) -+ if (libwpd::WPD_OK == libwpd::WPDocument::parse(input, &collector, password)) - return true; - return false; - } -diff --git a/filters/words/works/import/CMakeLists.txt b/filters/words/works/import/CMakeLists.txt -index 76317ae..2c51937 100644 ---- a/filters/words/works/import/CMakeLists.txt -+++ b/filters/words/works/import/CMakeLists.txt -@@ -1,6 +1,7 @@ - include_directories( - ../../../libodfhandler/ - ${LIBODFGEN_INCLUDE_DIRS} -+ ${LIBREVENGE_INCLUDE_DIRS} - ${LIBWPS_INCLUDE_DIRS} - ${KOMAIN_INCLUDES} - ) -@@ -15,7 +16,7 @@ set(wps2odt_PART_SRCS - - kde4_add_plugin(calligra_filter_wps2odt ${wps2odt_PART_SRCS}) - --target_link_libraries(calligra_filter_wps2odt komain ${LIBODFGEN_LIBRARIES} ${LIBWPS_LIBRARIES}) -+target_link_libraries(calligra_filter_wps2odt komain ${LIBODFGEN_LIBRARIES} ${LIBREVENGE_LIBRARIES} ${LIBWPS_LIBRARIES}) - - install(TARGETS calligra_filter_wps2odt DESTINATION ${PLUGIN_INSTALL_DIR}) - install(FILES calligra_filter_wps2odt.desktop DESTINATION ${SERVICES_INSTALL_DIR}) -diff --git a/filters/words/works/import/WPSImport.cpp b/filters/words/works/import/WPSImport.cpp -index c2058e5..545daf3 100644 ---- a/filters/words/works/import/WPSImport.cpp -+++ b/filters/words/works/import/WPSImport.cpp -@@ -16,9 +16,9 @@ - - #include "WPSImport.h" - --#include -+#include - #include --#include -+#include - - #include "OutputFileHelper.hxx" - #include -@@ -40,10 +40,11 @@ public: - ~OdtOutputFileHelper() {}; - - private: -- bool _isSupportedFormat(WPXInputStream *input, const char * /* password */) -+ bool _isSupportedFormat(librevenge::RVNGInputStream *input, const char * /* password */) - { -- WPSConfidence confidence = WPSDocument::isFileFormatSupported(input); -- if (confidence == WPS_CONFIDENCE_NONE || confidence == WPS_CONFIDENCE_POOR) -+ libwps::WPSKind kind = libwps::WPS_TEXT; -+ libwps::WPSConfidence confidence = libwps::WPSDocument::isFileFormatSupported(input, kind); -+ if ((libwps::WPS_TEXT != kind) || (confidence != libwps::WPS_CONFIDENCE_EXCELLENT)) - { - fprintf(stderr, "ERROR: We have no confidence that you are giving us a valid Microsoft Works document.\n"); - return false; -@@ -52,10 +53,11 @@ private: - return true; - } - -- bool _convertDocument(WPXInputStream *input, const char * /* password */, OdfDocumentHandler *handler, const OdfStreamType streamType) -+ bool _convertDocument(librevenge::RVNGInputStream *input, const char * /* password */, OdfDocumentHandler *handler, const OdfStreamType streamType) - { -- OdtGenerator collector(handler, streamType); -- if (WPS_OK == WPSDocument::parse(input, &collector)) -+ OdtGenerator collector; -+ collector.addDocumentHandler(handler, streamType); -+ if (libwps::WPS_OK == libwps::WPSDocument::parse(input, &collector)) - return true; - return false; - } --- -1.9.3 - - diff --git a/extra/calligra/PKGBUILD b/extra/calligra/PKGBUILD index c48e21350..29071db84 100644 --- a/extra/calligra/PKGBUILD +++ b/extra/calligra/PKGBUILD @@ -1,5 +1,6 @@ # $Id$ -# Maintainer: Andrea Scarpino +# Maintainer: Felix Yan +# Contributor: Andrea Scarpino # Contributor: Ronald van Haren # ALARM: Kevin Mihelich @@ -12,6 +13,7 @@ pkgname=('calligra-braindump' 'calligra-extras' 'calligra-filters' 'calligra-flow' + 'calligra-gemini' 'calligra-handbook' 'calligra-karbon' 'calligra-kexi' @@ -22,31 +24,24 @@ pkgname=('calligra-braindump' 'calligra-sheets' 'calligra-stage' 'calligra-words') -pkgver=2.8.7 -pkgrel=4 +pkgver=2.9.0 +pkgrel=2 arch=('i686' 'x86_64') url='http://www.calligra-suite.org/' license=('FDL1.2' 'GPL2' 'LGPL') -makedepends=('cmake' 'automoc4' 'boost' 'kdepimlibs' 'eigen2' 'kdeedu-marble' +makedepends=('cmake' 'automoc4' 'boost' 'kdepimlibs' 'eigen' 'kdeedu-marble' 'lcms2' 'libmariadbclient' 'freetds' 'xbase' 'libwpg' 'opencolorio' 'libwps' 'gsl' 'glew' 'fftw' 'poppler-qt' 'libkdcraw' 'libodfgen' 'openjpeg' 'kdegraphics-okular' 'pstoedit' 'libvisio' - 'libetonyek' 'libpqxx' 'libspnav') + 'libetonyek' 'libpqxx' 'libspnav' 'postgresql') groups=('calligra') source=("http://download.kde.org/stable/${pkgbase}-${pkgver}/${pkgbase}-${pkgver}.tar.xz" - 'arm.patch' - 0001-switch-to-librevenge-based-import-libs.patch) -md5sums=('5ba4b76e3f81daffb28d3ed545908736' - 'dc5105bcc612560f46d27071aca69cba' - '2589200d3f2199a8bff5755ff3245e33') + 'arm.patch') +md5sums=('78ca03bcd5e5a4aff23694fce3835735' + 'dc5105bcc612560f46d27071aca69cba') prepare() { mkdir build - - # use librevenge based import filter libraries - patch taken from Fedora - pushd $pkgbase-$pkgver - patch -Np1 -i $srcdir/0001-switch-to-librevenge-based-import-libs.patch - popd } build() { @@ -259,3 +254,14 @@ package_calligra-devtools() { cd build/devtools make DESTDIR="${pkgdir}" install } + +package_calligra-gemini() { + pkgdesc="QML interface for Calligra Words and Stage" + depends=('calligra-words' 'calligra-stage') + install=calligra-gemini.install + + cd build/qtquick + make DESTDIR="${pkgdir}" install + cd "${srcdir}"/build/gemini + make DESTDIR="${pkgdir}" install +}