From c5b436d6b34cea54137124d7706b11546f4516946aaf87f86a18b6c680f814d8 Mon Sep 17 00:00:00 2001 From: Petr Mladek Date: Tue, 14 May 2013 15:51:01 +0000 Subject: [PATCH] Accepting request 175584 from LibreOffice:Unstable - update to 4.0.3.3.2 (SUSE 4.0-rc2, tag suse-4.0-2, based on upstream 4.0.3.3) OBS-URL: https://build.opensuse.org/request/show/175584 OBS-URL: https://build.opensuse.org/package/show/LibreOffice:Factory/libreoffice?expand=0&rev=33 --- libcdr-0.0.11.tar.bz2 | 3 - libcdr-0.0.13.tar.bz2 | 3 + libreoffice-4.0.2.2.1.tar.xz | 3 - libreoffice-4.0.3.3.2.tar.xz | 3 + libreoffice-branding-upstream.changes | 5 + libreoffice-branding-upstream.spec | 2 +- libreoffice-help-4.0.2.2.1.tar.xz | 3 - libreoffice-help-4.0.3.3.2.tar.xz | 3 + libreoffice-help-en-US.changes | 5 + libreoffice-help-en-US.spec | 2 +- libreoffice-help-en-US.spec.in | 2 +- libreoffice-help-group1.changes | 5 + libreoffice-help-group1.spec | 2 +- libreoffice-help-group2.changes | 5 + libreoffice-help-group2.spec | 2 +- libreoffice-help-group3.changes | 5 + libreoffice-help-group3.spec | 2 +- libreoffice-help-group4.changes | 5 + libreoffice-help-group4.spec | 2 +- libreoffice-help-group5.changes | 5 + libreoffice-help-group5.spec | 2 +- libreoffice-help-groupX.spec.in | 2 +- libreoffice-icon-themes.changes | 5 + libreoffice-icon-themes.spec | 2 +- libreoffice-l10n.changes | 5 + libreoffice-l10n.spec | 2 +- libreoffice-l10n.spec.in | 2 +- libreoffice-poppler-0.17.0-reject-fix.diff | 1341 ------------------ libreoffice-translations-4.0.2.2.1.tar.xz | 3 - libreoffice-translations-4.0.3.3.2.tar.xz | 3 + libreoffice.changes | 81 ++ libreoffice.spec | 24 +- libvisio-0.0.25.tar.bz2 | 3 - libvisio-0.0.26.tar.bz2 | 3 + office-cfg-linux-common-template-dir.diff | 32 +- solenv-touch-no-dereference.diff | 8 +- system-poppler-0.12.3.diff | 35 + touch-no-dereference.diff | 37 - wizards-create-temlates-with-python-2.6.diff | 65 + 39 files changed, 289 insertions(+), 1433 deletions(-) delete mode 100644 libcdr-0.0.11.tar.bz2 create mode 100644 libcdr-0.0.13.tar.bz2 delete mode 100644 libreoffice-4.0.2.2.1.tar.xz create mode 100644 libreoffice-4.0.3.3.2.tar.xz delete mode 100644 libreoffice-help-4.0.2.2.1.tar.xz create mode 100644 libreoffice-help-4.0.3.3.2.tar.xz delete mode 100644 libreoffice-poppler-0.17.0-reject-fix.diff delete mode 100644 libreoffice-translations-4.0.2.2.1.tar.xz create mode 100644 libreoffice-translations-4.0.3.3.2.tar.xz delete mode 100644 libvisio-0.0.25.tar.bz2 create mode 100644 libvisio-0.0.26.tar.bz2 create mode 100644 system-poppler-0.12.3.diff delete mode 100644 touch-no-dereference.diff create mode 100644 wizards-create-temlates-with-python-2.6.diff diff --git a/libcdr-0.0.11.tar.bz2 b/libcdr-0.0.11.tar.bz2 deleted file mode 100644 index e267ef1..0000000 --- a/libcdr-0.0.11.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:213eeb7be856a97b7dc2b8bcc9af63484ea90231d950ff490e9c08cb86d8b62f -size 687939 diff --git a/libcdr-0.0.13.tar.bz2 b/libcdr-0.0.13.tar.bz2 new file mode 100644 index 0000000..962e602 --- /dev/null +++ b/libcdr-0.0.13.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f776502446fab7eb42207e1d543a6edcbc6081013b32d974d5faef75f63b99b +size 683560 diff --git a/libreoffice-4.0.2.2.1.tar.xz b/libreoffice-4.0.2.2.1.tar.xz deleted file mode 100644 index 6b70eaf..0000000 --- a/libreoffice-4.0.2.2.1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:039c48253804e5ffc73d441ff152de78f0ff8fc67155e543687fba4c5f1184ae -size 104534248 diff --git a/libreoffice-4.0.3.3.2.tar.xz b/libreoffice-4.0.3.3.2.tar.xz new file mode 100644 index 0000000..2e20c8e --- /dev/null +++ b/libreoffice-4.0.3.3.2.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26b928dc81fcd043f2884c62b94746cb0cf5c76146baab4d34e3d84de5873c09 +size 104835508 diff --git a/libreoffice-branding-upstream.changes b/libreoffice-branding-upstream.changes index 6ae3690..ecdb5d2 100644 --- a/libreoffice-branding-upstream.changes +++ b/libreoffice-branding-upstream.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri May 10 09:53:14 UTC 2013 - pmladek@suse.com + +- update to 4.0.3.3.2 (SUSE 4.0-rc2, tag suse-4.0-2, based on upstream 4.0.3.3) + ------------------------------------------------------------------- Wed Apr 17 10:10:05 UTC 2013 - pmladek@suse.com diff --git a/libreoffice-branding-upstream.spec b/libreoffice-branding-upstream.spec index 1d2ef3d..3c93f94 100644 --- a/libreoffice-branding-upstream.spec +++ b/libreoffice-branding-upstream.spec @@ -18,7 +18,7 @@ Name: libreoffice-branding-upstream -Version: 4.0.2.2.1 +Version: 4.0.3.3.2 Release: 0 %define lo_home libreoffice Summary: Original Branding for LibreOffice diff --git a/libreoffice-help-4.0.2.2.1.tar.xz b/libreoffice-help-4.0.2.2.1.tar.xz deleted file mode 100644 index 11eb761..0000000 --- a/libreoffice-help-4.0.2.2.1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2b981d68fa8fd62309223bcf9c2c93ff6466ff79dae5fba9ca9b28f2c4db3423 -size 1855836 diff --git a/libreoffice-help-4.0.3.3.2.tar.xz b/libreoffice-help-4.0.3.3.2.tar.xz new file mode 100644 index 0000000..753c097 --- /dev/null +++ b/libreoffice-help-4.0.3.3.2.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46b9827838f876b069730e0e88c7e29cdfe52db31e150efe116c7b64e67e8a99 +size 1855444 diff --git a/libreoffice-help-en-US.changes b/libreoffice-help-en-US.changes index 453c520..ce713a2 100644 --- a/libreoffice-help-en-US.changes +++ b/libreoffice-help-en-US.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri May 10 09:53:14 UTC 2013 - pmladek@suse.com + +- update to 4.0.3.3.2 (SUSE 4.0-rc2, tag suse-4.0-2, based on upstream 4.0.3.3) + ------------------------------------------------------------------- Wed Apr 17 10:10:05 UTC 2013 - pmladek@suse.com diff --git a/libreoffice-help-en-US.spec b/libreoffice-help-en-US.spec index d22ca13..e6e3599 100644 --- a/libreoffice-help-en-US.spec +++ b/libreoffice-help-en-US.spec @@ -22,7 +22,7 @@ Name: libreoffice-help-en-US ## Generated by: ## perl lo-help-gen-spec libreoffice-help-en-US.spec.in lo-help-en-US ################################################################### -Version: 4.0.2.2.1 +Version: 4.0.3.3.2 Release: 0 %define gnu_make_version 3.82 %define gnu_make_snapshot 20120301 diff --git a/libreoffice-help-en-US.spec.in b/libreoffice-help-en-US.spec.in index e5c226a..13d9ee7 100644 --- a/libreoffice-help-en-US.spec.in +++ b/libreoffice-help-en-US.spec.in @@ -18,7 +18,7 @@ Name: libreoffice-help-en-US @DO_NOT_EDIT_COMMENT@ -Version: 4.0.2.2.1 +Version: 4.0.3.3.2 Release: 0 %define gnu_make_version 3.82 %define gnu_make_snapshot 20120301 diff --git a/libreoffice-help-group1.changes b/libreoffice-help-group1.changes index 541b2d7..5f04b35 100644 --- a/libreoffice-help-group1.changes +++ b/libreoffice-help-group1.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri May 10 09:53:14 UTC 2013 - pmladek@suse.com + +- update to 4.0.3.3.2 (SUSE 4.0-rc2, tag suse-4.0-2, based on upstream 4.0.3.3) + ------------------------------------------------------------------- Wed Apr 17 10:10:05 UTC 2013 - pmladek@suse.com diff --git a/libreoffice-help-group1.spec b/libreoffice-help-group1.spec index 4420b60..e9e2b0e 100644 --- a/libreoffice-help-group1.spec +++ b/libreoffice-help-group1.spec @@ -22,7 +22,7 @@ Name: libreoffice-help-group1 ## Generated by: ## perl lo-help-gen-spec libreoffice-help-groupX.spec.in lo-help-groupX ################################################################### -Version: 4.0.2.2.1 +Version: 4.0.3.3.2 Release: 0 %define gnu_make_version 3.82 %define gnu_make_snapshot 20120301 diff --git a/libreoffice-help-group2.changes b/libreoffice-help-group2.changes index abb2845..8a46ea2 100644 --- a/libreoffice-help-group2.changes +++ b/libreoffice-help-group2.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri May 10 09:53:14 UTC 2013 - pmladek@suse.com + +- update to 4.0.3.3.2 (SUSE 4.0-rc2, tag suse-4.0-2, based on upstream 4.0.3.3) + ------------------------------------------------------------------- Wed Apr 17 10:10:05 UTC 2013 - pmladek@suse.com diff --git a/libreoffice-help-group2.spec b/libreoffice-help-group2.spec index 9d78a0f..b624e89 100644 --- a/libreoffice-help-group2.spec +++ b/libreoffice-help-group2.spec @@ -22,7 +22,7 @@ Name: libreoffice-help-group2 ## Generated by: ## perl lo-help-gen-spec libreoffice-help-groupX.spec.in lo-help-groupX ################################################################### -Version: 4.0.2.2.1 +Version: 4.0.3.3.2 Release: 0 %define gnu_make_version 3.82 %define gnu_make_snapshot 20120301 diff --git a/libreoffice-help-group3.changes b/libreoffice-help-group3.changes index ae84568..f44a4f0 100644 --- a/libreoffice-help-group3.changes +++ b/libreoffice-help-group3.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri May 10 09:53:14 UTC 2013 - pmladek@suse.com + +- update to 4.0.3.3.2 (SUSE 4.0-rc2, tag suse-4.0-2, based on upstream 4.0.3.3) + ------------------------------------------------------------------- Wed Apr 17 10:10:05 UTC 2013 - pmladek@suse.com diff --git a/libreoffice-help-group3.spec b/libreoffice-help-group3.spec index 7b5f7e3..41257cc 100644 --- a/libreoffice-help-group3.spec +++ b/libreoffice-help-group3.spec @@ -22,7 +22,7 @@ Name: libreoffice-help-group3 ## Generated by: ## perl lo-help-gen-spec libreoffice-help-groupX.spec.in lo-help-groupX ################################################################### -Version: 4.0.2.2.1 +Version: 4.0.3.3.2 Release: 0 %define gnu_make_version 3.82 %define gnu_make_snapshot 20120301 diff --git a/libreoffice-help-group4.changes b/libreoffice-help-group4.changes index c709723..fd50a9b 100644 --- a/libreoffice-help-group4.changes +++ b/libreoffice-help-group4.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri May 10 09:53:14 UTC 2013 - pmladek@suse.com + +- update to 4.0.3.3.2 (SUSE 4.0-rc2, tag suse-4.0-2, based on upstream 4.0.3.3) + ------------------------------------------------------------------- Wed Apr 17 10:10:05 UTC 2013 - pmladek@suse.com diff --git a/libreoffice-help-group4.spec b/libreoffice-help-group4.spec index 63bcc4e..736a92b 100644 --- a/libreoffice-help-group4.spec +++ b/libreoffice-help-group4.spec @@ -22,7 +22,7 @@ Name: libreoffice-help-group4 ## Generated by: ## perl lo-help-gen-spec libreoffice-help-groupX.spec.in lo-help-groupX ################################################################### -Version: 4.0.2.2.1 +Version: 4.0.3.3.2 Release: 0 %define gnu_make_version 3.82 %define gnu_make_snapshot 20120301 diff --git a/libreoffice-help-group5.changes b/libreoffice-help-group5.changes index 2dbf715..48df394 100644 --- a/libreoffice-help-group5.changes +++ b/libreoffice-help-group5.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri May 10 09:53:14 UTC 2013 - pmladek@suse.com + +- update to 4.0.3.3.2 (SUSE 4.0-rc2, tag suse-4.0-2, based on upstream 4.0.3.3) + ------------------------------------------------------------------- Wed Apr 17 10:10:05 UTC 2013 - pmladek@suse.com diff --git a/libreoffice-help-group5.spec b/libreoffice-help-group5.spec index 7495066..3788f84 100644 --- a/libreoffice-help-group5.spec +++ b/libreoffice-help-group5.spec @@ -22,7 +22,7 @@ Name: libreoffice-help-group5 ## Generated by: ## perl lo-help-gen-spec libreoffice-help-groupX.spec.in lo-help-groupX ################################################################### -Version: 4.0.2.2.1 +Version: 4.0.3.3.2 Release: 0 %define gnu_make_version 3.82 %define gnu_make_snapshot 20120301 diff --git a/libreoffice-help-groupX.spec.in b/libreoffice-help-groupX.spec.in index bee9268..0f55a5b 100644 --- a/libreoffice-help-groupX.spec.in +++ b/libreoffice-help-groupX.spec.in @@ -18,7 +18,7 @@ Name: libreoffice-help-group@GROUP_NUMBER@ @DO_NOT_EDIT_COMMENT@ -Version: 4.0.2.2.1 +Version: 4.0.3.3.2 Release: 0 %define gnu_make_version 3.82 %define gnu_make_snapshot 20120301 diff --git a/libreoffice-icon-themes.changes b/libreoffice-icon-themes.changes index f203abe..1b99316 100644 --- a/libreoffice-icon-themes.changes +++ b/libreoffice-icon-themes.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri May 10 09:53:14 UTC 2013 - pmladek@suse.com + +- update to 4.0.3.3.2 (SUSE 4.0-rc2, tag suse-4.0-2, based on upstream 4.0.3.3) + ------------------------------------------------------------------- Wed Apr 17 10:10:05 UTC 2013 - pmladek@suse.com diff --git a/libreoffice-icon-themes.spec b/libreoffice-icon-themes.spec index 3cc3811..da02700 100644 --- a/libreoffice-icon-themes.spec +++ b/libreoffice-icon-themes.spec @@ -18,7 +18,7 @@ Name: libreoffice-icon-themes -Version: 4.0.2.2.1 +Version: 4.0.3.3.2 Release: 0 %define ooo_home libreoffice BuildRequires: libreoffice-icon-themes-prebuilt = %version diff --git a/libreoffice-l10n.changes b/libreoffice-l10n.changes index 2e8944d..7a130c8 100644 --- a/libreoffice-l10n.changes +++ b/libreoffice-l10n.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri May 10 09:53:14 UTC 2013 - pmladek@suse.com + +- update to 4.0.3.3.2 (SUSE 4.0-rc2, tag suse-4.0-2, based on upstream 4.0.3.3) + ------------------------------------------------------------------- Wed Apr 17 10:10:05 UTC 2013 - pmladek@suse.com diff --git a/libreoffice-l10n.spec b/libreoffice-l10n.spec index 77abdf7..1d83ccb 100644 --- a/libreoffice-l10n.spec +++ b/libreoffice-l10n.spec @@ -22,7 +22,7 @@ ## perl lo-l10n-gen-spec libreoffice-l10n.spec.in lo-l10n-data ################################################################### Name: libreoffice-l10n -Version: 4.0.2.2.1 +Version: 4.0.3.3.2 Release: 0 %define piece l10n %define ooo_home libreoffice diff --git a/libreoffice-l10n.spec.in b/libreoffice-l10n.spec.in index e13994f..122f736 100644 --- a/libreoffice-l10n.spec.in +++ b/libreoffice-l10n.spec.in @@ -18,7 +18,7 @@ @DO_NOT_EDIT_COMMENT@ Name: libreoffice-l10n -Version: 4.0.2.2.1 +Version: 4.0.3.3.2 Release: 0 %define piece l10n %define ooo_home libreoffice diff --git a/libreoffice-poppler-0.17.0-reject-fix.diff b/libreoffice-poppler-0.17.0-reject-fix.diff deleted file mode 100644 index 6785804..0000000 --- a/libreoffice-poppler-0.17.0-reject-fix.diff +++ /dev/null @@ -1,1341 +0,0 @@ -diff -urN libreoffice-4.0.0.0.beta2.old/configure.ac libreoffice-4.0.0.0.beta2/configure.ac ---- libreoffice-4.0.0.0.beta2.old/configure.ac 2012-12-19 19:09:46.671989527 +0100 -+++ libreoffice-4.0.0.0.beta2/configure.ac 2012-12-21 11:55:05.917387357 +0100 -@@ -9532,16 +9532,6 @@ - AC_MSG_RESULT([external]) - SYSTEM_POPPLER=YES - PKG_CHECK_MODULES( POPPLER, poppler >= 0.8.0 ) -- AC_LANG_PUSH([C++]) -- save_CXXFLAGS=$CXXFLAGS -- save_CPPFLAGS=$CPPFLAGS -- CXXFLAGS="$CXXFLAGS $POPPLER_CFLAGS" -- CPPFLAGS="$CPPFLAGS $POPPLER_CFLAGS" -- AC_CHECK_HEADER([cpp/poppler-version.h], [], -- [AC_MSG_ERROR([cpp/poppler-version.h not found. Install poppler])], []) -- CXXFLAGS=$save_CXXFLAGS -- CPPFLAGS=$save_CPPFLAGS -- AC_LANG_POP([C++]) - libo_MINGW_CHECK_DLL([POPPLER], [libpoppler]) - else - AC_MSG_RESULT([internal]) -diff -urN libreoffice-4.0.0.0.beta2.old/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx libreoffice-4.0.0.0.beta2/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx ---- libreoffice-4.0.0.0.beta2.old/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx 2012-12-19 19:09:46.770989517 +0100 -+++ libreoffice-4.0.0.0.beta2/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx 2012-12-21 11:53:57.775393673 +0100 -@@ -34,16 +34,7 @@ - #pragma warning(push, 1) - #endif - --// sigh, UTF8.h was removed in poppler-0.21.0 and put back in 0.21.1 --// FIXME: we can't use #if POPPLER_CHECK_VERSION(0, 21, 0) && !POPPLER_CHECK_VERSION(0, 21, 1) --// because the internal poppler does not provide poppler-version.h and the macro always returns 0 --#if POPPLER_CHECK_VERSION(0, 21, 1) - #include "UTF8.h" --#elif POPPLER_CHECK_VERSION(0, 21, 0) --#include "UTF.h" --#else --#include "UTF8.h" --#endif - - #if defined __SUNPRO_CC - #pragma enable_warn -@@ -151,11 +142,7 @@ - void writeJpeg_( OutputBuffer& o_rOutputBuf, Stream* str, bool bWithLinefeed ) - { - // dump JPEG file as-is --#if POPPLER_CHECK_VERSION(0, 17, 3) -- str = str->getBaseStream(); --#else - str = ((DCTStream *)str)->getRawStream(); --#endif - str->reset(); - - int c; -@@ -494,13 +481,7 @@ - printf("endPage\n"); - } - --#if POPPLER_CHECK_VERSION(0, 19, 0) --void PDFOutDev::processLink(AnnotLink *link) --#elif POPPLER_CHECK_VERSION(0, 17, 0) --void PDFOutDev::processLink(AnnotLink *link, Catalog *) --#else - void PDFOutDev::processLink(Link* link, Catalog*) --#endif - { - assert(link); - -diff -urN libreoffice-4.0.0.0.beta2.old/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx.orig libreoffice-4.0.0.0.beta2/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx.orig ---- libreoffice-4.0.0.0.beta2.old/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx.orig 1970-01-01 01:00:00.000000000 +0100 -+++ libreoffice-4.0.0.0.beta2/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx.orig 2012-12-20 23:38:18.843485743 +0100 -@@ -0,0 +1,942 @@ -+/* -*- 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 incorporates work covered by the following license notice: -+ * -+ * Licensed to the Apache Software Foundation (ASF) under one or more -+ * contributor license agreements. See the NOTICE file distributed -+ * with this work for additional information regarding copyright -+ * ownership. The ASF licenses this file to you under the Apache -+ * License, Version 2.0 (the "License"); you may not use this file -+ * except in compliance with the License. You may obtain a copy of -+ * the License at http://www.apache.org/licenses/LICENSE-2.0 . -+ */ -+ -+#include "pdfioutdev_gpl.hxx" -+#include "pnghelper.hxx" -+ -+#include -+#include -+#include -+#include -+#include -+ -+#include -+ -+#if defined __SUNPRO_CC -+#pragma disable_warn -+#elif defined _MSC_VER -+#pragma warning(push, 1) -+#endif -+ -+// sigh, UTF8.h was removed in poppler-0.21.0 and put back in 0.21.1 -+// FIXME: we can't use #if POPPLER_CHECK_VERSION(0, 21, 0) && !POPPLER_CHECK_VERSION(0, 21, 1) -+// because the internal poppler does not provide poppler-version.h and the macro always returns 0 -+#if POPPLER_CHECK_VERSION(0, 21, 1) -+#include "UTF8.h" -+#elif POPPLER_CHECK_VERSION(0, 21, 0) -+#include "UTF.h" -+#else -+#include "UTF8.h" -+#endif -+ -+#if defined __SUNPRO_CC -+#pragma enable_warn -+#elif defined _MSC_VER -+#pragma warning(pop) -+#endif -+ -+#ifdef WNT -+# define snprintf _snprintf -+ -+#if defined GCC -+#pragma GCC diagnostic warning "-Wformat" -+#pragma GCC diagnostic warning "-Wformat-extra-args" -+#endif -+#endif -+ -+/* SYNC STREAMS -+ ============ -+ -+ We stream human-readble tokens to stdout, and binary data (fonts, -+ bitmaps) to g_binary_out. Another process reads from those pipes, and -+ there lies the rub: things can deadlock, if the two involved -+ processes access the pipes in different order. At any point in -+ time, both processes must access the same pipe. To ensure this, -+ data must be flushed to the OS before writing to a different pipe, -+ otherwise not-yet-written data will leave the reading process -+ waiting on the wrong pipe. -+ */ -+ -+namespace pdfi -+{ -+ -+/// cut off very small numbers & clamp value to zero -+inline double normalize( double val ) -+{ -+ return fabs(val) < 0.0000001 ? 0.0 : val; -+} -+ -+namespace -+{ -+ -+/** Escapes line-ending characters (\n and \r) in input string. -+ */ -+boost::shared_array lcl_escapeLineFeeds(const char* const i_pStr) -+{ -+ size_t nLength(strlen(i_pStr)); -+ char* pBuffer = new char[2*nLength+1]; -+ -+ const char* pRead = i_pStr; -+ char* pWrite = pBuffer; -+ while( nLength-- ) -+ { -+ if( *pRead == '\r' ) -+ { -+ *pWrite++ = '\\'; -+ *pWrite++ = 'r'; -+ } -+ else if( *pRead == '\n' ) -+ { -+ *pWrite++ = '\\'; -+ *pWrite++ = 'n'; -+ } -+ else if( *pRead == '\\' ) -+ { -+ *pWrite++ = '\\'; -+ *pWrite++ = '\\'; -+ } -+ else -+ *pWrite++ = *pRead; -+ pRead++; -+ } -+ *pWrite++ = 0; -+ -+ return boost::shared_array(pBuffer); -+} -+ -+} -+ -+/// for the temp char buffer the header gets snprintfed in -+#define WRITE_BUFFER_SIZE 1024 -+ -+/// for the initial std::vector capacity when copying stream from xpdf -+#define WRITE_BUFFER_INITIAL_CAPACITY (1024*100) -+ -+void initBuf(OutputBuffer& io_rBuffer) -+{ -+ io_rBuffer.reserve(WRITE_BUFFER_INITIAL_CAPACITY); -+} -+ -+void writeBinaryBuffer( const OutputBuffer& rBuffer ) -+{ -+ // ---sync point--- see SYNC STREAMS above -+ fflush(stdout); -+ -+ // put buffer to stderr -+ if( !rBuffer.empty() ) -+ if( fwrite(&rBuffer[0], sizeof(char), -+ rBuffer.size(), g_binary_out) != (size_t)rBuffer.size() ) -+ exit(1); // error -+ -+ // ---sync point--- see SYNC STREAMS above -+ fflush(g_binary_out); -+} -+ -+void writeJpeg_( OutputBuffer& o_rOutputBuf, Stream* str, bool bWithLinefeed ) -+{ -+ // dump JPEG file as-is -+#if POPPLER_CHECK_VERSION(0, 17, 3) -+ str = str->getBaseStream(); -+#else -+ str = ((DCTStream *)str)->getRawStream(); -+#endif -+ str->reset(); -+ -+ int c; -+ o_rOutputBuf.clear(); -+ while((c=str->getChar()) != EOF) -+ o_rOutputBuf.push_back(static_cast(c)); -+ -+ printf( " JPEG %d", (int)o_rOutputBuf.size() ); -+ if( bWithLinefeed ) -+ printf("\n"); -+ -+ str->close(); -+} -+ -+void writePbm_(OutputBuffer& o_rOutputBuf, Stream* str, int width, int height, bool bWithLinefeed, bool bInvert ) -+{ -+ // write as PBM (char by char, to avoid stdlib lineend messing) -+ o_rOutputBuf.clear(); -+ o_rOutputBuf.resize(WRITE_BUFFER_SIZE); -+ o_rOutputBuf[0] = 'P'; -+ o_rOutputBuf[1] = '4'; -+ o_rOutputBuf[2] = 0x0A; -+ char *pAsCharPtr = reinterpret_cast(&o_rOutputBuf[3]); -+ int nOutLen = snprintf(pAsCharPtr, WRITE_BUFFER_SIZE-10, "%d %d", width, height); -+ if( nOutLen < 0 ) -+ nOutLen = WRITE_BUFFER_SIZE-10; -+ o_rOutputBuf[3+nOutLen] =0x0A; -+ o_rOutputBuf[3+nOutLen+1]=0; -+ -+ const int header_size = 3+nOutLen+1; -+ const int size = height * ((width + 7) / 8); -+ -+ printf( " PBM %d", size + header_size ); -+ if( bWithLinefeed ) -+ printf("\n"); -+ -+ // trim buffer to exact header length -+ o_rOutputBuf.resize(header_size); -+ -+ // initialize stream -+ str->reset(); -+ -+ // copy the raw stream -+ if( bInvert ) -+ { -+ for( int i=0; i(str->getChar() ^ 0xff)); -+ } -+ else -+ { -+ for( int i=0; i(str->getChar())); -+ } -+ -+ str->close(); -+} -+ -+void writePpm_( OutputBuffer& o_rOutputBuf, -+ Stream* str, -+ int width, -+ int height, -+ GfxImageColorMap* colorMap, -+ bool bWithLinefeed ) -+{ -+ // write as PPM (char by char, to avoid stdlib lineend messing) -+ o_rOutputBuf.clear(); -+ o_rOutputBuf.resize(WRITE_BUFFER_SIZE); -+ o_rOutputBuf[0] = 'P'; -+ o_rOutputBuf[1] = '6'; -+ o_rOutputBuf[2] = '\n'; -+ char *pAsCharPtr = reinterpret_cast(&o_rOutputBuf[3]); -+ int nOutLen = snprintf(pAsCharPtr, WRITE_BUFFER_SIZE-10, "%d %d", width, height); -+ if( nOutLen < 0 ) -+ nOutLen = WRITE_BUFFER_SIZE-10; -+ o_rOutputBuf[3+nOutLen] ='\n'; -+ o_rOutputBuf[3+nOutLen+1]='2'; -+ o_rOutputBuf[3+nOutLen+2]='5'; -+ o_rOutputBuf[3+nOutLen+3]='5'; -+ o_rOutputBuf[3+nOutLen+4]='\n'; -+ o_rOutputBuf[3+nOutLen+5]=0; -+ -+ const int header_size = 3+nOutLen+5; -+ const int size = width*height*3 + header_size; -+ -+ printf( " PPM %d", size ); -+ if( bWithLinefeed ) -+ printf("\n"); -+ -+ // trim buffer to exact header size -+ o_rOutputBuf.resize(header_size); -+ -+ // initialize stream -+ Guchar *p; -+ GfxRGB rgb; -+ ImageStream* imgStr = -+ new ImageStream(str, -+ width, -+ colorMap->getNumPixelComps(), -+ colorMap->getBits()); -+ imgStr->reset(); -+ -+ for( int y=0; ygetLine(); -+ for( int x=0; xgetRGB(p, &rgb); -+ o_rOutputBuf.push_back(colToByte(rgb.r)); -+ o_rOutputBuf.push_back(colToByte(rgb.g)); -+ o_rOutputBuf.push_back(colToByte(rgb.b)); -+ -+ p +=colorMap->getNumPixelComps(); -+ } -+ } -+ -+ delete imgStr; -+ -+} -+ -+// call this only for 1 bit image streams ! -+void writePng_( OutputBuffer& o_rOutputBuf, -+ Stream* str, -+ int width, -+ int height, -+ GfxRGB& zeroColor, -+ GfxRGB& oneColor, -+ bool bIsMask, -+ bool bWithLinefeed ) -+{ -+ o_rOutputBuf.clear(); -+ -+ // get png image -+ PngHelper::createPng( o_rOutputBuf, str, width, height, zeroColor, oneColor, bIsMask ); -+ -+ printf( " PNG %d", (int)o_rOutputBuf.size() ); -+ if( bWithLinefeed ) -+ printf("\n"); -+} -+ -+void writePng_( OutputBuffer& o_rOutputBuf, -+ Stream* str, -+ int width, int height, GfxImageColorMap* colorMap, -+ Stream* maskStr, -+ int maskWidth, int maskHeight, GfxImageColorMap* maskColorMap, -+ bool bWithLinefeed ) -+{ -+ o_rOutputBuf.clear(); -+ -+ // get png image -+ PngHelper::createPng( o_rOutputBuf, str, width, height, colorMap, maskStr, maskWidth, maskHeight, maskColorMap ); -+ -+ printf( " PNG %d", (int)o_rOutputBuf.size() ); -+ if( bWithLinefeed ) -+ printf("\n"); -+} -+ -+void writePng_( OutputBuffer& o_rOutputBuf, -+ Stream* str, -+ int width, int height, GfxImageColorMap* colorMap, -+ Stream* maskStr, -+ int maskWidth, int maskHeight, bool maskInvert, -+ bool bWithLinefeed ) -+{ -+ o_rOutputBuf.clear(); -+ -+ // get png image -+ PngHelper::createPng( o_rOutputBuf, str, width, height, colorMap, maskStr, maskWidth, maskHeight, maskInvert ); -+ -+ printf( " PNG %d", (int)o_rOutputBuf.size() ); -+ if( bWithLinefeed ) -+ printf("\n"); -+} -+ -+// stolen from ImageOutputDev.cc -+void writeMask_( OutputBuffer& o_rOutputBuf, Stream* str, int width, int height, bool bWithLinefeed, bool bInvert ) -+{ -+ if( str->getKind() == strDCT ) -+ writeJpeg_(o_rOutputBuf, str, bWithLinefeed); -+ else -+ writePbm_(o_rOutputBuf, str, width, height, bWithLinefeed, bInvert ); -+} -+ -+void writeImage_( OutputBuffer& o_rOutputBuf, -+ Stream* str, -+ int width, -+ int height, -+ GfxImageColorMap* colorMap, -+ bool bWithLinefeed ) -+{ -+ // dump JPEG file -+ if( str->getKind() == strDCT && -+ (colorMap->getNumPixelComps() == 1 || -+ colorMap->getNumPixelComps() == 3) ) -+ { -+ writeJpeg_(o_rOutputBuf, str, bWithLinefeed); -+ } -+ else if (colorMap->getNumPixelComps() == 1 && -+ colorMap->getBits() == 1) -+ { -+ // this is a two color bitmap, write a png -+ // provide default colors -+ GfxRGB zeroColor = { 0, 0, 0 }, -+ oneColor = { byteToCol( 0xff ), byteToCol( 0xff ), byteToCol( 0xff ) }; -+ if( colorMap->getColorSpace()->getMode() == csIndexed || colorMap->getColorSpace()->getMode() == csDeviceGray ) -+ { -+ Guchar nIndex = 0; -+ colorMap->getRGB( &nIndex, &zeroColor ); -+ nIndex = 1; -+ colorMap->getRGB( &nIndex, &oneColor ); -+ } -+ writePng_( o_rOutputBuf, str, width, height, zeroColor, oneColor, false, bWithLinefeed ); -+ } -+ else -+ writePpm_( o_rOutputBuf, str, width, height, colorMap, bWithLinefeed ); -+} -+ -+// forwarders -+// ------------------------------------------------------------------ -+ -+inline void writeImage( OutputBuffer& o_rOutputBuf, -+ Stream* str, -+ int width, -+ int height, -+ GfxImageColorMap* colorMap ) { writeImage_(o_rOutputBuf,str,width,height,colorMap,false); } -+inline void writeImageLF( OutputBuffer& o_rOutputBuf, -+ Stream* str, -+ int width, -+ int height, -+ GfxImageColorMap* colorMap ) { writeImage_(o_rOutputBuf,str,width,height,colorMap,true); } -+inline void writeMask( OutputBuffer& o_rOutputBuf, -+ Stream* str, -+ int width, -+ int height, -+ bool bInvert ) { writeMask_(o_rOutputBuf,str,width,height,false,bInvert); } -+inline void writeMaskLF( OutputBuffer& o_rOutputBuf, -+ Stream* str, -+ int width, -+ int height, -+ bool bInvert ) { writeMask_(o_rOutputBuf,str,width,height,true,bInvert); } -+ -+// ------------------------------------------------------------------ -+ -+ -+int PDFOutDev::parseFont( long long nNewId, GfxFont* gfxFont, GfxState* state ) const -+{ -+ FontAttributes aNewFont; -+ int nSize = 0; -+ -+ GooString* pFamily = gfxFont->getName(); -+ if( pFamily ) -+ { -+ aNewFont.familyName.clear(); -+ aNewFont.familyName.append( gfxFont->getName() ); -+ } -+ else -+ { -+ aNewFont.familyName.clear(); -+ aNewFont.familyName.append( "Arial" ); -+ } -+ -+ aNewFont.isBold = gfxFont->isBold(); -+ aNewFont.isItalic = gfxFont->isItalic(); -+ aNewFont.size = state->getTransformedFontSize(); -+ aNewFont.isUnderline = false; -+ -+ if( gfxFont->getType() == fontTrueType || gfxFont->getType() == fontType1 ) -+ { -+ // TODO(P3): Unfortunately, need to read stream twice, since -+ // we must write byte count to stdout before -+ char* pBuf = gfxFont->readEmbFontFile( m_pDoc->getXRef(), &nSize ); -+ if( pBuf ) -+ aNewFont.isEmbedded = true; -+ } -+ -+ m_aFontMap[ nNewId ] = aNewFont; -+ return nSize; -+} -+ -+void PDFOutDev::writeFontFile( GfxFont* gfxFont ) const -+{ -+ if( gfxFont->getType() != fontTrueType && gfxFont->getType() != fontType1 ) -+ return; -+ -+ int nSize = 0; -+ char* pBuf = gfxFont->readEmbFontFile( m_pDoc->getXRef(), &nSize ); -+ if( !pBuf ) -+ return; -+ -+ // ---sync point--- see SYNC STREAMS above -+ fflush(stdout); -+ -+ if( fwrite(pBuf, sizeof(char), nSize, g_binary_out) != (size_t)nSize ) -+ exit(1); // error -+ -+ // ---sync point--- see SYNC STREAMS above -+ fflush(g_binary_out); -+} -+ -+void PDFOutDev::printPath( GfxPath* pPath ) const -+{ -+ int nSubPaths = pPath ? pPath->getNumSubpaths() : 0; -+ for( int i=0; igetSubpath( i ); -+ const int nPoints = pSub->getNumPoints(); -+ -+ printf( " subpath %d", pSub->isClosed() ); -+ -+ for( int n=0; ngetX(n)), -+ normalize(pSub->getY(n)), -+ pSub->getCurve(n) ); -+ } -+ } -+} -+ -+PDFOutDev::PDFOutDev( PDFDoc* pDoc ) : -+ m_pDoc( pDoc ), -+ m_aFontMap(), -+ m_pUtf8Map( new UnicodeMap((char*)"UTF-8", gTrue, &mapUTF8) ) -+{ -+} -+ -+void PDFOutDev::startPage(int /*pageNum*/, GfxState* state) -+{ -+ assert(state); -+ printf("startPage %f %f\n", -+ normalize(state->getPageWidth()), -+ normalize(state->getPageHeight())); -+} -+ -+void PDFOutDev::endPage() -+{ -+ printf("endPage\n"); -+} -+ -+#if POPPLER_CHECK_VERSION(0, 19, 0) -+void PDFOutDev::processLink(AnnotLink *link) -+#elif POPPLER_CHECK_VERSION(0, 17, 0) -+void PDFOutDev::processLink(AnnotLink *link, Catalog *) -+#else -+void PDFOutDev::processLink(Link* link, Catalog*) -+#endif -+{ -+ assert(link); -+ -+ double x1,x2,y1,y2; -+ link->getRect( &x1, &y1, &x2, &y2 ); -+ -+ LinkAction* pAction = link->getAction(); -+ if( pAction->getKind() == actionURI ) -+ { -+ const char* pURI = static_cast(pAction)->getURI()->getCString(); -+ -+ boost::shared_array pEsc( lcl_escapeLineFeeds(pURI) ); -+ -+ printf( "drawLink %f %f %f %f %s\n", -+ normalize(x1), -+ normalize(y1), -+ normalize(x2), -+ normalize(y2), -+ pEsc.get() ); -+ } -+} -+ -+void PDFOutDev::saveState(GfxState*) -+{ -+ printf( "saveState\n" ); -+} -+ -+void PDFOutDev::restoreState(GfxState*) -+{ -+ printf( "restoreState\n" ); -+} -+ -+void PDFOutDev::setDefaultCTM(double *pMat) -+{ -+ assert(pMat); -+ -+ OutputDev::setDefaultCTM(pMat); -+ -+ printf( "updateCtm %f %f %f %f %f %f\n", -+ normalize(pMat[0]), -+ normalize(pMat[2]), -+ normalize(pMat[1]), -+ normalize(pMat[3]), -+ normalize(pMat[4]), -+ normalize(pMat[5]) ); -+} -+ -+void PDFOutDev::updateCTM(GfxState* state, -+ double, double, -+ double, double, -+ double, double) -+{ -+ assert(state); -+ -+ const double* const pMat = state->getCTM(); -+ assert(pMat); -+ -+ printf( "updateCtm %f %f %f %f %f %f\n", -+ normalize(pMat[0]), -+ normalize(pMat[2]), -+ normalize(pMat[1]), -+ normalize(pMat[3]), -+ normalize(pMat[4]), -+ normalize(pMat[5]) ); -+} -+ -+void PDFOutDev::updateLineDash(GfxState *state) -+{ -+ assert(state); -+ -+ double* dashArray; int arrayLen; double startOffset; -+ state->getLineDash(&dashArray, &arrayLen, &startOffset); -+ -+ printf( "updateLineDash" ); -+ if( arrayLen && dashArray ) -+ { -+ printf( " %f %d", normalize(startOffset), arrayLen ); -+ for( int i=0; igetFlatness() ); -+} -+ -+void PDFOutDev::updateLineJoin(GfxState *state) -+{ -+ assert(state); -+ printf( "updateLineJoin %d\n", state->getLineJoin() ); -+} -+ -+void PDFOutDev::updateLineCap(GfxState *state) -+{ -+ assert(state); -+ printf( "updateLineCap %d\n", state->getLineCap() ); -+} -+ -+void PDFOutDev::updateMiterLimit(GfxState *state) -+{ -+ assert(state); -+ printf( "updateMiterLimit %f\n", normalize(state->getMiterLimit()) ); -+} -+ -+void PDFOutDev::updateLineWidth(GfxState *state) -+{ -+ assert(state); -+ printf( "updateLineWidth %f\n", normalize(state->getLineWidth()) ); -+} -+ -+void PDFOutDev::updateFillColor(GfxState *state) -+{ -+ assert(state); -+ -+ GfxRGB aRGB; -+ state->getFillRGB( &aRGB ); -+ -+ printf( "updateFillColor %f %f %f %f\n", -+ normalize(colToDbl(aRGB.r)), -+ normalize(colToDbl(aRGB.g)), -+ normalize(colToDbl(aRGB.b)), -+ normalize(state->getFillOpacity()) ); -+} -+ -+void PDFOutDev::updateStrokeColor(GfxState *state) -+{ -+ assert(state); -+ -+ GfxRGB aRGB; -+ state->getStrokeRGB( &aRGB ); -+ -+ printf( "updateStrokeColor %f %f %f %f\n", -+ normalize(colToDbl(aRGB.r)), -+ normalize(colToDbl(aRGB.g)), -+ normalize(colToDbl(aRGB.b)), -+ normalize(state->getFillOpacity()) ); -+} -+ -+void PDFOutDev::updateFillOpacity(GfxState *state) -+{ -+ updateFillColor(state); -+} -+ -+void PDFOutDev::updateStrokeOpacity(GfxState *state) -+{ -+ updateStrokeColor(state); -+} -+ -+void PDFOutDev::updateBlendMode(GfxState*) -+{ -+} -+ -+void PDFOutDev::updateFont(GfxState *state) -+{ -+ assert(state); -+ -+ GfxFont *gfxFont = state->getFont(); -+ if( gfxFont ) -+ { -+ FontAttributes aFont; -+ int nEmbedSize=0; -+ -+ Ref* pID = gfxFont->getID(); -+ // TODO(Q3): Portability problem -+ long long fontID = (long long)pID->gen << 32 | (long long)pID->num; -+ boost::unordered_map< long long, FontAttributes >::const_iterator it = -+ m_aFontMap.find( fontID ); -+ if( it == m_aFontMap.end() ) -+ { -+ nEmbedSize = parseFont( fontID, gfxFont, state ); -+ it = m_aFontMap.find( fontID ); -+ } -+ -+ printf( "updateFont" ); -+ if( it != m_aFontMap.end() ) -+ { -+ // conflating this with printf below crashes under Windoze -+ printf( " %lld", fontID ); -+ -+ aFont = it->second; -+ -+ boost::shared_array pEsc( lcl_escapeLineFeeds(aFont.familyName.getCString()) ); -+ printf( " %d %d %d %d %f %d %s", -+ aFont.isEmbedded, -+ aFont.isBold, -+ aFont.isItalic, -+ aFont.isUnderline, -+ normalize(state->getTransformedFontSize()), -+ nEmbedSize, -+ pEsc.get() ); -+ } -+ printf( "\n" ); -+ -+ if( nEmbedSize ) -+ writeFontFile(gfxFont); -+ } -+} -+ -+void PDFOutDev::updateRender(GfxState *state) -+{ -+ assert(state); -+ -+ printf( "setTextRenderMode %d\n", state->getRender() ); -+} -+ -+void PDFOutDev::stroke(GfxState *state) -+{ -+ assert(state); -+ -+ printf( "strokePath" ); -+ printPath( state->getPath() ); -+ printf( "\n" ); -+} -+ -+void PDFOutDev::fill(GfxState *state) -+{ -+ assert(state); -+ -+ printf( "fillPath" ); -+ printPath( state->getPath() ); -+ printf( "\n" ); -+} -+ -+void PDFOutDev::eoFill(GfxState *state) -+{ -+ assert(state); -+ -+ printf( "eoFillPath" ); -+ printPath( state->getPath() ); -+ printf( "\n" ); -+} -+ -+void PDFOutDev::clip(GfxState *state) -+{ -+ assert(state); -+ -+ printf( "clipPath" ); -+ printPath( state->getPath() ); -+ printf( "\n" ); -+} -+ -+void PDFOutDev::eoClip(GfxState *state) -+{ -+ assert(state); -+ -+ printf( "eoClipPath" ); -+ printPath( state->getPath() ); -+ printf( "\n" ); -+} -+ -+/** Output one glyph -+ -+ -+ @param dx -+ horizontal skip for character (already scaled with font size) + -+ inter-char space: cursor is shifted by this amount for next char -+ -+ @param dy -+ vertical skip for character (zero for horizontal writing mode): -+ cursor is shifted by this amount for next char -+ -+ @param originX -+ local offset of character (zero for horizontal writing mode). not -+ taken into account for output pos updates. Used for vertical writing. -+ -+ @param originY -+ local offset of character (zero for horizontal writing mode). not -+ taken into account for output pos updates. Used for vertical writing. -+ */ -+void PDFOutDev::drawChar(GfxState *state, double x, double y, -+ double dx, double dy, -+ double originX, double originY, -+ CharCode, int /*nBytes*/, Unicode *u, int uLen) -+{ -+ assert(state); -+ -+ if( u == NULL ) -+ return; -+ -+ // normalize coordinates: correct from baseline-relative to upper -+ // left corner of glyphs -+ double x2(0.0), y2(0.0); -+ state->textTransformDelta( 0.0, -+ state->getFont()->getAscent(), -+ &x2, &y2 ); -+ const double fFontSize(state->getFontSize()); -+ x += x2*fFontSize; -+ y += y2*fFontSize; -+ -+ const double aPositionX(x-originX); -+ const double aPositionY(y-originY); -+ // TODO(F2): use leading here, when set -+ const double nWidth(dx != 0.0 ? dx : fFontSize); -+ const double nHeight(dy != 0.0 ? dy : fFontSize); -+ -+ const double* pTextMat=state->getTextMat(); -+ printf( "drawChar %f %f %f %f %f %f %f %f ", -+ normalize(aPositionX), -+ normalize(aPositionY), -+ normalize(aPositionX+nWidth), -+ normalize(aPositionY-nHeight), -+ normalize(pTextMat[0]), -+ normalize(pTextMat[2]), -+ normalize(pTextMat[1]), -+ normalize(pTextMat[3]) ); -+ -+ // silence spurious warning -+ (void)&mapUCS2; -+ -+ char buf[9]; -+ for( int i=0; imapUnicode(u[i], buf, sizeof(buf)-1) ] = 0; -+ boost::shared_array pEsc( lcl_escapeLineFeeds(buf) ); -+ printf( "%s", pEsc.get() ); -+ } -+ -+ printf( "\n" ); -+} -+ -+void PDFOutDev::drawString(GfxState*, GooString* /*s*/) -+{ -+ // TODO(F3): NYI -+} -+ -+void PDFOutDev::endTextObject(GfxState*) -+{ -+ printf( "endTextObject\n" ); -+} -+ -+void PDFOutDev::drawImageMask(GfxState* pState, Object*, Stream* str, -+ int width, int height, GBool invert, -+ GBool /*inlineImg*/ ) -+{ -+ OutputBuffer aBuf; initBuf(aBuf); -+ -+ printf( "drawMask %d %d %d", width, height, invert ); -+ -+ int bitsPerComponent = 1; -+ StreamColorSpaceMode csMode = streamCSNone; -+ str->getImageParams( &bitsPerComponent, &csMode ); -+ if( bitsPerComponent == 1 && (csMode == streamCSNone || csMode == streamCSDeviceGray) ) -+ { -+ GfxRGB oneColor = { dblToCol( 1.0 ), dblToCol( 1.0 ), dblToCol( 1.0 ) }; -+ GfxRGB zeroColor = { dblToCol( 0.0 ), dblToCol( 0.0 ), dblToCol( 0.0 ) }; -+ pState->getFillColorSpace()->getRGB( pState->getFillColor(), &zeroColor ); -+ if( invert ) -+ writePng_( aBuf, str, width, height, oneColor, zeroColor, true, true ); -+ else -+ writePng_( aBuf, str, width, height, zeroColor, oneColor, true, true ); -+ } -+ else -+ writeMaskLF(aBuf, str, width, height, invert != 0); -+ writeBinaryBuffer(aBuf); -+} -+ -+void PDFOutDev::drawImage(GfxState*, Object*, Stream* str, -+ int width, int height, GfxImageColorMap* colorMap, -+ int* maskColors, GBool /*inlineImg*/ ) -+{ -+ OutputBuffer aBuf; initBuf(aBuf); -+ OutputBuffer aMaskBuf; -+ -+ printf( "drawImage %d %d", width, height ); -+ -+ if( maskColors ) -+ { -+ // write mask colors. nBytes must be even - first half is -+ // lower bound values, second half upper bound values -+ if( colorMap->getColorSpace()->getMode() == csIndexed ) -+ { -+ aMaskBuf.push_back( (char)maskColors[0] ); -+ aMaskBuf.push_back( (char)maskColors[gfxColorMaxComps] ); -+ } -+ else -+ { -+ GfxRGB aMinRGB; -+ colorMap->getColorSpace()->getRGB( -+ (GfxColor*)maskColors, -+ &aMinRGB ); -+ -+ GfxRGB aMaxRGB; -+ colorMap->getColorSpace()->getRGB( -+ (GfxColor*)maskColors+gfxColorMaxComps, -+ &aMaxRGB ); -+ -+ aMaskBuf.push_back( colToByte(aMinRGB.r) ); -+ aMaskBuf.push_back( colToByte(aMinRGB.g) ); -+ aMaskBuf.push_back( colToByte(aMinRGB.b) ); -+ aMaskBuf.push_back( colToByte(aMaxRGB.r) ); -+ aMaskBuf.push_back( colToByte(aMaxRGB.g) ); -+ aMaskBuf.push_back( colToByte(aMaxRGB.b) ); -+ } -+ } -+ -+ printf( " %d", (int)aMaskBuf.size() ); -+ writeImageLF( aBuf, str, width, height, colorMap ); -+ writeBinaryBuffer(aBuf); -+ writeBinaryBuffer(aMaskBuf); -+} -+ -+void PDFOutDev::drawMaskedImage(GfxState*, Object*, Stream* str, -+ int width, int height, -+ GfxImageColorMap* colorMap, -+ Stream* maskStr, -+ int maskWidth, int maskHeight, -+ GBool maskInvert) -+{ -+ OutputBuffer aBuf; initBuf(aBuf); -+ printf( "drawImage %d %d 0", width, height ); -+ writePng_( aBuf, str, width, height, colorMap, maskStr, maskWidth, maskHeight, maskInvert, true ); -+ writeBinaryBuffer( aBuf ); -+} -+ -+void PDFOutDev::drawSoftMaskedImage(GfxState*, Object*, Stream* str, -+ int width, int height, -+ GfxImageColorMap* colorMap, -+ Stream* maskStr, -+ int maskWidth, int maskHeight, -+ GfxImageColorMap* maskColorMap ) -+{ -+ OutputBuffer aBuf; initBuf(aBuf); -+ printf( "drawImage %d %d 0", width, height ); -+ writePng_( aBuf, str, width, height, colorMap, maskStr, maskWidth, maskHeight, maskColorMap, true ); -+ writeBinaryBuffer( aBuf ); -+} -+ -+void PDFOutDev::setPageNum( int nNumPages ) -+{ -+ // TODO(F3): printf might format int locale-dependent! -+ printf("setPageNum %d\n", nNumPages); -+} -+ -+} -+ -+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ -diff -urN libreoffice-4.0.0.0.beta2.old/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx libreoffice-4.0.0.0.beta2/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx ---- libreoffice-4.0.0.0.beta2.old/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx 2012-12-19 19:09:46.770989517 +0100 -+++ libreoffice-4.0.0.0.beta2/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx 2012-12-21 11:53:57.775393673 +0100 -@@ -53,14 +53,7 @@ - class GfxFont; - class PDFDoc; - #ifndef SYSTEM_POPPLER --#define POPPLER_CHECK_VERSION(major,minor,micro) (0) - typedef GString GooString; --#else --#include --#define POPPLER_CHECK_VERSION(major,minor,micro) \ -- (POPPLER_VERSION_MAJOR > (major) || \ -- (POPPLER_VERSION_MAJOR == (major) && POPPLER_VERSION_MINOR > (minor)) || \ -- (POPPLER_VERSION_MAJOR == (major) && POPPLER_VERSION_MINOR == (minor) && POPPLER_VERSION_MICRO >= (micro))) - #endif - - namespace pdfi -@@ -190,13 +183,7 @@ - // virtual void cvtUserToDev(double ux, double uy, int *dx, int *dy); - - //----- link borders -- #if POPPLER_CHECK_VERSION(0, 19, 0) -- virtual void processLink(AnnotLink *link); -- #elif POPPLER_CHECK_VERSION(0, 17, 0) -- virtual void processLink(AnnotLink *link, Catalog *catalog); -- #else - virtual void processLink(Link *link, Catalog *catalog); -- #endif - - //----- save/restore graphics state - virtual void saveState(GfxState *state); -diff -urN libreoffice-4.0.0.0.beta2.old/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx.orig libreoffice-4.0.0.0.beta2/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx.orig ---- libreoffice-4.0.0.0.beta2.old/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx.orig 1970-01-01 01:00:00.000000000 +0100 -+++ libreoffice-4.0.0.0.beta2/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx.orig 2012-12-20 23:38:18.843485743 +0100 -@@ -0,0 +1,293 @@ -+/* -*- 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 incorporates work covered by the following license notice: -+ * -+ * Licensed to the Apache Software Foundation (ASF) under one or more -+ * contributor license agreements. See the NOTICE file distributed -+ * with this work for additional information regarding copyright -+ * ownership. The ASF licenses this file to you under the Apache -+ * License, Version 2.0 (the "License"); you may not use this file -+ * except in compliance with the License. You may obtain a copy of -+ * the License at http://www.apache.org/licenses/LICENSE-2.0 . -+ */ -+ -+#ifndef INCLUDED_PDFI_OUTDEV_HXX -+#define INCLUDED_PDFI_OUTDEV_HXX -+ -+#if defined __GNUC__ -+#pragma GCC system_header -+#elif defined __SUNPRO_CC -+#pragma disable_warn -+#elif defined _MSC_VER -+#pragma warning(push, 1) -+#endif -+ -+#include "GfxState.h" -+#include "GfxFont.h" -+#include "UnicodeMap.h" -+#include "Link.h" -+#include "Object.h" -+#include "OutputDev.h" -+#ifndef SYSTEM_POPPLER -+# include "parseargs.h" -+#endif -+#include "GlobalParams.h" -+#include "PDFDoc.h" -+ -+#if defined __SUNPRO_CC -+#pragma enable_warn -+#elif defined _MSC_VER -+#pragma warning(pop) -+#endif -+ -+#include -+#include -+ -+class GfxPath; -+class GfxFont; -+class PDFDoc; -+#ifndef SYSTEM_POPPLER -+#define POPPLER_CHECK_VERSION(major,minor,micro) (0) -+typedef GString GooString; -+#else -+#include -+#define POPPLER_CHECK_VERSION(major,minor,micro) \ -+ (POPPLER_VERSION_MAJOR > (major) || \ -+ (POPPLER_VERSION_MAJOR == (major) && POPPLER_VERSION_MINOR > (minor)) || \ -+ (POPPLER_VERSION_MAJOR == (major) && POPPLER_VERSION_MINOR == (minor) && POPPLER_VERSION_MICRO >= (micro))) -+#endif -+ -+namespace pdfi -+{ -+ struct FontAttributes -+ { -+ FontAttributes( const GooString& familyName_, -+ bool isEmbedded_, -+ bool isBold_, -+ bool isItalic_, -+ bool isUnderline_, -+ double size_ ) : -+ familyName(), -+ isEmbedded(isEmbedded_), -+ isBold(isBold_), -+ isItalic(isItalic_), -+ isUnderline(isUnderline_), -+ size(size_) -+ { -+ familyName.append(const_cast(&familyName_)); -+ } -+ -+ FontAttributes() : -+ familyName(), -+ isEmbedded(false), -+ isBold(false), -+ isItalic(false), -+ isUnderline(false), -+ size(0.0) -+ {} -+ -+ // xdpf goo stuff is so totally borked... -+ // ...need to hand-code assignment -+ FontAttributes( const FontAttributes& rSrc ) : -+ familyName(), -+ isEmbedded(rSrc.isEmbedded), -+ isBold(rSrc.isBold), -+ isItalic(rSrc.isItalic), -+ isUnderline(rSrc.isUnderline), -+ size(rSrc.size) -+ { -+ familyName.append(const_cast(&rSrc.familyName)); -+ } -+ -+ FontAttributes& operator=( const FontAttributes& rSrc ) -+ { -+ familyName.clear(); -+ familyName.append(const_cast(&rSrc.familyName)); -+ -+ isEmbedded = rSrc.isEmbedded; -+ isBold = rSrc.isBold; -+ isItalic = rSrc.isItalic; -+ isUnderline = rSrc.isUnderline; -+ size = rSrc.size; -+ -+ return *this; -+ } -+ -+ bool operator==(const FontAttributes& rFont) const -+ { -+ return const_cast(&familyName)->cmp( -+ const_cast(&rFont.familyName))==0 && -+ isEmbedded == rFont.isEmbedded && -+ isBold == rFont.isBold && -+ isItalic == rFont.isItalic && -+ isUnderline == rFont.isUnderline && -+ size == rFont.size; -+ } -+ -+ GooString familyName; -+ bool isEmbedded; -+ bool isBold; -+ bool isItalic; -+ bool isUnderline; -+ double size; -+ }; -+ -+ class PDFOutDev : public OutputDev -+ { -+ // not owned by this class -+ PDFDoc* m_pDoc; -+ mutable boost::unordered_map< long long, -+ FontAttributes > m_aFontMap; -+ UnicodeMap* m_pUtf8Map; -+ -+ int parseFont( long long nNewId, GfxFont* pFont, GfxState* state ) const; -+ void writeFontFile( GfxFont* gfxFont ) const; -+ void printPath( GfxPath* pPath ) const; -+ -+ public: -+ explicit PDFOutDev( PDFDoc* pDoc ); -+ -+ //----- get info about output device -+ -+ // Does this device use upside-down coordinates? -+ // (Upside-down means (0,0) is the top left corner of the page.) -+ virtual GBool upsideDown() { return gTrue; } -+ -+ // Does this device use drawChar() or drawString()? -+ virtual GBool useDrawChar() { return gTrue; } -+ -+ // Does this device use beginType3Char/endType3Char? Otherwise, -+ // text in Type 3 fonts will be drawn with drawChar/drawString. -+ virtual GBool interpretType3Chars() { return gFalse; } -+ -+ // Does this device need non-text content? -+ virtual GBool needNonText() { return gTrue; } -+ -+ //----- initialization and control -+ -+ // Set default transform matrix. -+ virtual void setDefaultCTM(double *ctm); -+ -+ // Start a page. -+ virtual void startPage(int pageNum, GfxState *state); -+ -+ // End a page. -+ virtual void endPage(); -+ -+ // Dump page contents to display. -+ // virtual void dump() {} -+ -+ //----- coordinate conversion -+ -+ // Convert between device and user coordinates. -+ // virtual void cvtDevToUser(double dx, double dy, double *ux, double *uy); -+ // virtual void cvtUserToDev(double ux, double uy, int *dx, int *dy); -+ -+ //----- link borders -+ #if POPPLER_CHECK_VERSION(0, 19, 0) -+ virtual void processLink(AnnotLink *link); -+ #elif POPPLER_CHECK_VERSION(0, 17, 0) -+ virtual void processLink(AnnotLink *link, Catalog *catalog); -+ #else -+ virtual void processLink(Link *link, Catalog *catalog); -+ #endif -+ -+ //----- save/restore graphics state -+ virtual void saveState(GfxState *state); -+ virtual void restoreState(GfxState *state); -+ -+ //----- update graphics state -+ // virtual void updateAll(GfxState *state); -+ virtual void updateCTM(GfxState *state, double m11, double m12, -+ double m21, double m22, double m31, double m32); -+ virtual void updateLineDash(GfxState *state); -+ virtual void updateFlatness(GfxState *state); -+ virtual void updateLineJoin(GfxState *state); -+ virtual void updateLineCap(GfxState *state); -+ virtual void updateMiterLimit(GfxState *state); -+ virtual void updateLineWidth(GfxState *state); -+ virtual void updateFillColor(GfxState *state); -+ virtual void updateStrokeColor(GfxState *state); -+ virtual void updateFillOpacity(GfxState *state); -+ virtual void updateStrokeOpacity(GfxState *state); -+ virtual void updateBlendMode(GfxState *state); -+ -+ //----- update text state -+ virtual void updateFont(GfxState *state); -+ // virtual void updateTextMat(GfxState *state); -+ // virtual void updateCharSpace(GfxState *state) {} -+ virtual void updateRender(GfxState *state); -+ // virtual void updateRise(GfxState *state) {} -+ // virtual void updateWordSpace(GfxState *state) {} -+ // virtual void updateHorizScaling(GfxState *state) {} -+ // virtual void updateTextPos(GfxState *state) {} -+ // virtual void updateTextShift(GfxState *state, double shift) {} -+ -+ //----- path painting -+ virtual void stroke(GfxState *state); -+ virtual void fill(GfxState *state); -+ virtual void eoFill(GfxState *state); -+ -+ //----- path clipping -+ virtual void clip(GfxState *state); -+ virtual void eoClip(GfxState *state); -+ -+ //----- text drawing -+ virtual void drawChar(GfxState *state, double x, double y, -+ double dx, double dy, -+ double originX, double originY, -+ CharCode code, int nBytes, Unicode *u, int uLen); -+ virtual void drawString(GfxState *state, GooString *s); -+ virtual void endTextObject(GfxState *state); -+ -+ //----- image drawing -+ virtual void drawImageMask(GfxState *state, Object *ref, Stream *str, -+ int width, int height, GBool invert, -+ GBool inlineImg); -+ virtual void drawImage(GfxState *state, Object *ref, Stream *str, -+ int width, int height, GfxImageColorMap *colorMap, -+ int *maskColors, GBool inlineImg); -+ virtual void drawMaskedImage(GfxState *state, Object *ref, Stream *str, -+ int width, int height, -+ GfxImageColorMap *colorMap, -+ Stream *maskStr, int maskWidth, int maskHeight, -+ GBool maskInvert); -+ virtual void drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str, -+ int width, int height, -+ GfxImageColorMap *colorMap, -+ Stream *maskStr, -+ int maskWidth, int maskHeight, -+ GfxImageColorMap *maskColorMap); -+ -+ //----- OPI functions -+ // virtual void opiBegin(GfxState *state, Dict *opiDict); -+ // virtual void opiEnd(GfxState *state, Dict *opiDict); -+ -+ //----- Type 3 font operators -+ // virtual void type3D0(GfxState *state, double wx, double wy) {} -+ // virtual void type3D1(GfxState *state, double wx, double wy, -+ // double llx, double lly, double urx, double ury) {} -+ -+ //----- PostScript XObjects -+ // virtual void psXObject(Stream *psStream, Stream *level1Stream) {} -+ -+ void setPageNum( int nNumPages ); -+ }; -+} -+ -+extern FILE* g_binary_out; -+ -+// note: if you ever hcange Output_t, please keep in mind that the current code -+// relies on it being of 8 bit size -+typedef Guchar Output_t; -+typedef std::vector< Output_t > OutputBuffer; -+ -+#endif /* INCLUDED_PDFI_OUTDEV_HXX */ -+ -+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/libreoffice-translations-4.0.2.2.1.tar.xz b/libreoffice-translations-4.0.2.2.1.tar.xz deleted file mode 100644 index d1615c8..0000000 --- a/libreoffice-translations-4.0.2.2.1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e29377260882a5a569941f93e49417eaaa68fe6b8fb9ce76949a0d300a5c839e -size 128353580 diff --git a/libreoffice-translations-4.0.3.3.2.tar.xz b/libreoffice-translations-4.0.3.3.2.tar.xz new file mode 100644 index 0000000..53f9abc --- /dev/null +++ b/libreoffice-translations-4.0.3.3.2.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9023e0bfc046c1bfef2f5ec32392031b6612bce10e18f5fe40df9f7f4c60a06 +size 128412456 diff --git a/libreoffice.changes b/libreoffice.changes index 7c6af1c..9bff6ab 100644 --- a/libreoffice.changes +++ b/libreoffice.changes @@ -1,3 +1,84 @@ +------------------------------------------------------------------- +Tue May 14 09:41:34 UTC 2013 - pmladek@suse.com + +- wizards-create-temlates-with-python-2.6.diff: Letter and Fax templates + can't be created by python-2.6 if ODF file type description uses + non-ASCII characters +- office-cfg-linux-common-template-dir.diff: keep the default system + paths first; the Agenda wizard is not found, otherwise + +------------------------------------------------------------------- +Fri May 10 09:53:14 UTC 2013 - pmladek@suse.com + +- update to 4.0.3.3.2 (SUSE 4.0-rc2, tag suse-4.0-2, based on upstream 4.0.3.3) + * lots crasher fixes + * add mono support again + * lots other import/export fixes + * added and fixed various VBA API + * FileDateTime function (fdo#63306) + * broken word completion (fdo#62643) + * broken YEARFRAC function (fdo#40100) + * legacy diagram PPTX import (bnc#699334) + * animations inside SmartArt (bnc#705982) + * cut/copy icons in Basic IDE (fdo#30545) + * table layout in DOCX import (bnc#780645) + * VBA macro fails in PageSetUp (bnc#813528) + * Firefox plugin not recognized (fdo#54087) + * decimal and group separators were swapped + * no sound with statement "beep" (fdo#58807) + * shapes location in DOCX import (bnc#816583) + * search is always case sensitive (fdo#63779) + * unable to save on Samba via GVFS (fdo#54275) + * slide show mode inverts outputs (rhbz#906137) + * reorder toolbars in formula editor (fdo#63350) + * wrong bullet color in PPTX import (bnc#719988) + * splitting a table options are mixed (fdo#62670) + * pull-down selections in DOCX import (bnc#779630) + * shape with background in XLSX import (bnc#798309) + * autocorrect options can not be closed (fdo#57905) + * import of scattered and bubble charts (bnc#810508) + * transparent background in EMF+ import (bnc#812793) + * wrong background color in PPTX import (bnc#734733) + * allow to use more than 3 sort criteria (fdo#51828) + * 'Personas' are called 'Themes' and changed location + * frame's background color in DOCX import (bnc#592908) + * bullet points are not indented correctly (bnc#793414) + * axis labels with percentage in PPTX import (bnc#813291) + * do not freeze in picture dialog without JRE (fdo#57553) + * better fix for default PDF export directory (bnc#777788) + * implement easy access to the recent documents (bnc#816516) + * really use the setting how to follow hyperlinks (fdo#51296) + * keep migrating user extensions after one failed (deb#703486) + * support MS Office and Flat ODF file types in Mozilla plug-in + * impossible to assign a macro to a drawing or picture (fdo#62797) + * VBA macro fails with error "Incorrect Property Value" (bnc#809017) + * broken surrounding text support (STS) for Input Methods (fdo#63802) + * VBA macro fails with "objCmd.ActiveConnection = Nothing" (bnc#805071) + * several template manager fixes (fdo#60581, fdo#60844, fdo#61389, + fdo#61390) + * several Base Report Builder fixes (fdo#33091, fdo#36858, fdo#48056, + fdo#61564, i#112652, i#108092) + * several RTL support fixes (fdo#33302, fdo#38951, fdo#59117, fdo#60533, + fdo#60554, fdo#60855, fdo#62050, fdo#62143, fdo#62399, fdo#63878, + fdo#37464, fdo#59892) +- update libvisio to version 0.0.26: + * extend the encoding support + * several other fixes and improvements +- update libcdr to version 0.0.13: + * text color, CDR, txsm, and other fixes +- removed obsolete patches: + * touch-no-dereference.diff + * libreoffice-poppler-0.17.0-reject-fix.diff +- system-poppler-0.12.3.diff: easier approach to build with system + poppler, version 0.12.3 +- enable mono build again + +------------------------------------------------------------------- +Thu May 9 15:08:37 UTC 2013 - pmladek@suse.com + +- use --enable-gstreamer-0-10 configure option to make sure that + we use the stable implementation + ------------------------------------------------------------------- Fri Apr 19 11:32:28 UTC 2013 - pmladek@suse.com diff --git a/libreoffice.spec b/libreoffice.spec index f469e8e..12ecbe0 100644 --- a/libreoffice.spec +++ b/libreoffice.spec @@ -156,7 +156,7 @@ BuildRequires: python-lxml %define test_build_sdk 1 # build_mono: 1 = yes # 0 = no (pack just a README file) -%define build_mono 0 +%define build_mono 1 # save_space: 0 = no # 1 = yes (do some hacks to safe space in the installation phase) %define save_space 1 @@ -203,7 +203,7 @@ BuildRequires: python-lxml %define ct2n_version 1.3.2 %define gdocs_version 3.0.1 %define numbertext_version 0.9.5 -Version: 4.0.2.2.1 +Version: 4.0.3.3.2 Release: 0 Requires: libreoffice-branding >= 4.0 Requires: libreoffice-icon-themes = %version @@ -556,12 +556,12 @@ Source1038: d197bd6211669a2fa4ca648faf04bcb1-libwps-0.2.7.tar.bz2 Source1039: 97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip Source1040: 0981bda6548a8c8233ffce2b6e4b2a23-mysql-connector-c++-1.1.0.tar.gz Source1041: b2371dc7cf4811c9d32146eec913d296-libcmis-0.3.0.tar.gz -Source1042: libvisio-0.0.25.tar.bz2 +Source1042: libvisio-0.0.26.tar.bz2 Source1043: 54e578c91b1b68e69c72be22adcb2195-liblangtag-0.4.0.tar.bz2 # FIXME: the system clucene does not include stuff from contribs-lib (CJKAnalyzer.h) Source1044: 48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.tar.gz # newly developed library for LO feature -Source1045: libcdr-0.0.11.tar.bz2 +Source1045: libcdr-0.0.13.tar.bz2 # this library is not available on older distributions Source1046: 861ef15fa0bc018f9ddc932c4ad8b6dd-lcms2-2.4.tar.gz # internal boost headers are needed on openSUSE <= 11.3; the system one has broken dst_adjustment_offsets definition (bnc#767949) @@ -609,12 +609,12 @@ Patch15: bridges-missing-cxxflags.diff # dmake does not work with more than 64 jobs # FIXME: this patch won't be necessary in LO-4.1 where dmake has finally been removed Patch16: build-max-64-jobs.diff -# avoid race condition when delivering symlinks and target files into solver -Patch17: touch-no-dereference.diff +# Letter and Fax tamplates can't be created by python-2.6 if ODF file type description uses non-Ascii characters +Patch17: wizards-create-temlates-with-python-2.6.diff # -# revert problematic build fix for poppler 0.17.0 on older distributions +# cpp/poppler-version.h is not included in older poppler packages # FIXME: make it configurable to push upstream -Patch910: libreoffice-poppler-0.17.0-reject-fix.diff +Patch910: system-poppler-0.12.3.diff # crazy hack to avoid /usr/lib64 in RPATH and pass brp-rpath check (bnc#717262) Patch920: redland-rpath-hack.diff # try to save space by using hardlinks @@ -1304,9 +1304,10 @@ the LibreOffice localizations separately. %patch15 %patch16 %patch17 -p1 -%if %suse_version <= 1130 +# +%if %suse_version >= 1110 && %suse_version < 1120 # cpp/poppler-version.h is not included in older poppler packages -%patch910 -p1 +%patch910 %endif # %if %suse_version > 1140 && %suse_version < 1230 @@ -1388,11 +1389,12 @@ sed -i "s/__DATE__/\"$FAKE_BUILDDATE\"/" solenv/src/version.c --enable-kde \ --enable-kde4 \ %endif + --enable-gstreamer-0-10 \ --enable-evolution2 \ --enable-lockdown \ --enable-dbus \ %if 0%{?suse_version} <= 01130 -%if %build_mono == 1 +%if %build_mono != 0 --enable-mono \ --with-mono-gac-root=%{_prefix}/lib \ %endif diff --git a/libvisio-0.0.25.tar.bz2 b/libvisio-0.0.25.tar.bz2 deleted file mode 100644 index bc0af8f..0000000 --- a/libvisio-0.0.25.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fa57b8012778154ffc798eed4d33ae171f91dafc2f9b2efb092399b93a0725d6 -size 480885 diff --git a/libvisio-0.0.26.tar.bz2 b/libvisio-0.0.26.tar.bz2 new file mode 100644 index 0000000..7cd65d8 --- /dev/null +++ b/libvisio-0.0.26.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6880e5c8007a73e8e86fad43bf391692f7da4039f3d1503e85458f60d0b85d5a +size 480131 diff --git a/office-cfg-linux-common-template-dir.diff b/office-cfg-linux-common-template-dir.diff index 21a7235..47bb8ed 100644 --- a/office-cfg-linux-common-template-dir.diff +++ b/office-cfg-linux-common-template-dir.diff @@ -1,33 +1,37 @@ ---- officecfg/registry/data/org/openoffice/Office/Common.xcu +Index: officecfg/registry/data/org/openoffice/Office/Common.xcu +=================================================================== +--- officecfg/registry/data/org/openoffice/Office/Common.xcu.orig +++ officecfg/registry/data/org/openoffice/Office/Common.xcu -@@ -705,4 +705,6 @@ +@@ -727,4 +727,6 @@ "com.sun.star.configuration.backend.GconfBackend OpenGL_Faster"/> + ---- officecfg/registry/schema/org/openoffice/Office/Common.xcs.old 2012-03-01 15:34:22.000000000 +0100 -+++ officecfg/registry/schema/org/openoffice/Office/Common.xcs 2012-03-01 15:54:05.000000000 +0100 -@@ -1897,6 +1897,10 @@ - sub-folders. - +Index: officecfg/registry/schema/org/openoffice/Office/Common.xcs +=================================================================== +--- officecfg/registry/schema/org/openoffice/Office/Common.xcs.orig ++++ officecfg/registry/schema/org/openoffice/Office/Common.xcs +@@ -1965,6 +1965,10 @@ + $(insturl)/share/template/$(vlang) + $(insturl)/share/template/common + file:///usr/share/templates/libreoffice/common + file:///usr/share/templates/libreoffice/$(vlang) + file:///usr/share/templates/ooo/common + file:///usr/share/templates/ooo/$(vlang) + $(userurl)/template + + +@@ -2165,6 +2169,10 @@ + $(insturl)/share/template/$(vlang) $(insturl)/share/template/common - $(userurl)/template -@@ -2090,6 +2094,10 @@ - are located in folders and sub-folders. - - + file:///usr/share/templates/libreoffice/common + file:///usr/share/templates/libreoffice/$(vlang) + file:///usr/share/templates/ooo/common + file:///usr/share/templates/ooo/$(vlang) - $(insturl)/share/template/$(vlang) - $(insturl)/share/template/common $(userurl)/template + + diff --git a/solenv-touch-no-dereference.diff b/solenv-touch-no-dereference.diff index d948380..1a4338e 100644 --- a/solenv-touch-no-dereference.diff +++ b/solenv-touch-no-dereference.diff @@ -1,10 +1,12 @@ ---- solenv/gbuild/Deliver.mk.old 2013-03-28 19:01:42.000000000 +0100 -+++ solenv/gbuild/Deliver.mk 2013-04-18 12:24:05.000000000 +0200 +Index: solenv/gbuild/Deliver.mk +=================================================================== +--- solenv/gbuild/Deliver.mk.orig ++++ solenv/gbuild/Deliver.mk @@ -60,7 +60,7 @@ endif endef define gb_Deliver__deliver --$(if $(gb_Deliver_CLEARONDELIVER),rm -f $(2) &&) $(if $(gb_Deliver_HARDLINK),ln,cp -P -f) $(1) $(2) && touch --no-dereference -r $(1) $(2) +-$(if $(gb_Deliver_CLEARONDELIVER),rm -f $(2) &&) $(if $(gb_Deliver_HARDLINK),ln,cp -P -f) $(1) $(2) && touch $(if $(filter-out MACOSX,$(OS_FOR_BUILD)),--no-dereference) -r $(1) $(2) +$(if $(gb_Deliver_CLEARONDELIVER),rm -f $(2) &&) $(if $(gb_Deliver_HARDLINK),ln,cp -P -f) $(1) $(2) && touch -r $(1) $(2) endef diff --git a/system-poppler-0.12.3.diff b/system-poppler-0.12.3.diff new file mode 100644 index 0000000..7b1135e --- /dev/null +++ b/system-poppler-0.12.3.diff @@ -0,0 +1,35 @@ +Index: libreoffice-4.0.3.2a/configure.ac +=================================================================== +--- configure.ac ++++ configure.ac +@@ -9723,16 +9723,6 @@ if test "$_os" != Android -a "$_os" != i + AC_MSG_RESULT([external]) + SYSTEM_POPPLER=YES + PKG_CHECK_MODULES( POPPLER, poppler >= 0.8.0 ) +- AC_LANG_PUSH([C++]) +- save_CXXFLAGS=$CXXFLAGS +- save_CPPFLAGS=$CPPFLAGS +- CXXFLAGS="$CXXFLAGS $POPPLER_CFLAGS" +- CPPFLAGS="$CPPFLAGS $POPPLER_CFLAGS" +- AC_CHECK_HEADER([cpp/poppler-version.h], [], +- [AC_MSG_ERROR([cpp/poppler-version.h not found. Install poppler])], []) +- CXXFLAGS=$save_CXXFLAGS +- CPPFLAGS=$save_CPPFLAGS +- AC_LANG_POP([C++]) + libo_MINGW_CHECK_DLL([POPPLER], [libpoppler]) + else + AC_MSG_RESULT([internal]) +--- sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx.old 2013-05-01 16:10:03.000000000 +0200 ++++ sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx 2013-05-01 16:11:22.000000000 +0200 +@@ -62,7 +62,10 @@ class PDFDoc; + #define POPPLER_CHECK_VERSION(major,minor,micro) (0) + typedef GString GooString; + #else +-#include ++#define POPPLER_VERSION "0.12.3" ++#define POPPLER_VERSION_MAJOR 0 ++#define POPPLER_VERSION_MINOR 12 ++#define POPPLER_VERSION_MICRO 3 + #define POPPLER_CHECK_VERSION(major,minor,micro) \ + (POPPLER_VERSION_MAJOR > (major) || \ + (POPPLER_VERSION_MAJOR == (major) && POPPLER_VERSION_MINOR > (minor)) || \ diff --git a/touch-no-dereference.diff b/touch-no-dereference.diff deleted file mode 100644 index 36a44c5..0000000 --- a/touch-no-dereference.diff +++ /dev/null @@ -1,37 +0,0 @@ -From b03773728e53a83715d338b021f60375aed06bb9 Mon Sep 17 00:00:00 2001 -From: Petr Mladek -Date: Tue, 19 Mar 2013 14:38:58 +0100 -Subject: [PATCH] fix race condition when using hardlinks to deliver into - solver - -We need to use "touch --no-dereference" on the delivered files. -Otherwise, it creates empty target file when you touch symlinks and -delivering the real target file might fail. - -This caused many build failures when delivering: - - liblcms2.so -> liblcms2.so.2.0.4 - liblcms2.so.2 -> liblcms2.so.2.0.4 - liblcms2.so.2.0.4 - -Change-Id: Ibd61815c12e002b495e848a125a959b8524b0935 ---- - solenv/gbuild/Deliver.mk | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/solenv/gbuild/Deliver.mk b/solenv/gbuild/Deliver.mk -index 0f257e5..ab56dab 100644 ---- a/solenv/gbuild/Deliver.mk -+++ b/solenv/gbuild/Deliver.mk -@@ -60,7 +60,7 @@ endif - endef - - define gb_Deliver__deliver --$(if $(gb_Deliver_CLEARONDELIVER),rm -f $(2) &&) $(if $(gb_Deliver_HARDLINK),ln,cp -P -f) $(1) $(2) && touch -r $(1) $(2) -+$(if $(gb_Deliver_CLEARONDELIVER),rm -f $(2) &&) $(if $(gb_Deliver_HARDLINK),ln,cp -P -f) $(1) $(2) && touch --no-dereference -r $(1) $(2) - endef - - ifneq ($(strip $(gb_Deliver_GNUCOPY)),) --- -1.8.1.3 - diff --git a/wizards-create-temlates-with-python-2.6.diff b/wizards-create-temlates-with-python-2.6.diff new file mode 100644 index 0000000..562c866 --- /dev/null +++ b/wizards-create-temlates-with-python-2.6.diff @@ -0,0 +1,65 @@ +From 8a6be8341d0a962d1ec384440ece523607c8b1d5 Mon Sep 17 00:00:00 2001 +From: Petr Mladek +Date: Tue, 14 May 2013 11:25:49 +0200 +Subject: [PATCH] allow to create Letter and Fax templates with python 2.6 + +The localized file type desciptions have non-ascii characters. +The "str" type acceppts only "ascii" characters in python-2.6, + +The string has to be encoded according to the system locale, +otherwise it is broken in non-UTF-* locales. + +Change-Id: I0a138f10ec7c2665c0700918f671fbd5eb674bf6 +--- + wizards/com/sun/star/wizards/common/SystemDialog.py | 21 ++++++++++++++++++++- + 1 file changed, 20 insertions(+), 1 deletion(-) + +diff --git a/wizards/com/sun/star/wizards/common/SystemDialog.py b/wizards/com/sun/star/wizards/common/SystemDialog.py +index ab9b463..aa3426a 100644 +--- a/wizards/com/sun/star/wizards/common/SystemDialog.py ++++ b/wizards/com/sun/star/wizards/common/SystemDialog.py +@@ -15,6 +15,7 @@ + # except in compliance with the License. You may obtain a copy of + # the License at http://www.apache.org/licenses/LICENSE-2.0 . + # ++import locale + import traceback + from .Desktop import Desktop + +@@ -139,6 +140,24 @@ class SystemDialog(object): + traceback.print_exc() + + ''' ++ The original string is in the system encoding but str accepts only "ascii" in python 2.6 ++ This hack is not needed with python-3.0 ++ ''' ++ def createStr(self, sString): ++ try: ++ strString = str(sString) ++ ++ except: ++ try: ++ sCodeSet = locale.nl_langinfo(locale.CODESET) ++ except: ++ sCodeSet = "utf-8" ++ ++ strString = str(sString.encode(sCodeSet)) ++ ++ return strString ++ ++ ''' + note the result should go through conversion of the product name. + @param filterName + @return the UI localized name of the given filter name. +@@ -152,7 +171,7 @@ class SystemDialog(object): + xPropertyValue = list(oObject) + for i in xPropertyValue: + if i is not None and i.Name == "UIName": +- return str(i.Value).replace("%productname%", "LibreOffice") ++ return self.createStr(i.Value).replace("%productname%", "LibreOffice") + + raise NullPointerException( + "UIName property not found for Filter " + filterName); +-- +1.8.1.3 +