import libreoffice-6.0.6.1-13.el8

c8 imports/c8/libreoffice-6.0.6.1-13.el8
CentOS Sources 4 years ago committed by Andrew Lukoshko
commit 8add7f2715

16
.gitignore vendored

@ -0,0 +1,16 @@
SOURCES/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
SOURCES/185d60944ea767075d27247c3162b3bc-unowinreg.dll
SOURCES/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip
SOURCES/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip
SOURCES/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
SOURCES/gpgkey-C2839ECAD9408FBE9531C3E9F434A1EFAFEEAEA3.gpg.asc
SOURCES/libreoffice-6.0.6.1.tar.xz
SOURCES/libreoffice-base-symbolic.svg
SOURCES/libreoffice-calc-symbolic.svg
SOURCES/libreoffice-draw-symbolic.svg
SOURCES/libreoffice-help-6.0.6.1.tar.xz
SOURCES/libreoffice-impress-symbolic.svg
SOURCES/libreoffice-main-symbolic.svg
SOURCES/libreoffice-math-symbolic.svg
SOURCES/libreoffice-translations-6.0.6.1.tar.xz
SOURCES/libreoffice-writer-symbolic.svg

@ -0,0 +1,16 @@
7168b0f40aa5c72267899601c116d2348d2f56ec SOURCES/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
0619ed3a89644bef318df67db12045b2b590585b SOURCES/185d60944ea767075d27247c3162b3bc-unowinreg.dll
1acea86fd399ed7817879d36370d3d1f8b109050 SOURCES/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip
8a90669029e107b61953b90ba11545fef586c2ca SOURCES/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip
2d49e11b0b711970f494294dc3698f05eb294853 SOURCES/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
7b5fd93d787fbc6d9c2d4025d543730ee8dc4559 SOURCES/gpgkey-C2839ECAD9408FBE9531C3E9F434A1EFAFEEAEA3.gpg.asc
7a10bc2e3d39a2b61a507eae30c8b505dcd4f553 SOURCES/libreoffice-6.0.6.1.tar.xz
54fc749ba924f9ca4e0391caaf579ab344302038 SOURCES/libreoffice-base-symbolic.svg
9de544172d736d59589767000c1f657034a5d53d SOURCES/libreoffice-calc-symbolic.svg
0f6dc4726da0920869354fbe4b2924f9ac569b4a SOURCES/libreoffice-draw-symbolic.svg
d453fdf82bf65f79bfbf70986720436ba4d9ed51 SOURCES/libreoffice-help-6.0.6.1.tar.xz
8c74dd667c660cc643c4d715dd50491ba92146d5 SOURCES/libreoffice-impress-symbolic.svg
c77acd04a7647b09745f9424ab0f65d52dfcd397 SOURCES/libreoffice-main-symbolic.svg
3857a55644148eb25ed1a594bd00d1262761fb39 SOURCES/libreoffice-math-symbolic.svg
9dbf1c8f3b373a3ec15e989f86c1a34a7d7aa761 SOURCES/libreoffice-translations-6.0.6.1.tar.xz
d4f0674ad46a832120db956cc01a27fdc2060458 SOURCES/libreoffice-writer-symbolic.svg

@ -0,0 +1,23 @@
From 6deba9b85bc9d5eb4f297ea305bcddfbad0060e1 Mon Sep 17 00:00:00 2001
From: Stephan Bergmann <sbergman@redhat.com>
Date: Tue, 3 Jul 2018 09:30:37 +0200
Subject: [PATCH] Adapt to Python 3
Change-Id: I7c44c23810a79242ec5ddf52a316b4bba7d838ce
---
solenv/bin/pack_images.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/solenv/bin/pack_images.py b/solenv/bin/pack_images.py
index 0f493c8f3035..b66ea34e731c 100755
--- a/solenv/bin/pack_images.py
+++ b/solenv/bin/pack_images.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# -*- tab-width: 4; indent-tabs-mode: nil; py-indent-offset: 4 -*-
#
--
2.17.1

@ -0,0 +1,67 @@
From 811575c105b0a2bc597afda2f84a087199447ae5 Mon Sep 17 00:00:00 2001
Message-Id: <811575c105b0a2bc597afda2f84a087199447ae5.1531842164.git.erack@redhat.com>
From: Stephan Bergmann <sbergman@redhat.com>
Date: Wed, 18 Apr 2018 16:35:55 +0200
Subject: [PATCH] Keep the still relevant part of
external/icu/icu4c-ubsan.patch.1
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------erAck-patch-parts"
This is a multi-part message in MIME format.
--------------erAck-patch-parts
Content-Type: text/plain; charset=UTF-8; format=fixed
Content-Transfer-Encoding: 8bit
...which f247f08e370626bbb427acd8f4a400fd875350a3 "Upgrade to ICU 61.1" had
removed completely, in error.
Change-Id: I7239011561851333cac58e54e4e7d590b8529dbc
---
external/icu/UnpackedTarball_icu.mk | 1 +
external/icu/icu4c-ubsan.patch.1 | 14 ++++++++++++++
2 files changed, 15 insertions(+)
create mode 100644 external/icu/icu4c-ubsan.patch.1
--------------erAck-patch-parts
Content-Type: text/x-patch; name="0001-Keep-the-still-relevant-part-of-external-icu-icu4c-u.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment; filename="0001-Keep-the-still-relevant-part-of-external-icu-icu4c-u.patch"
diff --git a/external/icu/UnpackedTarball_icu.mk b/external/icu/UnpackedTarball_icu.mk
index b81cdaab6242..c789e6eb8d84 100644
--- a/external/icu/UnpackedTarball_icu.mk
+++ b/external/icu/UnpackedTarball_icu.mk
@@ -27,6 +27,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,icu,\
external/icu/icu4c-solarisgcc.patch.1 \
external/icu/icu4c-mkdir.patch.1 \
external/icu/icu4c-$(if $(filter ANDROID,$(OS)),android,rpath).patch.1 \
+ external/icu/icu4c-ubsan.patch.1 \
external/icu/icu4c-icu11100.patch.1 \
external/icu/icu4c-scriptrun.patch.1 \
external/icu/icu4c-rtti.patch.1 \
diff --git a/external/icu/icu4c-ubsan.patch.1 b/external/icu/icu4c-ubsan.patch.1
new file mode 100644
index 000000000000..ea9f13fd85cd
--- /dev/null
+++ b/external/icu/icu4c-ubsan.patch.1
@@ -0,0 +1,14 @@
+diff -ur icu.org/source/common/ubidiimp.h icu/source/common/ubidiimp.h
+--- icu.org/source/common/ubidiimp.h 2017-02-03 19:57:23.000000000 +0100
++++ icu/source/common/ubidiimp.h 2017-04-21 22:46:25.374651159 +0200
+@@ -198,8 +198,8 @@
+ /* in a Run, logicalStart will get this bit set if the run level is odd */
+ #define INDEX_ODD_BIT (1UL<<31)
+
+-#define MAKE_INDEX_ODD_PAIR(index, level) ((index)|((int32_t)(level)<<31))
+-#define ADD_ODD_BIT_FROM_LEVEL(x, level) ((x)|=((int32_t)(level)<<31))
++#define MAKE_INDEX_ODD_PAIR(index, level) ((index)|((uint32_t)(level)<<31))
++#define ADD_ODD_BIT_FROM_LEVEL(x, level) ((x)|=((uint32_t)(level)<<31))
+ #define REMOVE_ODD_BIT(x) ((x)&=~INDEX_ODD_BIT)
+
+ #define GET_INDEX(x) ((x)&~INDEX_ODD_BIT)
--------------erAck-patch-parts--

@ -0,0 +1,94 @@
From 03ab9306c70df34d7824f700d5635e8b458e6d6d Mon Sep 17 00:00:00 2001
From: Stephan Bergmann <sbergman@redhat.com>
Date: Thu, 23 Aug 2018 16:45:34 +0200
Subject: [PATCH 1/5] Related rhbz#1618703: Properly handle failure decoding
master password
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
...when e.g. FIPS mode makes PasswordContainer::DecodePasswords fail by throwing
an exception which needs to be caught in PasswordContainerHelper::addRecord (in
uui/source/passwordcontainer.cxx, but which only catches NoMasterException, not
generic RuntimeException)
Change-Id: I877bb5126e79ac2c90b11ef6d31bf81a2927f409
Reviewed-on: https://gerrit.libreoffice.org/59511
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
(cherry picked from commit e17987f4bd54fec7e0d94bdefdb94809255b3436)
Reviewed-on: https://gerrit.libreoffice.org/59568
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit 24b3d08018b6350d5e60615eb375b337ab1b4f75)
---
svl/source/passwordcontainer/passwordcontainer.cxx | 11 ++++++-----
svl/source/passwordcontainer/passwordcontainer.hxx | 2 +-
2 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/svl/source/passwordcontainer/passwordcontainer.cxx b/svl/source/passwordcontainer/passwordcontainer.cxx
index c2e8b7100028..6d4bb02427ac 100644
--- a/svl/source/passwordcontainer/passwordcontainer.cxx
+++ b/svl/source/passwordcontainer/passwordcontainer.cxx
@@ -417,7 +417,7 @@ void SAL_CALL PasswordContainer::disposing( const EventObject& )
}
}
-std::vector< OUString > PasswordContainer::DecodePasswords( const OUString& aLine, const OUString& aMasterPasswd )
+std::vector< OUString > PasswordContainer::DecodePasswords( const OUString& aLine, const OUString& aMasterPasswd, css::task::PasswordRequestMode mode )
{
if( !aMasterPasswd.isEmpty() )
{
@@ -463,7 +463,8 @@ std::vector< OUString > PasswordContainer::DecodePasswords( const OUString& aLin
// problems with decoding
OSL_FAIL( "Problem with decoding" );
- throw RuntimeException("Can't decode!" );
+ throw css::task::NoMasterException(
+ "Can't decode!", css::uno::Reference<css::uno::XInterface>(), mode);
}
OUString PasswordContainer::EncodePasswords(const std::vector< OUString >& lines, const OUString& aMasterPasswd )
@@ -586,7 +587,7 @@ UserRecord PasswordContainer::CopyToUserRecord( const NamePassRecord& aRecord, b
{
try
{
- ::std::vector< OUString > aDecodedPasswords = DecodePasswords( aRecord.GetPersPasswords(), GetMasterPassword( aHandler ) );
+ ::std::vector< OUString > aDecodedPasswords = DecodePasswords( aRecord.GetPersPasswords(), GetMasterPassword( aHandler ), css::task::PasswordRequestMode_PASSWORD_ENTER );
aPasswords.insert( aPasswords.end(), aDecodedPasswords.begin(), aDecodedPasswords.end() );
}
catch( NoMasterException& )
@@ -848,7 +849,7 @@ OUString const & PasswordContainer::GetMasterPassword( const Reference< XInterac
}
else
{
- std::vector< OUString > aRM( DecodePasswords( aEncodedMP, aPass ) );
+ std::vector< OUString > aRM( DecodePasswords( aEncodedMP, aPass, aRMode ) );
if( aRM.empty() || aPass != aRM[0] )
{
bAskAgain = true;
@@ -1005,7 +1006,7 @@ Sequence< UrlRecord > SAL_CALL PasswordContainer::getAllPersistent( const Refere
{
sal_Int32 oldLen = aUsers.getLength();
aUsers.realloc( oldLen + 1 );
- aUsers[ oldLen ] = UserRecord( aNP.GetUserName(), comphelper::containerToSequence( DecodePasswords( aNP.GetPersPasswords(), GetMasterPassword( xHandler ) ) ) );
+ aUsers[ oldLen ] = UserRecord( aNP.GetUserName(), comphelper::containerToSequence( DecodePasswords( aNP.GetPersPasswords(), GetMasterPassword( xHandler ), css::task::PasswordRequestMode_PASSWORD_ENTER ) ) );
}
if( aUsers.getLength() )
diff --git a/svl/source/passwordcontainer/passwordcontainer.hxx b/svl/source/passwordcontainer/passwordcontainer.hxx
index 67ad63e72722..a1190549eb77 100644
--- a/svl/source/passwordcontainer/passwordcontainer.hxx
+++ b/svl/source/passwordcontainer/passwordcontainer.hxx
@@ -268,7 +268,7 @@ css::task::UrlRecord find(
const css::uno::Reference< css::task::XInteractionHandler >& Handler );
/// @throws css::uno::RuntimeException
- static ::std::vector< OUString > DecodePasswords( const OUString& aLine, const OUString& aMasterPassword );
+ static ::std::vector< OUString > DecodePasswords( const OUString& aLine, const OUString& aMasterPassword, css::task::PasswordRequestMode mode );
/// @throws css::uno::RuntimeException
static OUString EncodePasswords(const std::vector< OUString >& lines, const OUString& aMasterPassword );
--
2.17.1

@ -0,0 +1,74 @@
From 15cdcd0346b7aa98d4697edec8aeea9c810efa62 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Tue, 5 Dec 2017 17:13:28 +0000
Subject: [PATCH] Related: tdf#105998 except cut and paste as bitmap instead of
export
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Take a drawing rectangle in draw and cut and paste as bitmap to writer. The
hairline border along the very right/bottom edge of the bitmap appear missing.
fallback to default handlers which can distort the hairline to be visible
Change-Id: Iedb580f65879628839c83e41092745ae7c11267c
Reviewed-on: https://gerrit.libreoffice.org/45902
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
---
.../source/processor2d/vclpixelprocessor2d.cxx | 25 +++++++++++++++++-----
1 file changed, 20 insertions(+), 5 deletions(-)
diff --git a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
index 9c21c83ee..5c5c0bb 100644
--- a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
@@ -41,6 +41,7 @@
#include "helperwrongspellrenderer.hxx"
#include <drawinglayer/primitive2d/fillhatchprimitive2d.hxx>
#include <basegfx/polygon/b2dpolygontools.hxx>
+#include <basegfx/polygon/b2dpolypolygontools.hxx>
#include <vcl/hatch.hxx>
#include <tools/diagnose_ex.h>
#include <com/sun/star/awt/PosSize.hpp>
@@ -210,10 +211,6 @@ namespace drawinglayer
maBColorModifierStack.getModifiedColor(
rSource.getLineAttribute().getColor()));
- mpOutputDevice->SetFillColor();
- mpOutputDevice->SetLineColor(Color(aLineColor));
- aHairLinePolyPolygon.transform(maCurrentTransformation);
-
double fLineWidth(rSource.getLineAttribute().getWidth());
if(basegfx::fTools::more(fLineWidth, 0.0))
@@ -234,6 +231,24 @@ namespace drawinglayer
fLineWidth = 0.0;
}
+ //Related: tdf#105998 cut and paste as bitmap of shape from draw to
+ //writer. If we are a hairline along the very right/bottom edge of
+ //the canvas then fallback to defaults which can distort the
+ //hairline inside the paintable area
+ if (fLineWidth == 0.0)
+ {
+ Size aSize = mpOutputDevice->GetOutputSize();
+ basegfx::B2DRange aRange = aHairLinePolyPolygon.getB2DRange();
+ basegfx::B2DRange aOutputRange = aRange;
+ aOutputRange.transform(maCurrentTransformation);
+ if (std::round(aOutputRange.getMaxX()) == aSize.Width() || std::round(aOutputRange.getMaxY()) == aSize.Height())
+ return false;
+ }
+
+ mpOutputDevice->SetFillColor();
+ mpOutputDevice->SetLineColor(Color(aLineColor));
+ aHairLinePolyPolygon.transform(maCurrentTransformation);
+
bool bHasPoints(false);
bool bTryWorked(false);
--
2.9.5

@ -0,0 +1,67 @@
From a74837a0e7c7259e4396aa5f05cf1384e256db35 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Mon, 20 Feb 2017 16:04:58 +0000
Subject: [PATCH] Related: tdf#106100 recover mangled svg in presentations
Change-Id: I77b452aa69a8341aa30e1e93d0d5ee8160533095
---
svgio/Module_svgio.mk | 4 ----
svgio/source/svgreader/svgsvgnode.cxx | 27 +++------------------------
2 files changed, 3 insertions(+), 28 deletions(-)
diff --git a/svgio/Module_svgio.mk b/svgio/Module_svgio.mk
index 29ef97d..8b827fc 100644
--- a/svgio/Module_svgio.mk
+++ b/svgio/Module_svgio.mk
@@ -22,8 +22,4 @@ $(eval $(call gb_Module_add_targets,svgio,\
Library_svgio \
))
-$(eval $(call gb_Module_add_check_targets,svgio,\
- CppunitTest_svgio \
-))
-
# vim: set noet ts=4 sw=4:
diff --git a/svgio/source/svgreader/svgsvgnode.cxx b/svgio/source/svgreader/svgsvgnode.cxx
index 7800666..087c621 100644
--- a/svgio/source/svgreader/svgsvgnode.cxx
+++ b/svgio/source/svgreader/svgsvgnode.cxx
@@ -522,32 +522,11 @@ namespace svgio
}
else
{
- // There exists no parent to resolve relative width or height.
- // Use child size as fallback and expand to aspect ratio given
- // by the viewBox. No mapping.
- // We get viewport >= content, therefore no clipping.
- bNeedsMapping = false;
- const basegfx::B2DRange aChildRange(
- aSequence.getB2DRange(
- drawinglayer::geometry::ViewInformation2D()));
- const double fChildWidth(aChildRange.getWidth());
- const double fChildHeight(aChildRange.getHeight());
- const double fLeft(aChildRange.getMinX());
- const double fTop(aChildRange.getMinY());
- if ( fChildWidth / fViewBoxWidth > fChildHeight / fViewBoxHeight )
- { // expand y
- fW = fChildWidth;
- fH = fChildWidth / fViewBoxRatio;
- }
- else
- { // expand x
- fH = fChildHeight;
- fW = fChildHeight * fViewBoxRatio;
- }
- aSvgCanvasRange = basegfx::B2DRange(fLeft, fTop, fLeft + fW, fTop + fH);
+ fW = fViewBoxWidth;
+ fH = fViewBoxHeight;
+ aSvgCanvasRange = basegfx::B2DRange(0.0, 0.0, fW, fH);
}
-
if (bNeedsMapping)
{
// create mapping
--
2.9.3

@ -0,0 +1,26 @@
From b54cfe9d3d22fdd40f7015bd343df8620c983779 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Mon, 27 Mar 2017 11:47:01 +0100
Subject: [PATCH] Resolves: rhbz#1432468 disable opencl by default
Change-Id: Ie037fcabdd219f195425979dd721501fb5527573
---
officecfg/registry/schema/org/openoffice/Office/Common.xcs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
index 946bd32..284d694 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
@@ -5670,7 +5670,7 @@
<desc>Determines whether OpenCL can be used, when available, to speed up
some operations.</desc>
</info>
- <value>true</value>
+ <value>false</value>
</prop>
<prop oor:name="OpenCLBlackList" oor:type="oor:string-list" oor:nillable="false">
<!-- UIHints: Tools - Options General OpenCL -->
--
2.9.3

@ -0,0 +1,40 @@
From f648553dfc356b3c5e6dd77ea96039a9977f00d6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Thu, 8 Nov 2018 10:58:00 +0000
Subject: [PATCH] Resolves: rhbz#1647507 try inputted password as both user and
owner password
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Change-Id: Ibe1fae39d3153238e85400c9645766c260c9290d
Reviewed-on: https://gerrit.libreoffice.org/63080
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit e3ca8385fed93e61efb8200149e06b822a84a47e)
---
sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx
index 16db05afe870..b536a710e832 100644
--- a/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx
+++ b/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx
@@ -101,9 +101,11 @@ int main(int argc, char **argv)
: (ownerPassword[0] != '\001'
? new GooString(ownerPassword)
: nullptr ) );
- GooString* pUserPasswordStr( userPassword[0] != '\001'
+ GooString* pUserPasswordStr( aPwBuf[0] != 0
+ ? new GooString( aPwBuf )
+ : (userPassword[0] != '\001'
? new GooString(userPassword)
- : nullptr );
+ : nullptr ) );
if( outputFile[0] != '\001' )
g_binary_out = fopen(outputFile,"wb");
--
2.17.1

@ -0,0 +1,675 @@
From f247f08e370626bbb427acd8f4a400fd875350a3 Mon Sep 17 00:00:00 2001
Message-Id: <f247f08e370626bbb427acd8f4a400fd875350a3.1531842113.git.erack@redhat.com>
From: Eike Rathke <erack@redhat.com>
Date: Tue, 17 Apr 2018 20:13:52 +0200
Subject: [PATCH] Upgrade to ICU 61.1
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------erAck-patch-parts"
This is a multi-part message in MIME format.
--------------erAck-patch-parts
Content-Type: text/plain; charset=UTF-8; format=fixed
Content-Transfer-Encoding: 8bit
Change-Id: I89c1c3d13d85decc72576744de2a16d20471d29d
Reviewed-on: https://gerrit.libreoffice.org/53064
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Eike Rathke <erack@redhat.com>
---
configure.ac | 4 +-
download.lst | 8 +-
external/icu/UnpackedTarball_icu.mk | 3 +-
...patch.1 => icu4c-61-werror-shadow.patch.1} | 30 ++-
external/icu/icu4c-khmerbreakengine.patch.1 | 246 +++++++++---------
external/icu/icu4c-ubsan.patch.1 | 91 -------
6 files changed, 147 insertions(+), 235 deletions(-)
rename external/icu/{icu4c-59-werror-shadow.patch.1 => icu4c-61-werror-shadow.patch.1} (50%)
delete mode 100644 external/icu/icu4c-ubsan.patch.1
--------------erAck-patch-parts
Content-Type: text/x-patch; name="0001-Upgrade-to-ICU-61.1.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment; filename="0001-Upgrade-to-ICU-61.1.patch"
diff --git a/configure.ac b/configure.ac
index bdc374699cb9..458f9f3c2735 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9001,8 +9001,8 @@ SYSTEM_GENBRK=
SYSTEM_GENCCODE=
SYSTEM_GENCMN=
-ICU_MAJOR=60
-ICU_MINOR=2
+ICU_MAJOR=61
+ICU_MINOR=1
ICU_RECLASSIFIED_PREPEND_SET_EMPTY="TRUE"
ICU_RECLASSIFIED_CONDITIONAL_JAPANESE_STARTER="TRUE"
ICU_RECLASSIFIED_HEBREW_LETTER="TRUE"
diff --git a/download.lst b/download.lst
index 0a1fa65396d1..76f067bff4d7 100644
--- a/download.lst
+++ b/download.lst
@@ -102,10 +102,10 @@ export HUNSPELL_SHA256SUM := 3cd9ceb062fe5814f668e4f22b2fa6e3ba0b339b921739541ce
export HUNSPELL_TARBALL := hunspell-1.6.2.tar.gz
export HYPHEN_SHA256SUM := 304636d4eccd81a14b6914d07b84c79ebb815288c76fe027b9ebff6ff24d5705
export HYPHEN_TARBALL := 5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz
-export ICU_SHA256SUM := f073ea8f35b926d70bb33e6577508aa642a8b316a803f11be20af384811db418
-export ICU_TARBALL := icu4c-60_2-src.tgz
-export ICU_DATA_SHA256SUM := 68f42ad0c9e0a5a5af8eba0577ba100833912288bad6e4d1f42ff480bbcfd4a9
-export ICU_DATA_TARBALL := icu4c-60_2-data.zip
+export ICU_SHA256SUM := d007f89ae8a2543a53525c74359b65b36412fa84b3349f1400be6dcf409fafef
+export ICU_TARBALL := icu4c-61_1-src.tgz
+export ICU_DATA_SHA256SUM := d149ed0985b5a6e16a9d8ed66f105dd58fd334c276779f74241cfa656ed2830a
+export ICU_DATA_TARBALL := icu4c-61_1-data.zip
export JFREEREPORT_FLOW_ENGINE_SHA256SUM := 233f66e8d25c5dd971716d4200203a612a407649686ef3b52075d04b4c9df0dd
export JFREEREPORT_FLOW_ENGINE_TARBALL := ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
export JFREEREPORT_FLUTE_SHA256SUM := 1b5b24f7bc543c0362b667692f78db8bab4ed6dafc6172f104d0bd3757d8a133
diff --git a/external/icu/UnpackedTarball_icu.mk b/external/icu/UnpackedTarball_icu.mk
index a4d0b16ecb36..b81cdaab6242 100644
--- a/external/icu/UnpackedTarball_icu.mk
+++ b/external/icu/UnpackedTarball_icu.mk
@@ -27,15 +27,14 @@ $(eval $(call gb_UnpackedTarball_add_patches,icu,\
external/icu/icu4c-solarisgcc.patch.1 \
external/icu/icu4c-mkdir.patch.1 \
external/icu/icu4c-$(if $(filter ANDROID,$(OS)),android,rpath).patch.1 \
- external/icu/icu4c-ubsan.patch.1 \
external/icu/icu4c-icu11100.patch.1 \
external/icu/icu4c-scriptrun.patch.1 \
external/icu/icu4c-rtti.patch.1 \
external/icu/icu4c-clang-cl.patch.1 \
$(if $(filter-out ANDROID,$(OS)),external/icu/icu4c-icudata-stdlibs.patch.1) \
external/icu/icu4c-khmerbreakengine.patch.1 \
- external/icu/icu4c-59-werror-shadow.patch.1 \
external/icu/ofz4860.patch.2 \
+ external/icu/icu4c-61-werror-shadow.patch.1 \
))
$(eval $(call gb_UnpackedTarball_add_file,icu,source/data/brkitr/khmerdict.dict,external/icu/khmerdict.dict))
diff --git a/external/icu/icu4c-59-werror-shadow.patch.1 b/external/icu/icu4c-61-werror-shadow.patch.1
similarity index 50%
rename from external/icu/icu4c-59-werror-shadow.patch.1
rename to external/icu/icu4c-61-werror-shadow.patch.1
index fb88244aff13..b00f76317eff 100644
--- a/external/icu/icu4c-59-werror-shadow.patch.1
+++ b/external/icu/icu4c-61-werror-shadow.patch.1
@@ -1,33 +1,35 @@
+# https://ssl.icu-project.org/trac/ticket/13709
+# Werror=shadow fails for unistr.h
diff -ur icu.org/source/common/unicode/unistr.h icu/source/common/unicode/unistr.h
---- icu.org/source/common/unicode/unistr.h 2017-03-29 06:44:37.000000000 +0200
-+++ icu/source/common/unicode/unistr.h 2017-04-24 11:59:51.782076511 +0200
-@@ -3080,11 +3080,11 @@
+--- icu.org/source/common/unicode/unistr.h 2018-03-26 15:38:29.000000000 +0200
++++ icu/source/common/unicode/unistr.h 2018-04-18 10:44:16.321188314 +0200
+@@ -3053,11 +3053,11 @@
* uint16_t * constructor.
* Delegates to UnicodeString(const char16_t *, int32_t).
* @param text UTF-16 string
- * @param length string length
-+ * @param length_ string length
- * @draft ICU 59
++ * @param textLength string length
+ * @stable ICU 59
*/
- UnicodeString(const uint16_t *text, int32_t length) :
- UnicodeString(ConstChar16Ptr(text), length) {}
-+ UnicodeString(const uint16_t *text, int32_t length_) :
-+ UnicodeString(ConstChar16Ptr(text), length_) {}
++ UnicodeString(const uint16_t *text, int32_t textLength) :
++ UnicodeString(ConstChar16Ptr(text), textLength) {}
#endif
- /*
-@@ -3097,11 +3097,11 @@
+ #if U_SIZEOF_WCHAR_T==2 || defined(U_IN_DOXYGEN)
+@@ -3066,11 +3066,11 @@
* (Only defined if U_SIZEOF_WCHAR_T==2.)
* Delegates to UnicodeString(const char16_t *, int32_t).
* @param text NUL-terminated UTF-16 string
- * @param length string length
-+ * @param length_ string length
- * @draft ICU 59
++ * @param textLength string length
+ * @stable ICU 59
*/
- UnicodeString(const wchar_t *text, int32_t length) :
- UnicodeString(ConstChar16Ptr(text), length) {}
-+ UnicodeString(const wchar_t *text, int32_t length_) :
-+ UnicodeString(ConstChar16Ptr(text), length_) {}
++ UnicodeString(const wchar_t *text, int32_t textLength) :
++ UnicodeString(ConstChar16Ptr(text), textLength) {}
#endif
- /*
+ /**
diff --git a/external/icu/icu4c-khmerbreakengine.patch.1 b/external/icu/icu4c-khmerbreakengine.patch.1
index 6b45b3743611..9f134dd961b1 100644
--- a/external/icu/icu4c-khmerbreakengine.patch.1
+++ b/external/icu/icu4c-khmerbreakengine.patch.1
@@ -1,16 +1,18 @@
diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp
---- icu.org/source/common/dictbe.cpp 2017-01-20 01:20:31.000000000 +0100
-+++ icu/source/common/dictbe.cpp 2017-04-21 23:14:23.845894374 +0200
-@@ -29,8 +29,17 @@
+--- icu.org/source/common/dictbe.cpp 2018-03-26 15:38:30.000000000 +0200
++++ icu/source/common/dictbe.cpp 2018-04-17 17:55:38.620944919 +0200
+@@ -29,7 +29,19 @@
******************************************************************
*/
--DictionaryBreakEngine::DictionaryBreakEngine(uint32_t breakTypes) {
-+DictionaryBreakEngine::DictionaryBreakEngine(uint32_t breakTypes) :
-+ clusterLimit(3)
-+{
+-DictionaryBreakEngine::DictionaryBreakEngine() {
++DictionaryBreakEngine::DictionaryBreakEngine()
++ : fTypes(0), clusterLimit(0) {
++}
++
++DictionaryBreakEngine::DictionaryBreakEngine(uint32_t breakTypes)
++ : fTypes(breakTypes), clusterLimit(3) {
+ UErrorCode status = U_ZERO_ERROR;
- fTypes = breakTypes;
+ fViramaSet.applyPattern(UNICODE_STRING_SIMPLE("[[:ccc=VR:]]"), status);
+
+ // note Skip Sets contain fIgnoreSet characters too.
@@ -20,16 +22,7 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp
}
DictionaryBreakEngine::~DictionaryBreakEngine() {
-@@ -92,7 +101,7 @@
- result = divideUpDictionaryRange(text, rangeStart, rangeEnd, foundBreaks);
- utext_setNativeIndex(text, current);
- }
--
-+
- return result;
- }
-
-@@ -103,6 +112,169 @@
+@@ -76,6 +88,169 @@
fSet.compact();
}
@@ -199,7 +192,7 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp
/*
******************************************************************
* PossibleWord
-@@ -130,35 +302,35 @@
+@@ -103,35 +278,35 @@
public:
PossibleWord() : count(0), prefix(0), offset(-1), mark(0), current(0) {};
~PossibleWord() {};
@@ -244,7 +237,7 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp
// Dictionary leaves text after longest prefix, not longest word. Back up.
if (count <= 0) {
utext_setNativeIndex(text, start);
-@@ -830,51 +1002,28 @@
+@@ -803,51 +978,28 @@
* KhmerBreakEngine
*/
@@ -265,7 +258,8 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp
-static const int32_t KHMER_MIN_WORD_SPAN = KHMER_MIN_WORD * 2;
-
KhmerBreakEngine::KhmerBreakEngine(DictionaryMatcher *adoptDictionary, UErrorCode &status)
- : DictionaryBreakEngine((1 << UBRK_WORD) | (1 << UBRK_LINE)),
+- : DictionaryBreakEngine(),
++ : DictionaryBreakEngine((1 << UBRK_WORD) | (1 << UBRK_LINE)),
fDictionary(adoptDictionary)
{
- fKhmerWordSet.applyPattern(UNICODE_STRING_SIMPLE("[[:Khmr:]&[:LineBreak=SA:]]"), status);
@@ -301,13 +295,13 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp
- fEndWordSet.compact();
- fBeginWordSet.compact();
-// fSuffixSet.compact();
-+ fIgnoreSet.compact();
-+ fBaseSet.compact();
-+ fPuncSet.compact();
++ fIgnoreSet.compact();
++ fBaseSet.compact();
++ fPuncSet.compact();
}
KhmerBreakEngine::~KhmerBreakEngine() {
-@@ -886,180 +1035,204 @@
+@@ -859,180 +1011,204 @@
int32_t rangeStart,
int32_t rangeEnd,
UVector32 &foundBreaks ) const {
@@ -350,17 +344,6 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp
+ foundBreaks.push(rangeEnd, status);
+ return foundBreaks.size() - wordsFound;
+ }
-+
-+ scanStart = rangeStart;
-+ scanWJ(text, scanStart, rangeEnd, before, after);
-+ if (startZwsp || initAfter >= before) {
-+ after = initAfter;
-+ before = 0;
-+ }
-+ if (!endZwsp && after > finalBefore && after < rangeEnd)
-+ endZwsp = true;
-+ if (endZwsp && before > finalBefore)
-+ before = finalBefore;
- while (U_SUCCESS(status) && (current = (int32_t)utext_getNativeIndex(text)) < rangeEnd) {
- cuWordLength = 0;
@@ -375,7 +358,17 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp
- cpWordLength = words[wordsFound % KHMER_LOOKAHEAD].markedCPLength();
- wordsFound += 1;
- }
--
++ scanStart = rangeStart;
++ scanWJ(text, scanStart, rangeEnd, before, after);
++ if (startZwsp || initAfter >= before) {
++ after = initAfter;
++ before = 0;
++ }
++ if (!endZwsp && after > finalBefore && after < rangeEnd)
++ endZwsp = true;
++ if (endZwsp && before > finalBefore)
++ before = finalBefore;
+
- // If there was more than one, see which one can take us forward the most words
- else if (candidates > 1) {
- // If we're already at the end of the range, we're done
@@ -390,22 +383,6 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp
- words[wordsFound % KHMER_LOOKAHEAD].markCurrent();
- wordsMatched = 2;
- }
--
-- // If we're already at the end of the range, we're done
-- if ((int32_t)utext_getNativeIndex(text) >= rangeEnd) {
-- goto foundBest;
-- }
--
-- // See if any of the possible second words is followed by a third word
-- do {
-- // If we find a third word, stop right away
-- if (words[(wordsFound + 2) % KHMER_LOOKAHEAD].candidates(text, fDictionary, rangeEnd)) {
-- words[wordsFound % KHMER_LOOKAHEAD].markCurrent();
-- goto foundBest;
-- }
-- }
-- while (words[(wordsFound + 1) % KHMER_LOOKAHEAD].backUp(text));
-- }
+ utext_setNativeIndex(text, rangeStart);
+ int32_t numCodePts = rangeEnd - rangeStart;
+ // bestSnlp[i] is the snlp of the best segmentation of the first i
@@ -415,7 +392,11 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp
+ for(int32_t i = 1; i <= numCodePts; i++) {
+ bestSnlp.addElement(kuint32max, status);
+ }
-+
+
+- // If we're already at the end of the range, we're done
+- if ((int32_t)utext_getNativeIndex(text) >= rangeEnd) {
+- goto foundBest;
+- }
+ // prev[i] is the index of the last code point in the previous word in
+ // the best segmentation of the first i characters. Note negative implies
+ // that the code point is part of an unknown word.
@@ -423,7 +404,17 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp
+ for(int32_t i = 0; i <= numCodePts; i++) {
+ prev.addElement(kuint32max, status);
+ }
-+
+
+- // See if any of the possible second words is followed by a third word
+- do {
+- // If we find a third word, stop right away
+- if (words[(wordsFound + 2) % KHMER_LOOKAHEAD].candidates(text, fDictionary, rangeEnd)) {
+- words[wordsFound % KHMER_LOOKAHEAD].markCurrent();
+- goto foundBest;
+- }
+- }
+- while (words[(wordsFound + 1) % KHMER_LOOKAHEAD].backUp(text));
+- }
+ const int32_t maxWordSize = 20;
+ UVector32 values(maxWordSize, status);
+ values.setSize(maxWordSize);
@@ -528,27 +519,17 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp
- if (cuWordLength <= 0) {
- wordsFound += 1;
- }
--
-- // Update the length with the passed-over characters
-- cuWordLength += chars;
-- }
-- else {
-- // Back up to where we were for next iteration
-- utext_setNativeIndex(text, current+cuWordLength);
+ } while (fMarkSet.contains(c) || fIgnoreSet.contains(c));
+ values.setElementAt(BADSNLP, count);
+ lengths.setElementAt(utext_getNativeIndex(text) - currix, count++);
+ } else {
+ values.setElementAt(BADSNLP, count);
+ lengths.setElementAt(1, count++);
- }
- }
++ }
++ }
-- // Never stop before a combining mark.
-- int32_t currPos;
-- while ((currPos = (int32_t)utext_getNativeIndex(text)) < rangeEnd && fMarkSet.contains(utext_current32(text))) {
-- utext_next32(text);
-- cuWordLength += (int32_t)utext_getNativeIndex(text) - currPos;
+- // Update the length with the passed-over characters
+- cuWordLength += chars;
+ for (int32_t j = 0; j < count; j++) {
+ uint32_t v = values.elementAti(j);
+ int32_t newSnlp = bestSnlp.elementAti(i) + v;
@@ -559,7 +540,10 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp
+ ++ln;
+ utext_next32(text);
+ c = utext_current32(text);
-+ }
+ }
+- else {
+- // Back up to where we were for next iteration
+- utext_setNativeIndex(text, current+cuWordLength);
+ int32_t ln_j_i = ln + i; // yes really i!
+ if (newSnlp < bestSnlp.elementAti(ln_j_i)) {
+ if (v == BADSNLP) {
@@ -572,9 +556,38 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp
+ else
+ prev.setElementAt(i, ln_j_i);
+ bestSnlp.setElementAt(newSnlp, ln_j_i);
-+ }
+ }
}
-
+- // Never stop before a combining mark.
+- int32_t currPos;
+- while ((currPos = (int32_t)utext_getNativeIndex(text)) < rangeEnd && fMarkSet.contains(utext_current32(text))) {
+- utext_next32(text);
+- cuWordLength += (int32_t)utext_getNativeIndex(text) - currPos;
++ }
++ // Start pushing the optimal offset index into t_boundary (t for tentative).
++ // prev[numCodePts] is guaranteed to be meaningful.
++ // We'll first push in the reverse order, i.e.,
++ // t_boundary[0] = numCodePts, and afterwards do a swap.
++ UVector32 t_boundary(numCodePts+1, status);
++
++ int32_t numBreaks = 0;
++ // No segmentation found, set boundary to end of range
++ while (numCodePts >= 0 && (uint32_t)bestSnlp.elementAti(numCodePts) == kuint32max) {
++ --numCodePts;
++ }
++ if (numCodePts < 0) {
++ t_boundary.addElement(numCodePts, status);
++ numBreaks++;
++ } else {
++ for (int32_t i = numCodePts; (uint32_t)i != kuint32max; i = prev.elementAti(i)) {
++ if (i < 0) i = -i;
++ t_boundary.addElement(i, status);
++ numBreaks++;
+ }
++ U_ASSERT(prev.elementAti(t_boundary.elementAti(numBreaks - 1)) == 0);
++ }
+
- // Look ahead for possible suffixes if a dictionary word does not follow.
- // We do this in code rather than using a rule so that the heuristic
- // resynch continues to function. For example, one of the suffix characters
@@ -616,30 +629,6 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp
- // Did we find a word on this iteration? If so, push it on the break stack
- if (cuWordLength > 0) {
- foundBreaks.push((current+cuWordLength), status);
-+ }
-+ // Start pushing the optimal offset index into t_boundary (t for tentative).
-+ // prev[numCodePts] is guaranteed to be meaningful.
-+ // We'll first push in the reverse order, i.e.,
-+ // t_boundary[0] = numCodePts, and afterwards do a swap.
-+ UVector32 t_boundary(numCodePts+1, status);
-+
-+ int32_t numBreaks = 0;
-+ // No segmentation found, set boundary to end of range
-+ while (numCodePts >= 0 && (uint32_t)bestSnlp.elementAti(numCodePts) == kuint32max) {
-+ --numCodePts;
-+ }
-+ if (numCodePts < 0) {
-+ t_boundary.addElement(numCodePts, status);
-+ numBreaks++;
-+ } else {
-+ for (int32_t i = numCodePts; (uint32_t)i != kuint32max; i = prev.elementAti(i)) {
-+ if (i < 0) i = -i;
-+ t_boundary.addElement(i, status);
-+ numBreaks++;
-+ }
-+ U_ASSERT(prev.elementAti(t_boundary.elementAti(numBreaks - 1)) == 0);
-+ }
-+
+ // Now that we're done, convert positions in t_boundary[] (indices in
+ // the normalized input string) back to indices in the original input UText
+ // while reversing t_boundary and pushing values to foundBreaks.
@@ -669,38 +658,35 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp
#if !UCONFIG_NO_NORMALIZATION
diff -ur icu.org/source/common/dictbe.h icu/source/common/dictbe.h
---- icu.org/source/common/dictbe.h 2017-01-20 01:20:31.000000000 +0100
-+++ icu/source/common/dictbe.h 2017-04-21 23:14:23.845894374 +0200
-@@ -34,6 +34,15 @@
+--- icu.org/source/common/dictbe.h 2018-03-26 15:38:30.000000000 +0200
++++ icu/source/common/dictbe.h 2018-04-17 14:55:33.307639865 +0200
+@@ -34,7 +34,8 @@
+ * threads without synchronization.</p>
*/
class DictionaryBreakEngine : public LanguageBreakEngine {
- private:
-+
-+ /**
-+ * <p>Default constructor.</p>
-+ *
-+ */
-+ DictionaryBreakEngine();
-+
+- private:
+ protected:
+
/**
* The set of characters handled by this engine
* @internal
-@@ -48,11 +57,63 @@
+@@ -42,14 +43,84 @@
- uint32_t fTypes;
+ UnicodeSet fSet;
+ const int32_t WJ = 0x2060;
+ const int32_t ZWSP = 0x200B;
+
- /**
-- * <p>Default constructor.</p>
-- *
++ /**
++ * The break types it was constructed with
++ * @internal
++ */
++ uint32_t fTypes;
++
++ /**
+ * A Unicode set of all viramas
+ * @internal
- */
-- DictionaryBreakEngine();
++ */
+ UnicodeSet fViramaSet;
+
+ /**
@@ -751,10 +737,26 @@ diff -ur icu.org/source/common/dictbe.h icu/source/common/dictbe.h
+ bool scanAfterEnd(UText *text, int32_t rangeEnd, int32_t& end, bool &doBreak) const;
+ void scanBackClusters(UText *text, int32_t textStart, int32_t& start) const;
+ void scanFwdClusters(UText *text, int32_t textEnd, int32_t& end) const;
-
++
public:
-@@ -83,7 +144,7 @@
+ /**
+- * <p>Constructor </p>
++ * <p>Default constructor.</p>
++ *
+ */
+ DictionaryBreakEngine();
+
+ /**
++ * <p>Constructor with break types.</p>
++ */
++ explicit DictionaryBreakEngine(uint32_t breakTypes);
++
++ /**
+ * <p>Virtual destructor.</p>
+ */
+ virtual ~DictionaryBreakEngine();
+@@ -68,7 +139,7 @@
* <p>Find any breaks within a run in the supplied text.</p>
*
* @param text A UText representing the text. The iterator is left at
@@ -763,7 +765,7 @@ diff -ur icu.org/source/common/dictbe.h icu/source/common/dictbe.h
* that starts from the first character in the range.
* @param startPos The start of the run within the supplied text.
* @param endPos The end of the run within the supplied text.
-@@ -245,118 +306,120 @@
+@@ -218,118 +289,120 @@
};
@@ -997,8 +999,8 @@ diff -ur icu.org/source/common/dictbe.h icu/source/common/dictbe.h
/*******************************************************************
diff -ur icu.org/source/common/dictionarydata.cpp icu/source/common/dictionarydata.cpp
---- icu.org/source/common/dictionarydata.cpp 2017-01-20 01:20:31.000000000 +0100
-+++ icu/source/common/dictionarydata.cpp 2017-04-21 23:14:23.846894372 +0200
+--- icu.org/source/common/dictionarydata.cpp 2018-03-26 15:38:30.000000000 +0200
++++ icu/source/common/dictionarydata.cpp 2018-04-17 14:04:50.775567214 +0200
@@ -44,7 +44,7 @@
int32_t UCharsDictionaryMatcher::matches(UText *text, int32_t maxLength, int32_t limit,
@@ -1046,8 +1048,8 @@ diff -ur icu.org/source/common/dictionarydata.cpp icu/source/common/dictionaryda
if (values != NULL) {
values[wordCount] = bt.getValue();
diff -ur icu.org/source/common/dictionarydata.h icu/source/common/dictionarydata.h
---- icu.org/source/common/dictionarydata.h 2017-01-20 01:20:31.000000000 +0100
-+++ icu/source/common/dictionarydata.h 2017-04-21 23:14:23.846894372 +0200
+--- icu.org/source/common/dictionarydata.h 2018-03-26 15:38:30.000000000 +0200
++++ icu/source/common/dictionarydata.h 2018-04-17 14:04:50.775567214 +0200
@@ -21,6 +21,7 @@
#include "unicode/utext.h"
#include "unicode/udata.h"
@@ -1084,8 +1086,8 @@ diff -ur icu.org/source/common/dictionarydata.h icu/source/common/dictionarydata
private:
UChar32 transform(UChar32 c) const;
diff -ur icu.org/source/data/Makefile.in icu/source/data/Makefile.in
---- icu.org/source/data/Makefile.in 2017-04-21 23:13:03.248087545 +0200
-+++ icu/source/data/Makefile.in 2017-04-21 23:14:23.846894372 +0200
+--- icu.org/source/data/Makefile.in 2018-04-17 12:28:37.098707466 +0200
++++ icu/source/data/Makefile.in 2018-04-17 14:04:50.775567214 +0200
@@ -183,7 +183,7 @@
endif
endif
diff --git a/external/icu/icu4c-ubsan.patch.1 b/external/icu/icu4c-ubsan.patch.1
deleted file mode 100644
index 9f6aa3fbc9f8..000000000000
--- a/external/icu/icu4c-ubsan.patch.1
+++ /dev/null
@@ -1,91 +0,0 @@
-diff -ur icu.org/source/common/rbbidata.h icu/source/common/rbbidata.h
---- icu.org/source/common/rbbidata.h 2017-02-03 19:57:23.000000000 +0100
-+++ icu/source/common/rbbidata.h 2017-04-21 22:46:25.371651160 +0200
-@@ -115,7 +115,7 @@
- /* StatusTable of the set of matching */
- /* tags (rule status values) */
- int16_t fReserved;
-- uint16_t fNextState[2]; /* Next State, indexed by char category. */
-+ uint16_t fNextState[1]; /* Next State, indexed by char category. */
- /* This array does not have two elements */
- /* Array Size is actually fData->fHeader->fCatCount */
- /* CAUTION: see RBBITableBuilder::getTableSize() */
-@@ -128,7 +128,7 @@
- uint32_t fRowLen; /* Length of a state table row, in bytes. */
- uint32_t fFlags; /* Option Flags for this state table */
- uint32_t fReserved; /* reserved */
-- char fTableData[4]; /* First RBBIStateTableRow begins here. */
-+ char fTableData[1]; /* First RBBIStateTableRow begins here. */
- /* (making it char[] simplifies ugly address */
- /* arithmetic for indexing variable length rows.) */
- };
-diff -ur icu.org/source/common/rbbitblb.cpp icu/source/common/rbbitblb.cpp
---- icu.org/source/common/rbbitblb.cpp 2017-01-20 01:20:31.000000000 +0100
-+++ icu/source/common/rbbitblb.cpp 2017-04-21 22:46:25.373651159 +0200
-@@ -1095,15 +1095,15 @@
- return 0;
- }
-
-- size = sizeof(RBBIStateTable) - 4; // The header, with no rows to the table.
-+ size = offsetof(RBBIStateTable, fTableData); // The header, with no rows to the table.
-
- numRows = fDStates->size();
- numCols = fRB->fSetBuilder->getNumCharCategories();
-
-- // Note The declaration of RBBIStateTableRow is for a table of two columns.
-- // Therefore we subtract two from numCols when determining
-+ // Note The declaration of RBBIStateTableRow is for a table of one columns.
-+ // Therefore we subtract one from numCols when determining
- // how much storage to add to a row for the total columns.
-- rowSize = sizeof(RBBIStateTableRow) + sizeof(uint16_t)*(numCols-2);
-+ rowSize = sizeof(RBBIStateTableRow) + sizeof(uint16_t)*(numCols-1);
- size += numRows * rowSize;
- return size;
- }
-@@ -1133,7 +1133,7 @@
- }
-
- table->fRowLen = sizeof(RBBIStateTableRow) +
-- sizeof(uint16_t) * (fRB->fSetBuilder->getNumCharCategories() - 2);
-+ sizeof(uint16_t) * (fRB->fSetBuilder->getNumCharCategories() - 1);
- table->fNumStates = fDStates->size();
- table->fFlags = 0;
- if (fRB->fLookAheadHardBreak) {
-diff -ur icu.org/source/common/ubidiimp.h icu/source/common/ubidiimp.h
---- icu.org/source/common/ubidiimp.h 2017-02-03 19:57:23.000000000 +0100
-+++ icu/source/common/ubidiimp.h 2017-04-21 22:46:25.374651159 +0200
-@@ -198,8 +198,8 @@
- /* in a Run, logicalStart will get this bit set if the run level is odd */
- #define INDEX_ODD_BIT (1UL<<31)
-
--#define MAKE_INDEX_ODD_PAIR(index, level) ((index)|((int32_t)(level)<<31))
--#define ADD_ODD_BIT_FROM_LEVEL(x, level) ((x)|=((int32_t)(level)<<31))
-+#define MAKE_INDEX_ODD_PAIR(index, level) ((index)|((uint32_t)(level)<<31))
-+#define ADD_ODD_BIT_FROM_LEVEL(x, level) ((x)|=((uint32_t)(level)<<31))
- #define REMOVE_ODD_BIT(x) ((x)&=~INDEX_ODD_BIT)
-
- #define GET_INDEX(x) ((x)&~INDEX_ODD_BIT)
-diff -ur icu.org/source/common/ucmndata.cpp icu/source/common/ucmndata.cpp
---- icu.org/source/common/ucmndata.cpp 2017-03-08 16:34:47.000000000 +0100
-+++ icu/source/common/ucmndata.cpp 2017-04-21 22:46:25.376651159 +0200
-@@ -77,7 +77,7 @@
- typedef struct {
- uint32_t count;
- uint32_t reserved;
-- PointerTOCEntry entry[2]; /* Actual size is from count. */
-+ PointerTOCEntry entry[1]; /* Actual size is from count. */
- } PointerTOC;
-
-
-diff -ur icu.org/source/common/ucmndata.h icu/source/common/ucmndata.h
---- icu.org/source/common/ucmndata.h 2017-01-20 01:20:31.000000000 +0100
-+++ icu/source/common/ucmndata.h 2017-04-21 22:46:25.377651159 +0200
-@@ -52,7 +52,7 @@
-
- typedef struct {
- uint32_t count;
-- UDataOffsetTOCEntry entry[2]; /* Actual size of array is from count. */
-+ UDataOffsetTOCEntry entry[1]; /* Actual size of array is from count. */
- } UDataOffsetTOC;
-
- /**
--------------erAck-patch-parts--

@ -0,0 +1,236 @@
From 86dfa34c6d83b70923d462fecad316dafd9a1fc4 Mon Sep 17 00:00:00 2001
Message-Id: <86dfa34c6d83b70923d462fecad316dafd9a1fc4.1531839924.git.erack@redhat.com>
From: Eike Rathke <erack@redhat.com>
Date: Mon, 16 Jul 2018 15:20:32 +0200
Subject: [PATCH] Upgrade to ICU 62.1
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------erAck-patch-parts"
This is a multi-part message in MIME format.
--------------erAck-patch-parts
Content-Type: text/plain; charset=UTF-8; format=fixed
Content-Transfer-Encoding: 8bit
Change-Id: I9426e77aa85cfe068df59db47b8ac50b59cd4eb3
Reviewed-on: https://gerrit.libreoffice.org/57500
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
---
configure.ac | 2 +-
download.lst | 8 +++----
external/icu/UnpackedTarball_icu.mk | 1 -
external/icu/icu4c-mkdir.patch.1 | 6 ++---
external/icu/ofz4860.patch.2 | 25 ---------------------
i18nutil/source/utility/unicode.cxx | 23 +++++++++++++++++++
include/svx/strings.hrc | 11 +++++++++
svx/source/dialog/charmap.cxx | 35 +++++++++++++++++++++++++++++
8 files changed, 77 insertions(+), 34 deletions(-)
delete mode 100644 external/icu/ofz4860.patch.2
--------------erAck-patch-parts
Content-Type: text/x-patch; name="0001-Upgrade-to-ICU-62.1.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment; filename="0001-Upgrade-to-ICU-62.1.patch"
diff --git a/configure.ac b/configure.ac
index 23b3fd4953c9..2fd11a9b3d19 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9066,7 +9066,7 @@ SYSTEM_GENBRK=
SYSTEM_GENCCODE=
SYSTEM_GENCMN=
-ICU_MAJOR=61
+ICU_MAJOR=62
ICU_MINOR=1
ICU_RECLASSIFIED_PREPEND_SET_EMPTY="TRUE"
ICU_RECLASSIFIED_CONDITIONAL_JAPANESE_STARTER="TRUE"
diff --git a/download.lst b/download.lst
index dd3519b74a8d..0d4e974ed105 100644
--- a/download.lst
+++ b/download.lst
@@ -102,10 +102,10 @@ export HUNSPELL_SHA256SUM := 3cd9ceb062fe5814f668e4f22b2fa6e3ba0b339b921739541ce
export HUNSPELL_TARBALL := hunspell-1.6.2.tar.gz
export HYPHEN_SHA256SUM := 304636d4eccd81a14b6914d07b84c79ebb815288c76fe027b9ebff6ff24d5705
export HYPHEN_TARBALL := 5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz
-export ICU_SHA256SUM := d007f89ae8a2543a53525c74359b65b36412fa84b3349f1400be6dcf409fafef
-export ICU_TARBALL := icu4c-61_1-src.tgz
-export ICU_DATA_SHA256SUM := d149ed0985b5a6e16a9d8ed66f105dd58fd334c276779f74241cfa656ed2830a
-export ICU_DATA_TARBALL := icu4c-61_1-data.zip
+export ICU_SHA256SUM := 3dd9868d666350dda66a6e305eecde9d479fb70b30d5b55d78a1deffb97d5aa3
+export ICU_TARBALL := icu4c-62_1-src.tgz
+export ICU_DATA_SHA256SUM := 93bcaf58cfa9223972da79cb8e0f94819ace4995db6041b84f4d9bd810246d1d
+export ICU_DATA_TARBALL := icu4c-62_1-data.zip
export JFREEREPORT_FLOW_ENGINE_SHA256SUM := 233f66e8d25c5dd971716d4200203a612a407649686ef3b52075d04b4c9df0dd
export JFREEREPORT_FLOW_ENGINE_TARBALL := ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
export JFREEREPORT_FLUTE_SHA256SUM := 1b5b24f7bc543c0362b667692f78db8bab4ed6dafc6172f104d0bd3757d8a133
diff --git a/external/icu/UnpackedTarball_icu.mk b/external/icu/UnpackedTarball_icu.mk
index c789e6eb8d84..6800c1fb5ea8 100644
--- a/external/icu/UnpackedTarball_icu.mk
+++ b/external/icu/UnpackedTarball_icu.mk
@@ -34,7 +34,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,icu,\
external/icu/icu4c-clang-cl.patch.1 \
$(if $(filter-out ANDROID,$(OS)),external/icu/icu4c-icudata-stdlibs.patch.1) \
external/icu/icu4c-khmerbreakengine.patch.1 \
- external/icu/ofz4860.patch.2 \
external/icu/icu4c-61-werror-shadow.patch.1 \
))
diff --git a/external/icu/icu4c-mkdir.patch.1 b/external/icu/icu4c-mkdir.patch.1
index 3234f151b677..7de4cf51174c 100644
--- a/external/icu/icu4c-mkdir.patch.1
+++ b/external/icu/icu4c-mkdir.patch.1
@@ -1,10 +1,10 @@
diff -ur icu.org/source/data/Makefile.in icu/source/data/Makefile.in
---- icu.org/source/data/Makefile.in 2016-06-15 20:58:17.000000000 +0200
-+++ icu/source/data/Makefile.in 2017-04-21 22:29:00.747158002 +0200
+--- icu.org/source/data/Makefile.in 2018-06-21 11:39:15.000000000 +0200
++++ icu/source/data/Makefile.in 2018-07-16 13:18:26.928109541 +0200
@@ -367,6 +367,7 @@
ifeq ($(PKGDATA_MODE),dll)
SO_VERSION_DATA = $(OUTTMPDIR)/icudata.res
- $(SO_VERSION_DATA) : $(MISCSRCDIR)/icudata.rc
+ $(SO_VERSION_DATA) : $(MISCSRCDIR)/icudata.rc | build-dir
+ mkdir -p $(OUTTMPDIR)
ifeq ($(MSYS_RC_MODE),1)
rc.exe -i$(srcdir)/../common -i$(top_builddir)/common -fo$@ $(CPPFLAGS) $<
diff --git a/external/icu/ofz4860.patch.2 b/external/icu/ofz4860.patch.2
deleted file mode 100644
index 14114d52878b..000000000000
--- a/external/icu/ofz4860.patch.2
+++ /dev/null
@@ -1,25 +0,0 @@
-From 529ba01ee606940ca273b187be8ce9ba31cf2d90 Mon Sep 17 00:00:00 2001
-From: David Tardon <dtardon@redhat.com>
-Date: Fri, 19 Jan 2018 10:41:02 +0100
-Subject: [PATCH] ofz#4860 fix past-the-end read from array
-
----
- icu4c/source/common/locmap.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/icu4c/source/common/locmap.cpp b/icu4c/source/common/locmap.cpp
-index cbb2b810a..6d62d8310 100644
---- a/icu4c/source/common/locmap.cpp
-+++ b/icu4c/source/common/locmap.cpp
-@@ -1015,7 +1015,7 @@ static const char*
- getPosixID(const ILcidPosixMap *this_0, uint32_t hostID)
- {
- uint32_t i;
-- for (i = 0; i <= this_0->numRegions; i++)
-+ for (i = 0; i < this_0->numRegions; i++)
- {
- if (this_0->regionMaps[i].hostID == hostID)
- {
---
-2.14.3
-
diff --git a/i18nutil/source/utility/unicode.cxx b/i18nutil/source/utility/unicode.cxx
index 6d90b15ca42e..876750d6119d 100644
--- a/i18nutil/source/utility/unicode.cxx
+++ b/i18nutil/source/utility/unicode.cxx
@@ -726,6 +726,29 @@ OString unicode::getExemplarLanguageForUScriptCode(UScriptCode eScript)
case USCRIPT_ZANABAZAR_SQUARE:
sRet = "mn-Zanb"; // abugida to write Mongolian
break;
+#endif
+#if (U_ICU_VERSION_MAJOR_NUM >= 62)
+ case USCRIPT_DOGRA:
+ sRet = "dgo"; // Dogri proper
+ break;
+ case USCRIPT_GUNJALA_GONDI:
+ sRet = "wsg"; // Adilabad Gondi
+ break;
+ case USCRIPT_MAKASAR:
+ sRet = "mak";
+ break;
+ case USCRIPT_MEDEFAIDRIN:
+ sRet = "mis-Medf"; // Uncoded with script
+ break;
+ case USCRIPT_HANIFI_ROHINGYA:
+ sRet = "rhg";
+ break;
+ case USCRIPT_SOGDIAN:
+ sRet = "sog";
+ break;
+ case USCRIPT_OLD_SOGDIAN:
+ sRet = "sog";
+ break;
#endif
}
return sRet;
# Slightly adapted to rawhide/F29 libreoffice-6-0-6
diff --git a/include/svx/strings.hrc b/include/svx/strings.hrc
index 86c2215ac1c4..18fd984a1bd8 100644
--- a/include/svx/strings.hrc
+++ b/include/svx/strings.hrc
@@ -1656,6 +1656,17 @@
#define RID_SUBSETSTR_SOYOMBO NC_("RID_SUBSETMAP", "Soyombo")
#define RID_SUBSETSTR_SYRIAC_SUPPLEMENT NC_("RID_SUBSETMAP", "Syriac Supplement")
#define RID_SUBSETSTR_ZANABAZAR_SQUARE NC_("RID_SUBSETMAP", "Zanabazar Square")
+#define RID_SUBSETSTR_CHESS_SYMBOLS NC_("RID_SUBSETMAP", "Chess Symbols")
+#define RID_SUBSETSTR_DOGRA NC_("RID_SUBSETMAP", "Dogra")
+#define RID_SUBSETSTR_GEORGIAN_EXTENDED NC_("RID_SUBSETMAP", "Georgian Extended")
+#define RID_SUBSETSTR_GUNJALA_GONDI NC_("RID_SUBSETMAP", "Gunjala Gondi")
+#define RID_SUBSETSTR_HANIFI_ROHINGYA NC_("RID_SUBSETMAP", "Hanifi Rohingya")
+#define RID_SUBSETSTR_INDIC_SIYAQ_NUMBERS NC_("RID_SUBSETMAP", "Indic Siyaq Numbers")
+#define RID_SUBSETSTR_MAKASAR NC_("RID_SUBSETMAP", "Makasar")
+#define RID_SUBSETSTR_MAYAN_NUMERALS NC_("RID_SUBSETMAP", "Mayan Numerals")
+#define RID_SUBSETSTR_MEDEFAIDRIN NC_("RID_SUBSETMAP", "Medefaidrin")
+#define RID_SUBSETSTR_OLD_SOGDIAN NC_("RID_SUBSETMAP", "Old Sogdian")
+#define RID_SUBSETSTR_SOGDIAN NC_("RID_SUBSETMAP", "Sogdian")
#endif
diff --git a/svx/source/dialog/charmap.cxx b/svx/source/dialog/charmap.cxx
index 3bf3a01d520f..fcaa955541df 100644
--- a/svx/source/dialog/charmap.cxx
+++ b/svx/source/dialog/charmap.cxx
@@ -1744,6 +1744,41 @@ void SubsetMap::InitList()
aAllSubsets.emplace_back( 0x11A00, 0x11A4F, SvxResId(RID_SUBSETSTR_ZANABAZAR_SQUARE) );
break;
#endif
+#if (U_ICU_VERSION_MAJOR_NUM >= 62)
+ case UBLOCK_CHESS_SYMBOLS:
+ aAllSubsets.emplace_back( 0x1FA00, 0x1FA6F, SvxResId(RID_SUBSETSTR_CHESS_SYMBOLS) );
+ break;
+ case UBLOCK_DOGRA:
+ aAllSubsets.emplace_back( 0x11800, 0x1184F, SvxResId(RID_SUBSETSTR_DOGRA) );
+ break;
+ case UBLOCK_GEORGIAN_EXTENDED:
+ aAllSubsets.emplace_back( 0x1C90, 0x1CBF, SvxResId(RID_SUBSETSTR_GEORGIAN_EXTENDED) );
+ break;
+ case UBLOCK_GUNJALA_GONDI:
+ aAllSubsets.emplace_back( 0x11D60, 0x11DAF, SvxResId(RID_SUBSETSTR_GUNJALA_GONDI) );
+ break;
+ case UBLOCK_HANIFI_ROHINGYA:
+ aAllSubsets.emplace_back( 0x10D00, 0x10D3F, SvxResId(RID_SUBSETSTR_HANIFI_ROHINGYA) );
+ break;
+ case UBLOCK_INDIC_SIYAQ_NUMBERS:
+ aAllSubsets.emplace_back( 0x1EC70, 0x1ECBF, SvxResId(RID_SUBSETSTR_INDIC_SIYAQ_NUMBERS) );
+ break;
+ case UBLOCK_MAKASAR:
+ aAllSubsets.emplace_back( 0x11EE0, 0x11EFF, SvxResId(RID_SUBSETSTR_MAKASAR) );
+ break;
+ case UBLOCK_MAYAN_NUMERALS:
+ aAllSubsets.emplace_back( 0x1D2E0, 0x1D2FF, SvxResId(RID_SUBSETSTR_MAYAN_NUMERALS) );
+ break;
+ case UBLOCK_MEDEFAIDRIN:
+ aAllSubsets.emplace_back( 0x16E40, 0x16E9F, SvxResId(RID_SUBSETSTR_MEDEFAIDRIN) );
+ break;
+ case UBLOCK_OLD_SOGDIAN:
+ aAllSubsets.emplace_back( 0x10F00, 0x10F2F, SvxResId(RID_SUBSETSTR_OLD_SOGDIAN) );
+ break;
+ case UBLOCK_SOGDIAN:
+ aAllSubsets.emplace_back( 0x10F30, 0x10F6F, SvxResId(RID_SUBSETSTR_SOGDIAN) );
+ break;
+#endif
}
--------------erAck-patch-parts--

@ -0,0 +1,43 @@
From 1d3de59ac2d12e42e12c9642bd252236a80b096b Mon Sep 17 00:00:00 2001
Message-Id: <1d3de59ac2d12e42e12c9642bd252236a80b096b.1531842210.git.erack@redhat.com>
From: Eike Rathke <erack@redhat.com>
Date: Tue, 17 Jul 2018 17:37:55 +0200
Subject: [PATCH] Use $(ICU_MAJOR) instead of hard coded (Upgrade to ICU 62.1)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------erAck-patch-parts"
This is a multi-part message in MIME format.
--------------erAck-patch-parts
Content-Type: text/plain; charset=UTF-8; format=fixed
Content-Transfer-Encoding: 8bit
Change-Id: Ifea7072922388b2c0b7631fb809b23e2a5524a3c
---
ios/CustomTarget_iOS_setup.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--------------erAck-patch-parts
Content-Type: text/x-patch; name="0001-Use-ICU_MAJOR-instead-of-hard-coded-Upgrade-to-ICU-6.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment; filename="0001-Use-ICU_MAJOR-instead-of-hard-coded-Upgrade-to-ICU-6.patch"
# Slightly adapted to rawhide/F29 libreoffice-6-0-6
diff --git a/ios/CustomTarget_iOS_setup.mk b/ios/CustomTarget_iOS_setup.mk
index a0d1a18823ab..718bb8b90d46 100644
--- a/ios/CustomTarget_iOS_setup.mk
+++ b/ios/CustomTarget_iOS_setup.mk
@@ -32,7 +32,7 @@ $(IOSGEN)/native-code.h: $(BUILDDIR)/config_host.mk $(SRCDIR)/ios/CustomTarget_iOS_setup.mk
> $(IOSGEN)/native-code.h
# generate resource files used to start/run LibreOffice
- cp $(WORKDIR)/UnpackedTarball/icu/source/data/in/icudt61l.dat $(IOSRES)/icudt61l.dat
+ cp $(WORKDIR)/UnpackedTarball/icu/source/data/in/icudt$(ICU_MAJOR)l.dat $(IOSRES)/icudt$(ICU_MAJOR)l.dat
cp $(INSTDIR)/program/types.rdb $(IOSRES)/udkapi.rdb
cp $(INSTDIR)/program/types/offapi.rdb $(IOSRES)
cp $(INSTDIR)/program/types/oovbaapi.rdb $(IOSRES)
--------------erAck-patch-parts--

@ -0,0 +1,43 @@
From b9dde4a74cba5a771cbc85880d518f6717d19216 Mon Sep 17 00:00:00 2001
Message-Id: <b9dde4a74cba5a771cbc85880d518f6717d19216.1531842189.git.erack@redhat.com>
From: Tor Lillqvist <tml@collabora.com>
Date: Thu, 7 Jun 2018 21:51:14 +0300
Subject: [PATCH] We use ICU 61 now
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------erAck-patch-parts"
This is a multi-part message in MIME format.
--------------erAck-patch-parts
Content-Type: text/plain; charset=UTF-8; format=fixed
Content-Transfer-Encoding: 8bit
Change-Id: I7faf23de08db680599658206faaf3028888563f6
---
ios/CustomTarget_iOS_setup.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--------------erAck-patch-parts
Content-Type: text/x-patch; name="0001-We-use-ICU-61-now.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment; filename="0001-We-use-ICU-61-now.patch"
# Slightly adapted to rawhide/F29 libreoffice-6-0-6
diff --git a/ios/CustomTarget_iOS_setup.mk b/ios/CustomTarget_iOS_setup.mk
index a9f98850c6d8..a0d1a18823ab 100644
--- a/ios/CustomTarget_iOS_setup.mk
+++ b/ios/CustomTarget_iOS_setup.mk
@@ -32,7 +32,7 @@ $(IOSGEN)/native-code.h: $(BUILDDIR)/config_host.mk $(SRCDIR)/ios/CustomTarget_iOS_setup.mk
> $(IOSGEN)/native-code.h
# generate resource files used to start/run LibreOffice
- cp $(WORKDIR)/UnpackedTarball/icu/source/data/in/icudt60l.dat $(IOSRES)/icudt60l.dat
+ cp $(WORKDIR)/UnpackedTarball/icu/source/data/in/icudt61l.dat $(IOSRES)/icudt61l.dat
cp $(INSTDIR)/program/types.rdb $(IOSRES)/udkapi.rdb
cp $(INSTDIR)/program/types/offapi.rdb $(IOSRES)
cp $(INSTDIR)/program/types/oovbaapi.rdb $(IOSRES)
--------------erAck-patch-parts--

@ -0,0 +1,25 @@
From fa5f426359bbe1b6a9c521130bf7bbee2e60f69f Mon Sep 17 00:00:00 2001
From: rpmbuild <rpmbuild@fedoraproject.org>
Date: Wed, 18 Jul 2018 15:31:31 +0100
Subject: [PATCH] foo
---
helpcontent2/to-wiki/wikiconv2.py | 2 --
5 files changed, 7 insertions(+), 12 deletions(-)
diff --git a/helpcontent2/to-wiki/wikiconv2.py b/helpcontent2/to-wiki/wikiconv2.py
index 93f72eb..55ff72f 100755
--- a/helpcontent2/to-wiki/wikiconv2.py
+++ b/helpcontent2/to-wiki/wikiconv2.py
@@ -1071,8 +1071,6 @@ class Item(ElementBase):
sys.stderr.write('Unhandled item type. Possibly type has been localized.\n')
finally:
raise UnhandledItemType
- return replace_text(self.text)
-
class Paragraph(ElementBase):
def __init__(self, attrs, parent):
--
2.14.4

File diff suppressed because it is too large Load Diff

@ -0,0 +1,144 @@
From 613af296887aede8f5b0fa6f94f7fb2781403ef2 Mon Sep 17 00:00:00 2001
From: David Tardon <dtardon@redhat.com>
Date: Thu, 21 Aug 2014 16:10:51 +0200
Subject: [PATCH] disable libe-book support
Change-Id: Ie915a9bd2acf7f3aeb8b0933252da33c17043bc4
---
configure.ac | 3 ---
external/Module_external.mk | 1 -
filter/Configuration_filter.mk | 8 --------
writerperfect/Library_wpftwriter.mk | 2 --
writerperfect/qa/unit/WpftFilterFixture.hxx | 3 ---
writerperfect/qa/unit/WpftWriterFilterTest.cxx | 5 -----
writerperfect/source/writer/wpftwriter.component | 5 -----
7 files changed, 27 deletions(-)
diff --git a/configure.ac b/configure.ac
index ac8dbc5..bb08d21 100644
--- a/configure.ac
+++ b/configure.ac
@@ -7696,9 +7696,6 @@ libo_PKG_VERSION([ETONYEK], [libetonyek-0.1], [0.1.5])
libo_CHECK_SYSTEM_MODULE([libfreehand],[FREEHAND],[libfreehand-0.1])
-libo_CHECK_SYSTEM_MODULE([libebook],[EBOOK],[libe-book-0.1])
-libo_PKG_VERSION([EBOOK], [libe-book-0.1], [0.1.2])
-
libo_CHECK_SYSTEM_MODULE([libabw],[ABW],[libabw-0.1])
libo_CHECK_SYSTEM_MODULE([libpagemaker],[PAGEMAKER],[libpagemaker-0.0])
diff --git a/external/Module_external.mk b/external/Module_external.mk
index 590e216..8f19768 100644
--- a/external/Module_external.mk
+++ b/external/Module_external.mk
@@ -32,7 +32,6 @@ $(eval $(call gb_Module_add_moduledirs,external,\
$(call gb_Helper_optional,CPPUNIT,cppunit) \
$(call gb_Helper_optional,CT2N,ct2n) \
$(call gb_Helper_optional,CURL,curl) \
- $(call gb_Helper_optional,EBOOK,libebook) \
$(call gb_Helper_optional,EPM,epm) \
$(call gb_Helper_optional,EPOXY,epoxy) \
$(call gb_Helper_optional,EPUBGEN,libepubgen) \
diff --git a/filter/Configuration_filter.mk b/filter/Configuration_filter.mk
index 7b39020..588fa01 100644
--- a/filter/Configuration_filter.mk
+++ b/filter/Configuration_filter.mk
@@ -346,10 +346,6 @@ $(eval $(call filter_Configuration_add_types,fcfg_langpack,fcfg_writer_types.xcu
writer_OOXML \
writer_OOXML_Template \
writer_layout_dump_xml \
- writer_BroadBand_eBook \
- writer_FictionBook_2 \
- writer_PalmDoc \
- writer_Plucker_eBook \
writer_ApplePages \
MWAW_Text_Document \
Palm_Text_Document \
@@ -394,10 +390,6 @@ $(eval $(call filter_Configuration_add_filters,fcfg_langpack,fcfg_writer_filters
OOXML_Text \
OOXML_Text_Template \
writer_layout_dump \
- BroadBand_eBook \
- FictionBook_2 \
- PalmDoc \
- Plucker_eBook \
ApplePages \
MWAW_Text_Document \
Palm_Text_Document \
diff --git a/writerperfect/Library_wpftwriter.mk b/writerperfect/Library_wpftwriter.mk
index bf605e7..54a702e 100644
--- a/writerperfect/Library_wpftwriter.mk
+++ b/writerperfect/Library_wpftwriter.mk
@@ -48,7 +48,6 @@ $(eval $(call gb_Library_use_libraries,wpftwriter,\
$(eval $(call gb_Library_use_externals,wpftwriter,\
abw \
boost_headers \
- ebook \
epubgen \
etonyek \
icu_headers \
@@ -67,7 +66,6 @@ $(eval $(call gb_Library_use_externals,wpftwriter,\
$(eval $(call gb_Library_add_exception_objects,wpftwriter,\
writerperfect/source/writer/AbiWordImportFilter \
- writerperfect/source/writer/EBookImportFilter \
writerperfect/source/writer/EPUBExportDialog \
writerperfect/source/writer/EPUBExportFilter \
writerperfect/source/writer/EPUBExportUIComponent \
diff --git a/writerperfect/qa/unit/WpftFilterFixture.hxx b/writerperfect/qa/unit/WpftFilterFixture.hxx
index 14ad4ea..63aff41 100644
--- a/writerperfect/qa/unit/WpftFilterFixture.hxx
+++ b/writerperfect/qa/unit/WpftFilterFixture.hxx
@@ -27,9 +27,6 @@
((minor) > (req_minor) \
|| ((minor) == (req_minor) && ((micro) >= (req_micro)))))
-#define REQUIRE_EBOOK_VERSION(major, minor, micro) \
- REQUIRE_VERSION(EBOOK_VERSION_MAJOR, EBOOK_VERSION_MINOR, EBOOK_VERSION_MICRO, major, minor, micro)
-
#define REQUIRE_ETONYEK_VERSION(major, minor, micro) \
REQUIRE_VERSION(ETONYEK_VERSION_MAJOR, ETONYEK_VERSION_MINOR, ETONYEK_VERSION_MICRO, major, minor, micro)
diff --git a/writerperfect/qa/unit/WpftWriterFilterTest.cxx b/writerperfect/qa/unit/WpftWriterFilterTest.cxx
index 515a2b8..3180a99 100644
--- a/writerperfect/qa/unit/WpftWriterFilterTest.cxx
+++ b/writerperfect/qa/unit/WpftWriterFilterTest.cxx
@@ -31,10 +31,6 @@ WpftWriterFilterTest::WpftWriterFilterTest()
void WpftWriterFilterTest::test()
{
- const writerperfect::test::WpftOptionalMap_t aEBookOptional
- {
- {"FictionBook2.fb2.zip", REQUIRE_EBOOK_VERSION(0, 1, 1)},
- };
const writerperfect::test::WpftOptionalMap_t aEtonyekOptional
{
{"Pages_4.pages", REQUIRE_ETONYEK_VERSION(0, 1, 2)},
@@ -58,7 +54,6 @@ void WpftWriterFilterTest::test()
};
doTest("com.sun.star.comp.Writer.AbiWordImportFilter", "/writerperfect/qa/unit/data/writer/libabw/");
- doTest("org.libreoffice.comp.Writer.EBookImportFilter", "/writerperfect/qa/unit/data/writer/libe-book/", aEBookOptional);
doTest("com.sun.star.comp.Writer.MSWorksImportFilter", "/writerperfect/qa/unit/data/writer/libwps/", aWpsOptional);
doTest("com.sun.star.comp.Writer.MWAWImportFilter", "/writerperfect/qa/unit/data/writer/libmwaw/", aMWAWOptional);
doTest("org.libreoffice.comp.Writer.PagesImportFilter", "/writerperfect/qa/unit/data/writer/libetonyek/", aEtonyekOptional);
diff --git a/writerperfect/source/writer/wpftwriter.component b/writerperfect/source/writer/wpftwriter.component
index 8ab4366..2720023 100644
--- a/writerperfect/source/writer/wpftwriter.component
+++ b/writerperfect/source/writer/wpftwriter.component
@@ -38,11 +38,6 @@
<service name="com.sun.star.document.ExtendedTypeDetection"/>
<service name="com.sun.star.document.ImportFilter"/>
</implementation>
- <implementation name="org.libreoffice.comp.Writer.EBookImportFilter"
- constructor="org_libreoffice_comp_Writer_EBookImportFilter_get_implementation">
- <service name="com.sun.star.document.ExtendedTypeDetection"/>
- <service name="com.sun.star.document.ImportFilter"/>
- </implementation>
<implementation name="org.libreoffice.comp.Writer.PagesImportFilter"
constructor="org_libreoffice_comp_Writer_PagesImportFilter_get_implementation">
<service name="com.sun.star.document.ExtendedTypeDetection"/>
--
2.14.1

@ -0,0 +1,35 @@
From a0e6d2abeed9d64fe7862a7664ba80a6178bf3f2 Mon Sep 17 00:00:00 2001
From: David Tardon <dtardon@redhat.com>
Date: Tue, 8 Nov 2016 11:50:06 +0100
Subject: [PATCH] don't suppress crashes
An automatic restart after a crash makes the crash invisible to abrt.
Change-Id: I3854e619356049b144b08575879d289a3c12e4c9
---
desktop/source/app/app.cxx | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
index 53365f4..3a3bac8 100644
--- a/desktop/source/app/app.cxx
+++ b/desktop/source/app/app.cxx
@@ -1312,14 +1312,12 @@ void Desktop::Exception(ExceptionCategory nCategory)
if( bRestart )
{
RequestHandler::Disable();
- if( pSignalHandler )
- osl_removeSignalHandler( pSignalHandler );
restartOnMac(false);
if ( m_rSplashScreen.is() )
m_rSplashScreen->reset();
- _exit( EXITHELPER_CRASH_WITH_RESTART );
+ return;
}
else
{
--
2.9.3

@ -0,0 +1,74 @@
From 2b69156c43261ceae55eb4d3b644c4c2d73231ba Mon Sep 17 00:00:00 2001
Message-Id: <2b69156c43261ceae55eb4d3b644c4c2d73231ba.1531843216.git.erack@redhat.com>
From: David Tardon <dtardon@redhat.com>
Date: Tue, 6 Mar 2018 15:17:13 +0100
Subject: [PATCH] forcepoint: fix out-of-bounds read in ICU
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------erAck-patch-parts"
This is a multi-part message in MIME format.
--------------erAck-patch-parts
Content-Type: text/plain; charset=UTF-8; format=fixed
Content-Transfer-Encoding: 8bit
Change-Id: I5061d38d0e7df0de9a5c7574d522ce69934e4a24
---
external/icu/UnpackedTarball_icu.mk | 1 +
external/icu/ofz4860.patch.2 | 25 +++++++++++++++++++++++++
2 files changed, 26 insertions(+)
create mode 100644 external/icu/ofz4860.patch.2
--------------erAck-patch-parts
Content-Type: text/x-patch; name="0001-forcepoint-fix-out-of-bounds-read-in-ICU.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment; filename="0001-forcepoint-fix-out-of-bounds-read-in-ICU.patch"
diff --git a/external/icu/UnpackedTarball_icu.mk b/external/icu/UnpackedTarball_icu.mk
index 499650976a55..a4d0b16ecb36 100644
--- a/external/icu/UnpackedTarball_icu.mk
+++ b/external/icu/UnpackedTarball_icu.mk
@@ -35,6 +35,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,icu,\
$(if $(filter-out ANDROID,$(OS)),external/icu/icu4c-icudata-stdlibs.patch.1) \
external/icu/icu4c-khmerbreakengine.patch.1 \
external/icu/icu4c-59-werror-shadow.patch.1 \
+ external/icu/ofz4860.patch.2 \
))
$(eval $(call gb_UnpackedTarball_add_file,icu,source/data/brkitr/khmerdict.dict,external/icu/khmerdict.dict))
diff --git a/external/icu/ofz4860.patch.2 b/external/icu/ofz4860.patch.2
new file mode 100644
index 000000000000..14114d52878b
--- /dev/null
+++ b/external/icu/ofz4860.patch.2
@@ -0,0 +1,25 @@
+From 529ba01ee606940ca273b187be8ce9ba31cf2d90 Mon Sep 17 00:00:00 2001
+From: David Tardon <dtardon@redhat.com>
+Date: Fri, 19 Jan 2018 10:41:02 +0100
+Subject: [PATCH] ofz#4860 fix past-the-end read from array
+
+---
+ icu4c/source/common/locmap.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/icu4c/source/common/locmap.cpp b/icu4c/source/common/locmap.cpp
+index cbb2b810a..6d62d8310 100644
+--- a/icu4c/source/common/locmap.cpp
++++ b/icu4c/source/common/locmap.cpp
+@@ -1015,7 +1015,7 @@ static const char*
+ getPosixID(const ILcidPosixMap *this_0, uint32_t hostID)
+ {
+ uint32_t i;
+- for (i = 0; i <= this_0->numRegions; i++)
++ for (i = 0; i < this_0->numRegions; i++)
+ {
+ if (this_0->regionMaps[i].hostID == hostID)
+ {
+--
+2.14.3
+
--------------erAck-patch-parts--

@ -0,0 +1,26 @@
From cd928ec49d4bcf8f9736c3a07ccd1b3fd5df6ad8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Mon, 25 Sep 2017 11:20:34 +0100
Subject: [PATCH] gtk3 only for >= 3.20
Change-Id: I98008c0028ed5d85fe8770197078360de70010a8
---
vcl/unx/gtk/gtkinst.cxx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/vcl/unx/gtk/gtkinst.cxx b/vcl/unx/gtk/gtkinst.cxx
index e01a267b..7237b6c 100644
--- a/vcl/unx/gtk/gtkinst.cxx
+++ b/vcl/unx/gtk/gtkinst.cxx
@@ -82,7 +82,7 @@ extern "C"
XInitThreads();
#if GTK_CHECK_VERSION(3,0,0)
- if (gtk_minor_version < 14)
+ if (gtk_minor_version < 20)
{
g_warning("require a newer gtk than 3.%d for theme expectations", gtk_minor_version);
return nullptr;
--
2.9.5