mirror of
https://git.yoctoproject.org/poky
synced 2026-04-30 21:32:13 +02:00
ICU: upgrade to 50.1.
Upgrade ICU to 50.1. All unnecessary patches of the previous version are dropped. [YOCTO #3557] (From OE-Core rev: d9e6b45a0abd15b24941d8d04142cd79399424ef) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -1,19 +0,0 @@
|
||||
Upstream-Status: pending
|
||||
|
||||
Fix parallel builds
|
||||
|
||||
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
|
||||
|
||||
Index: source/data/Makefile.in
|
||||
===================================================================
|
||||
--- source.orig/data/Makefile.in 2011-09-02 02:03:37.000000000 +0400
|
||||
+++ source/data/Makefile.in 2011-09-02 02:06:26.000000000 +0400
|
||||
@@ -351,8 +351,8 @@
|
||||
endif
|
||||
|
||||
|
||||
-build-dir: $(BUILD_DIRS)
|
||||
-$(BUILD_DIRS):
|
||||
+$(MAINBUILDDIR) $(BUILD_DIRS): build-dir
|
||||
+build-dir:
|
||||
-$(MKINSTALLDIRS) $(BUILD_DIRS)
|
||||
@@ -1,19 +0,0 @@
|
||||
Fixes an error which prevents compilation
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
|
||||
|
||||
Index: source/layoutex/ParagraphLayout.cpp
|
||||
===================================================================
|
||||
--- source.orig/layoutex/ParagraphLayout.cpp 2009-06-30 11:48:47.000000000 +0100
|
||||
+++ source/layoutex/ParagraphLayout.cpp 2009-06-30 11:49:06.000000000 +0100
|
||||
@@ -798,7 +798,7 @@
|
||||
|
||||
return nullLanguageCode;
|
||||
}
|
||||
-#elif
|
||||
+#else
|
||||
|
||||
// TODO - dummy implementation for right now...
|
||||
le_int32 ParagraphLayout::getLanguageCode(const Locale *locale)
|
||||
@@ -1,43 +0,0 @@
|
||||
Upstream-Status: Inappropriate [version]
|
||||
ICU-3.6 has no pkgconfig, so I add it here.
|
||||
But ICU has had pkgconfig support since 4.6.
|
||||
So this patch is inappropriate to upstream.
|
||||
|
||||
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
|
||||
|
||||
Index: configure.in
|
||||
=============================================================
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -1057,4 +1057,7 @@ echo "This may cause ICU to fail to build. Please make sure that GNU make"
|
||||
echo "is in your PATH so that this configure script can detect its location."
|
||||
fi
|
||||
|
||||
+AC_CONFIG_FILES([icu.pc])
|
||||
+AC_OUTPUT
|
||||
+
|
||||
$as_unset _CXX_CXXSUFFIX
|
||||
|
||||
Index: icu.pc.in
|
||||
=============================================================
|
||||
--- /dev/null
|
||||
+++ b/icu.pc.in
|
||||
@@ -0,0 +1,15 @@
|
||||
+# Process this file with autoconf to produce a pkg-config metadata file.
|
||||
+
|
||||
+prefix=@prefix@
|
||||
+exec_prefix=@exec_prefix@
|
||||
+libdir=@libdir@
|
||||
+includedir=@includedir@
|
||||
+unicode_version=@UNICODE_VERSION@
|
||||
+
|
||||
+Name: ICU
|
||||
+Description: International Component for Unicode libraries
|
||||
+Requires:
|
||||
+Version: @VERSION@
|
||||
+Libs: -L${libdir} -licui18n -licuuc -licudata
|
||||
+Libs.private: -L{libdir} -lpthread -lm
|
||||
+Cflags: -I${includedir} -O2 -pipe -g -feliminate-unused-debug-types
|
||||
--
|
||||
1.7.11.2
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
Allocate a larger memory size for cmd
|
||||
|
||||
The length of the command line can be longer than 1024 sometimes,
|
||||
which will cause a "Segmentation fault" error.
|
||||
|
||||
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
|
||||
|
||||
Upstream-Status: Pending
|
||||
---
|
||||
tools/pkgdata/pkgdata.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tools/pkgdata/pkgdata.c b/tools/pkgdata/pkgdata.c
|
||||
--- a/tools/pkgdata/pkgdata.c
|
||||
+++ b/tools/pkgdata/pkgdata.c
|
||||
@@ -439,7 +439,7 @@ main(int argc, char* argv[]) {
|
||||
/* POSIX - execute makefile */
|
||||
static int executeMakefile(const UPKGOptions *o)
|
||||
{
|
||||
- char cmd[1024];
|
||||
+ char cmd[2048];
|
||||
/*char pwd[1024];*/
|
||||
const char *make;
|
||||
int rc;
|
||||
--
|
||||
1.7.10.2
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
Setting LD_LIBRARY_PATH is a really bad idea when cross compiling. Simplest way
|
||||
to disable this is to rename the variable as per the patch below, then its
|
||||
harmless. This is a hack.
|
||||
|
||||
RP 10/6/2010
|
||||
|
||||
Upstream-Status: Inappropriate [Other]
|
||||
Hacky workaround not likely to be accepted upstream.
|
||||
|
||||
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
|
||||
|
||||
Index: source/config/Makefile.inc.in
|
||||
===================================================================
|
||||
--- source.orig/config/Makefile.inc.in 2010-06-10 21:49:19.000000000 +0100
|
||||
+++ source/config/Makefile.inc.in 2010-06-10 21:49:46.000000000 +0100
|
||||
@@ -126,7 +126,7 @@
|
||||
##################################################################
|
||||
# Environment variable to set a runtime search path
|
||||
# (Overridden when necessary in -mh files)
|
||||
-LDLIBRARYPATH_ENVVAR = LD_LIBRARY_PATH
|
||||
+LDLIBRARYPATH_ENVVAR = LD_LIBRARY_PATH2
|
||||
|
||||
# Versioned target for a shared library
|
||||
FINAL_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION)
|
||||
Index: source/icudefs.mk.in
|
||||
===================================================================
|
||||
--- source.orig/icudefs.mk.in 2010-06-10 21:51:03.000000000 +0100
|
||||
+++ source/icudefs.mk.in 2010-06-10 21:51:09.000000000 +0100
|
||||
@@ -150,7 +150,7 @@
|
||||
SHLIB.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared
|
||||
|
||||
# Environment variable to set a runtime search path
|
||||
-LDLIBRARYPATH_ENVVAR = LD_LIBRARY_PATH
|
||||
+LDLIBRARYPATH_ENVVAR = LD_LIBRARY_PATH2
|
||||
|
||||
# Versioned target for a shared library.
|
||||
FINAL_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION)
|
||||
Index: source/tools/genrb/gendtjar.pl
|
||||
===================================================================
|
||||
--- source.orig/tools/genrb/gendtjar.pl 2010-06-10 21:51:36.000000000 +0100
|
||||
+++ source/tools/genrb/gendtjar.pl 2010-06-10 21:52:03.000000000 +0100
|
||||
@@ -68,8 +68,8 @@
|
||||
$icuLibDir = abs_path($icuBinDir."/../lib");
|
||||
$path .=":$icuBinDir:$icuLibDir";
|
||||
|
||||
- $libpath = $ENV{'LD_LIBRARY_PATH'}.":$icuLibDir";
|
||||
- $ENV{'LD_LIBRARY_PATH'} = $libpath;
|
||||
+ $libpath = $ENV{'LD_LIBRARY_PATH2'}.":$icuLibDir";
|
||||
+ $ENV{'LD_LIBRARY_PATH2'} = $libpath;
|
||||
|
||||
#print ("##### LD_LIBRARY_PATH = $ENV{'LD_LIBRARY_PATH'}\n");
|
||||
|
||||
@@ -1,74 +0,0 @@
|
||||
Use g++ for linking.
|
||||
|
||||
Upstream-Status: Inappropriate [Other]
|
||||
Build system specific
|
||||
|
||||
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
|
||||
|
||||
---
|
||||
tools/genccode/Makefile.in | 2 +-
|
||||
tools/gencmn/Makefile.in | 2 +-
|
||||
tools/genrb/Makefile.in | 2 +-
|
||||
tools/pkgdata/Makefile.in | 2 +-
|
||||
4 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
--- source.orig/tools/genccode/Makefile.in
|
||||
+++ source/tools/genccode/Makefile.in
|
||||
@@ -76,11 +76,11 @@ check-local: all-local
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||
|
||||
$(TARGET) : $(OBJECTS)
|
||||
- $(LINK.c) $(OUTOPT)$@ $^ $(LIBS)
|
||||
+ $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
|
||||
|
||||
|
||||
%.$(SECTION): $(srcdir)/%.$(SECTION).in
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||
--- source.orig/tools/gencmn/Makefile.in
|
||||
+++ source/tools/gencmn/Makefile.in
|
||||
@@ -76,11 +76,11 @@ check-local: all-local
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||
|
||||
$(TARGET) : $(OBJECTS)
|
||||
- $(LINK.c) $(OUTOPT)$@ $^ $(LIBS)
|
||||
+ $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
|
||||
|
||||
%.$(SECTION): $(srcdir)/%.$(SECTION).in
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||
|
||||
--- source.orig/tools/genrb/Makefile.in
|
||||
+++ source/tools/genrb/Makefile.in
|
||||
@@ -84,11 +84,11 @@ Makefile: $(srcdir)/Makefile.in $(top_b
|
||||
|
||||
$(TARGET) : $(OBJECTS)
|
||||
$(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
|
||||
|
||||
$(DERB) : $(DERB_OBJ)
|
||||
- $(LINK.c) $(OUTOPT)$@ $^ $(LIBS)
|
||||
+ $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
|
||||
|
||||
|
||||
# This line is needed to serialize builds when the gmake -j option is used.
|
||||
$(TARGET_STUB_NAME).$(SECTION): $(DERB_STUB_NAME).$(SECTION)
|
||||
|
||||
--- source.orig/tools/pkgdata/Makefile.in
|
||||
+++ source/tools/pkgdata/Makefile.in
|
||||
@@ -81,11 +81,11 @@ check-local: all-local
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||
|
||||
$(TARGET) : $(OBJECTS)
|
||||
- $(LINK.c) $(OUTOPT)$@ $^ $(LIBS)
|
||||
+ $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
|
||||
|
||||
|
||||
%.$(SECTION): $(srcdir)/%.$(SECTION).in
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||
@@ -1,75 +0,0 @@
|
||||
SUMMARY = "International Component for Unicode libraries"
|
||||
DESCRIPTION = "The International Component for Unicode (ICU) is a mature, portable set of C/C++ and Java libraries for Unicode support, software internationalization (I18N) and globalization (G11N), giving applications the same results on all platforms."
|
||||
HOMEPAGE = "http://www-01.ibm.com/software/globalization/icu/index.jsp"
|
||||
|
||||
BASE_SRC_URI = "ftp://ftp.software.ibm.com/software/globalization/icu/3.6/icu4c-3_6-src.tgz \
|
||||
file://gccfix.patch \
|
||||
file://fix-parallel-build.patch \
|
||||
file://use-g++-for-linking.patch \
|
||||
file://larger-cmd-size.patch \
|
||||
file://icu-add-pkgconfig-support.patch \
|
||||
"
|
||||
SRC_URI = "${BASE_SRC_URI} \
|
||||
file://noldlibpath.patch \
|
||||
"
|
||||
SRC_URI_class-native = "${BASE_SRC_URI}"
|
||||
|
||||
LICENSE = "ICU"
|
||||
LIC_FILES_CHKSUM = "file://../license.html;md5=5c94767cedb5d6987c902ac850ded2c6"
|
||||
DEPENDS = "icu-native"
|
||||
DEPENDS_class-native = ""
|
||||
|
||||
S = "${WORKDIR}/icu/source"
|
||||
|
||||
PARALLEL_MAKE = ""
|
||||
FULL_OPTIMIZATION_arm = "-Os"
|
||||
|
||||
inherit autotools pkgconfig binconfig
|
||||
|
||||
do_configure() {
|
||||
libtoolize --force
|
||||
gnu-configize --force
|
||||
if [ "${PN}" != "icu-native" ]; then
|
||||
OLD=`pwd`
|
||||
cd ${S}
|
||||
autoconf
|
||||
cd ${OLD}
|
||||
fi
|
||||
oe_runconf
|
||||
if [ "${PN}" != "icu-native" ]; then
|
||||
# In the non-native case we need to make substitutions to use
|
||||
# the native versions of the tools
|
||||
for i in */Makefile* */*.inc */*/Makefile* */*/*.inc */*/*.inc.in ; do
|
||||
sed -i -e 's:$(INVOKE) $(BINDIR)/:$(INVOKE) :g' $i
|
||||
sed -i -e 's:$(BINDIR)/::g' $i
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
do_compile() {
|
||||
oe_runmake 'CXX=${CXX}'
|
||||
}
|
||||
|
||||
do_install_append() {
|
||||
chmod +x ${D}${libdir}/lib*
|
||||
if [ "${PN}" != "icu-native" ]; then
|
||||
install -d ${D}/${libdir}/pkgconfig
|
||||
install -m 0644 ${S}/icu.pc ${D}/${libdir}/pkgconfig
|
||||
fi
|
||||
}
|
||||
|
||||
PACKAGES =+ "libicudata libicuuc libicui18n libicule libiculx libicutu libicuio"
|
||||
|
||||
FILES_${PN}-dev += "${libdir}/${BPN}/"
|
||||
|
||||
FILES_libicudata = "${libdir}/libicudata.so.*"
|
||||
FILES_libicuuc = "${libdir}/libicuuc.so.*"
|
||||
FILES_libicui18n = "${libdir}/libicui18n.so.*"
|
||||
FILES_libicule = "${libdir}/libicule.so.*"
|
||||
FILES_libiculx = "${libdir}/libiculx.so.*"
|
||||
FILES_libicutu = "${libdir}/libicutu.so.*"
|
||||
FILES_libicuio = "${libdir}/libicuio.so.*"
|
||||
|
||||
BBCLASSEXTEND = "native"
|
||||
|
||||
SSTATE_SCAN_FILES += "Makefile.inc"
|
||||
52
meta/recipes-support/icu/icu.inc
Normal file
52
meta/recipes-support/icu/icu.inc
Normal file
@@ -0,0 +1,52 @@
|
||||
SUMMARY = "International Component for Unicode libraries"
|
||||
DESCRIPTION = "The International Component for Unicode (ICU) is a mature, portable set of C/C++ and Java libraries for Unicode support, software internationalization (I18N) and globalization (G11N), giving applications the same results on all platforms."
|
||||
HOMEPAGE = "http://site.icu-project.org/"
|
||||
|
||||
LICENSE = "ICU"
|
||||
DEPENDS = "icu-native"
|
||||
DEPENDS_class-native = ""
|
||||
|
||||
S = "${WORKDIR}/icu/source"
|
||||
STAGING_ICU_SOURCE_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/icu"
|
||||
|
||||
PARALLEL_MAKE = ""
|
||||
FULL_OPTIMIZATION_arm = "-Os"
|
||||
|
||||
inherit autotools pkgconfig binconfig
|
||||
|
||||
# ICU needs the native build directory as an argument to its --with-cross-build option when
|
||||
# cross-compiling. Taken the situation that different builds may share a common sstate-cache
|
||||
# into consideration, the native build directory needs to be staged.
|
||||
EXTRA_OECONF = "--with-cross-build=${STAGING_DATADIR_NATIVE}/icu/source"
|
||||
EXTRA_OECONF_class-native = ""
|
||||
|
||||
# ICU puts custom m4 autoconf functions in aclocal.m4.
|
||||
# However, this file is deleted in our build system.
|
||||
# To make it work, we copy aclocal.m4 to acinclude.m4.
|
||||
# This is a bug of ICU. See bug reference:
|
||||
# http://bugs.icu-project.org/trac/ticket/9790
|
||||
do_configure_prepend() {
|
||||
[ -f acinclude.m4 ] || cp aclocal.m4 acinclude.m4
|
||||
}
|
||||
|
||||
do_install_append() {
|
||||
if [ ${PN} == 'icu-native' ]; then
|
||||
mkdir -p ${D}/${STAGING_ICU_SOURCE_DIR_NATIVE}
|
||||
cp -r ${S} ${D}/${STAGING_ICU_SOURCE_DIR_NATIVE}
|
||||
fi
|
||||
}
|
||||
|
||||
PACKAGES =+ "libicudata libicuuc libicui18n libicule libiculx libicutu libicuio"
|
||||
|
||||
FILES_${PN}-dev += "${libdir}/${BPN}/"
|
||||
|
||||
FILES_libicudata = "${libdir}/libicudata.so.*"
|
||||
FILES_libicuuc = "${libdir}/libicuuc.so.*"
|
||||
FILES_libicui18n = "${libdir}/libicui18n.so.*"
|
||||
FILES_libicule = "${libdir}/libicule.so.*"
|
||||
FILES_libiculx = "${libdir}/libiculx.so.*"
|
||||
FILES_libicutu = "${libdir}/libicutu.so.*"
|
||||
FILES_libicuio = "${libdir}/libicuio.so.*"
|
||||
|
||||
BBCLASSEXTEND = "native"
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
require icu-3.6.inc
|
||||
|
||||
PR = "r10"
|
||||
|
||||
SRC_URI[md5sum] = "6243f7a19e03e05403ce84e597510d4c"
|
||||
SRC_URI[sha256sum] = "5135e8d69d6206d320515df7aeee7027711ab1aef9d8dbf29571a97a9746b041"
|
||||
11
meta/recipes-support/icu/icu_50.1.bb
Normal file
11
meta/recipes-support/icu/icu_50.1.bb
Normal file
@@ -0,0 +1,11 @@
|
||||
require icu.inc
|
||||
|
||||
LIC_FILES_CHKSUM = "file://../license.html;md5=4ee45701e87d34303281978e3b78ecda"
|
||||
|
||||
PR = "r1"
|
||||
|
||||
BASE_SRC_URI = "http://download.icu-project.org/files/icu4c/50.1/icu4c-50_1-src.tgz"
|
||||
SRC_URI = "${BASE_SRC_URI}"
|
||||
|
||||
SRC_URI[md5sum] = "cf7bf9e56aa6c2057a8b6f464046483e"
|
||||
SRC_URI[sha256sum] = "68592b3c07d9b86100f41d0172eb1a81f3ffb2a8fef1104d7395099079ba7350"
|
||||
Reference in New Issue
Block a user