You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/app-office/libreoffice/files/libreoffice-3.5.2-icu-49.patch

88 lines
3.7 KiB

From ba3550bc82b8fb697b905c9913e399e1835b7cc0 Mon Sep 17 00:00:00 2001
From: Eike Rathke <erack@redhat.com>
Date: Tue, 03 Apr 2012 14:15:48 +0000
Subject: as of ICU 4.9 RBBI the Prepend property is empty
Backport of 43084e8b30c101a44510b7a8267d5c2b316a17bb
* config_host.mk doesn't exist, instead changes to set_soenv.in
* i18npool/CustomTarget_breakiterator.mk doesn't exist, instead same changes
to i18npool/source/breakiterator/Makefile
* char.txt and char_in.txt unchanged
Signed-off-by: Tomáš Chvátal <tomas.chvatal@gmail.com>
---
diff --git a/configure.in b/configure.in
index ea959e6..8e45756 100644
--- a/configure.in
+++ b/configure.in
@@ -6162,6 +6162,7 @@ ICU_MAJOR=
ICU_MINOR=
ICU_MICRO=
ICU_RECLASSIFIED_CLOSE_PARENTHESIS=
+ICU_RECLASSIFIED_PREPEND_SET_EMPTY=
AC_MSG_CHECKING([which icu to use])
if test "$with_system_icu" = "yes"; then
AC_MSG_RESULT([external])
@@ -6207,6 +6208,9 @@ if test "$with_system_icu" = "yes"; then
if test "$ICU_MAJOR" -ge "5" -o "$ICU_MAJOR" = "4" -a "$ICU_MINOR" -ge "4"; then
ICU_RECLASSIFIED_CLOSE_PARENTHESIS="YES"
fi
+ if test "$ICU_MAJOR" -ge "5" -o "$ICU_MAJOR" = "4" -a "$ICU_MINOR" -ge "9"; then
+ ICU_RECLASSIFIED_PREPEND_SET_EMPTY="YES"
+ fi
fi
MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS icui18n$ICU_MAJOR$ICU_MINOR.dll icuuc$ICU_MAJOR$ICU_MINOR.dll icudata$ICU_MAJOR$ICU_MINOR.dll"
@@ -6214,6 +6218,7 @@ else
AC_MSG_RESULT([internal])
SYSTEM_ICU="NO"
ICU_RECLASSIFIED_CLOSE_PARENTHESIS="YES"
+ # ICU_RECLASSIFIED_PREPEND_SET_EMPTY not applied for our internal ICU 4.4.2
BUILD_TYPE="$BUILD_TYPE ICU"
fi
AC_SUBST(SYSTEM_ICU)
@@ -6224,6 +6229,7 @@ AC_SUBST(ICU_MAJOR)
AC_SUBST(ICU_MINOR)
AC_SUBST(ICU_MICRO)
AC_SUBST(ICU_RECLASSIFIED_CLOSE_PARENTHESIS)
+AC_SUBST(ICU_RECLASSIFIED_PREPEND_SET_EMPTY)
dnl ===================================================================
dnl Graphite
diff --git a/i18npool/source/breakiterator/Makefile b/i18npool/source/breakiterator/Makefile
index b34217a..6aed8b2 100644
--- a/i18npool/source/breakiterator/Makefile
+++ b/i18npool/source/breakiterator/Makefile
@@ -83,10 +83,16 @@ OpenOffice_dat.c : $(subst .brk,_brk.c,$(BRKFILES))
%.brk : %.txt.p
$(GENBRK) -r $< -o $@
-# fdo#31271 ")" reclassified in more recent ICU/Unicode Standards
+# fdo#31271 ")" reclassified in more recent Unicode Standards / ICU 4.4
+# Prepend set empty as of Unicode Version 6.1 / ICU 4.9, which bails out if used.
+# NOTE: strips every line with _word_ 'Prepend', including $Prepend
%.txt.p : $(realpath $(SRC_ROOT)/i18npool/source/breakiterator/data)/%.txt
ifeq ($(ICU_RECLASSIFIED_CLOSE_PARENTHESIS),YES)
+ifeq ($(ICU_RECLASSIFIED_PREPEND_SET_EMPTY),YES)
+ sed "s#\[:LineBreak = Close_Punctuation:\]#\[\[:LineBreak = Close_Punctuation:\] \[:LineBreak = Close_Parenthesis:\]\]#;/\<Prepend\>/d" $< > $@
+else
sed "s#\[:LineBreak = Close_Punctuation:\]#\[\[:LineBreak = Close_Punctuation:\] \[:LineBreak = Close_Parenthesis:\]\]#" $< > $@
+endif
else
cp $< $@
endif
diff --git a/set_soenv.in b/set_soenv.in
index 3dc9cfa..a8561cd 100755
--- a/set_soenv.in
+++ b/set_soenv.in
@@ -1881,6 +1881,7 @@ ToFile( "ICU_MAJOR", "@ICU_MAJOR@", "e" );
ToFile( "ICU_MINOR", "@ICU_MINOR@", "e" );
ToFile( "ICU_MICRO", "@ICU_MICRO@", "e" );
ToFile( "ICU_RECLASSIFIED_CLOSE_PARENTHESIS", "@ICU_RECLASSIFIED_CLOSE_PARENTHESIS@", "e" );
+ToFile( "ICU_RECLASSIFIED_PREPEND_SET_EMPTY", "@ICU_RECLASSIFIED_PREPEND_SET_EMPTY@", "e" );
ToFile( "SYSTEM_GENBRK", "@SYSTEM_GENBRK@", "e" );
ToFile( "SYSTEM_GENCCODE", "@SYSTEM_GENCCODE@", "e" );
ToFile( "SYSTEM_GENCMN", "@SYSTEM_GENCMN@", "e" );
--
cgit v0.9.0.2-2-gbebe