aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/libreoffice.scm42
-rw-r--r--gnu/packages/patches/libreoffice-icu.patch126
3 files changed, 144 insertions, 25 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index f98e741c1e..310fad5b10 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -869,6 +869,7 @@ dist_patch_DATA = \
%D%/packages/patches/libmad-mips-newgcc.patch \
%D%/packages/patches/libmygpo-qt-fix-qt-5.11.patch \
%D%/packages/patches/libmygpo-qt-missing-qt5-modules.patch \
+ %D%/packages/patches/libreoffice-icu.patch \
%D%/packages/patches/libsndfile-armhf-type-checks.patch \
%D%/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch \
%D%/packages/patches/libsndfile-CVE-2017-8362.patch \
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index 2f48522473..33ecdc47f0 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -896,7 +896,7 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
(define-public libreoffice
(package
(name "libreoffice")
- (version "5.4.7.2")
+ (version "6.0.5.1")
(source
(origin
(method url-fetch)
@@ -906,7 +906,8 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
(version-prefix version 3) "/libreoffice-" version ".tar.xz"))
(sha256
(base32
- "0s9s4nhp2whwxis54jbxrf1dwpnpl95b9781d1pdj4xk5z9v90fv"))))
+ "0vnmb231hyhxm7klaqd8vp3rmvix145bq8iqzv19jgl1yaqkxl21"))
+ (patches (search-patches "libreoffice-icu.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("bison" ,bison)
@@ -938,6 +939,7 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
("libcmis" ,libcmis)
("libjpeg-turbo" ,libjpeg-turbo)
("libe-book" ,libe-book)
+ ("libepubgen" ,libepubgen)
("libetonyek" ,libetonyek)
("libexttextcat" ,libexttextcat)
("libfreehand" ,libfreehand)
@@ -948,6 +950,7 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
("libmwaw" ,libmwaw)
("libodfgen" ,libodfgen)
("libpagemaker" ,libpagemaker)
+ ("libqxp" ,libqxp)
("libstaroffice" ,libstaroffice)
("libvisio" ,libvisio)
("libwpg" ,libwpg)
@@ -985,34 +988,23 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
(modify-phases %standard-phases
(add-before 'configure 'prepare-src
(lambda* (#:key inputs #:allow-other-keys)
- (let ((gpgme (assoc-ref inputs "gpgme")))
- (substitute*
- "sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx"
- ;; This header was renamed in Poppler 0.62.0.
- (("UTF8.h") "UnicodeMapFuncs.h")
- ;; And mapUCS2() was renamed to mapUTF16().
- (("UCS2") "UTF16"))
- (substitute*
+ (substitute*
(list "sysui/CustomTarget_share.mk"
"solenv/gbuild/gbuild.mk"
"solenv/gbuild/platform/unxgcc.mk")
- (("/bin/sh") (which "sh")))
+ (("/bin/sh") (which "sh")))
- ;; GPGME++ headers are installed in a gpgme++ subdirectory,
- ;; but files in "xmlsecurity/source/gpg/" expect to find them
- ;; on the include path without a prefix.
- (substitute* "xmlsecurity/Library_xsec_xmlsec.mk"
- (("\\$\\$\\(INCLUDE\\)")
- (string-append "$$(INCLUDE) -I" gpgme "/include/gpgme++")))
+ ;; GPGME++ headers are installed in a gpgme++ subdirectory, but
+ ;; files in "xmlsecurity/source/gpg/" and elsewhere expect to
+ ;; find them on the include path without a prefix.
+ (substitute* '("xmlsecurity/Library_xsec_xmlsec.mk"
+ "comphelper/Library_comphelper.mk")
+ (("\\$\\$\\(INCLUDE\\)")
+ (string-append "$$(INCLUDE) -I"
+ (assoc-ref inputs "gpgme")
+ "/include/gpgme++")))
- ;; XXX: When GTK2 is disabled, one header file is not included.
- ;; This is likely fixed in later versions. See also
- ;; <https://bugs.gentoo.org/641812>.
- (substitute* "vcl/unx/gtk3/gtk3gtkframe.cxx"
- (("#include <unx/gtk/gtkgdi.hxx>")
- "#include <unx/gtk/gtkgdi.hxx>\n#include <unx/gtk/gtksalmenu.hxx>"))
-
- #t)))
+ #t))
(add-after 'install 'bin-and-desktop-install
;; Create 'soffice' and 'libreoffice' symlinks to the executable
;; script.
diff --git a/gnu/packages/patches/libreoffice-icu.patch b/gnu/packages/patches/libreoffice-icu.patch
new file mode 100644
index 0000000000..2985d564aa
--- /dev/null
+++ b/gnu/packages/patches/libreoffice-icu.patch
@@ -0,0 +1,126 @@
+This patch fixes the build of Libreoffice 6.0.5 with icu 61.1.
+It was downloaded from https://bugs.gentoo.org/651702.
+
+--- a/forms/source/xforms/datatypes.hxx
++++ a/forms/source/xforms/datatypes.hxx
+@@ -36,6 +36,8 @@
+
+ #include <memory>
+
++using icu::RegexMatcher;
++
+
+ namespace xforms
+ {
+--- a/i18npool/inc/collator_unicode.hxx
++++ a/i18npool/inc/collator_unicode.hxx
+@@ -26,6 +26,8 @@
+
+ #include <unicode/tblcoll.h>
+
++using icu::RuleBasedCollator;
++
+ // ----------------------------------------------------
+ // class Collator_Unicode
+ // ----------------------------------------------------
+--- a/i18npool/source/breakiterator/breakiterator_unicode.cxx
++++ a/i18npool/source/breakiterator/breakiterator_unicode.cxx
+@@ -30,6 +30,9 @@
+ #include <rtl/ustring.hxx>
+ #include <string.h>
+
++using icu::BreakIterator;
++using icu::RuleBasedBreakIterator;
++
+ U_CDECL_BEGIN
+ extern const char OpenOffice_dat[];
+ U_CDECL_END
+--- a/i18npool/source/collator/collator_unicode.cxx
++++ a/i18npool/source/collator/collator_unicode.cxx
+@@ -29,6 +29,8 @@
+ #include <com/sun/star/i18n/CollatorOptions.hpp>
+ #include <cppuhelper/supportsservice.hxx>
+
++using icu::Collator;
++
+ using namespace ::com::sun::star;
+ using namespace ::com::sun::star::i18n;
+ using namespace ::com::sun::star::lang;
+--- a/i18npool/source/collator/gencoll_rule.cxx
++++ a/i18npool/source/collator/gencoll_rule.cxx
+@@ -31,6 +31,8 @@
+
+ #include <unicode/tblcoll.h>
+
++using icu::RuleBasedCollator;
++
+ /* Main Procedure */
+
+ void data_write(char* file, char* name, sal_uInt8 *data, sal_Int32 len)
+--- a/i18npool/source/ordinalsuffix/ordinalsuffix.cxx
++++ a/i18npool/source/ordinalsuffix/ordinalsuffix.cxx
+@@ -29,6 +29,8 @@
+ #include <unicode/normlzr.h>
+ #include <memory>
+
++using icu::NumberFormat;
++
+ using namespace ::com::sun::star::i18n;
+ using namespace ::com::sun::star::uno;
+ using namespace ::com::sun::star;
+--- a/i18npool/source/transliteration/ignoreDiacritics_CTL.cxx
++++ a/i18npool/source/transliteration/ignoreDiacritics_CTL.cxx
+@@ -12,6 +12,8 @@
+ #include <unicode/translit.h>
+ #include <unicode/uchar.h>
+
++using icu::UnicodeString;
++
+ namespace i18npool {
+
+ ignoreDiacritics_CTL::ignoreDiacritics_CTL()
+--- a/i18nutil/source/utility/unicode.cxx
++++ a/i18nutil/source/utility/unicode.cxx
+@@ -34,6 +34,9 @@
+ // which (obviously) breaks UnicodeType::CURRENCY_SYMBOL
+ #undef CURRENCY_SYMBOL
+
++using icu::NumberFormat;
++using icu::UnicodeString;
++
+ using namespace ::com::sun::star::i18n;
+
+ template<class L, typename T>
+--- a/lotuswordpro/source/filter/localtime.cxx
++++ a/lotuswordpro/source/filter/localtime.cxx
+@@ -57,6 +57,8 @@
+ #include <limits.h>
+ #include <unicode/timezone.h>
+
++using icu::TimeZone;
++
+ const long DAY_SEC =24 * 60 * 60;
+ const long YEAR_SEC = 365 * DAY_SEC;
+ const long FOURYEAR_SEC = 4 * YEAR_SEC + DAY_SEC;
+--- a/opencl/source/openclconfig.cxx
++++ a/opencl/source/openclconfig.cxx
+@@ -17,6 +17,8 @@
+ #include <sal/log.hxx>
+ #include <sal/types.h>
+
++using icu::RegexMatcher;
++
+ OpenCLConfig::OpenCLConfig() :
+ mbUseOpenCL(true)
+ {
+--- a/vcl/inc/scrptrun.h
++++ a/vcl/inc/scrptrun.h
+@@ -45,6 +45,8 @@
+ #include <unicode/uscript.h>
+ #include <vector>
+
++using icu::UObject;
++
+ namespace vcl {
+
+ struct ParenStackEntry