From d9e6b45a0abd15b24941d8d04142cd79399424ef Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Tue, 18 Dec 2012 13:58:36 +0800 Subject: ICU: upgrade to 50.1. Upgrade ICU to 50.1. All unnecessary patches of the previous version are dropped. [YOCTO #3557] Signed-off-by: Chen Qi Signed-off-by: Saul Wold --- .../icu/files/fix-parallel-build.patch | 19 ------ meta/recipes-support/icu/files/gccfix.patch | 19 ------ .../icu/files/icu-add-pkgconfig-support.patch | 43 ------------- .../icu/files/larger-cmd-size.patch | 27 -------- meta/recipes-support/icu/files/noldlibpath.patch | 52 --------------- .../icu/files/use-g++-for-linking.patch | 74 --------------------- meta/recipes-support/icu/icu-3.6.inc | 75 ---------------------- meta/recipes-support/icu/icu.inc | 52 +++++++++++++++ meta/recipes-support/icu/icu_3.6.bb | 6 -- meta/recipes-support/icu/icu_50.1.bb | 11 ++++ 10 files changed, 63 insertions(+), 315 deletions(-) delete mode 100644 meta/recipes-support/icu/files/fix-parallel-build.patch delete mode 100644 meta/recipes-support/icu/files/gccfix.patch delete mode 100644 meta/recipes-support/icu/files/icu-add-pkgconfig-support.patch delete mode 100644 meta/recipes-support/icu/files/larger-cmd-size.patch delete mode 100644 meta/recipes-support/icu/files/noldlibpath.patch delete mode 100644 meta/recipes-support/icu/files/use-g++-for-linking.patch delete mode 100644 meta/recipes-support/icu/icu-3.6.inc create mode 100644 meta/recipes-support/icu/icu.inc delete mode 100644 meta/recipes-support/icu/icu_3.6.bb create mode 100644 meta/recipes-support/icu/icu_50.1.bb diff --git a/meta/recipes-support/icu/files/fix-parallel-build.patch b/meta/recipes-support/icu/files/fix-parallel-build.patch deleted file mode 100644 index 5b01a4c26c..0000000000 --- a/meta/recipes-support/icu/files/fix-parallel-build.patch +++ /dev/null @@ -1,19 +0,0 @@ -Upstream-Status: pending - -Fix parallel builds - -Signed-off-by: Dmitry Eremin-Solenikov - -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) diff --git a/meta/recipes-support/icu/files/gccfix.patch b/meta/recipes-support/icu/files/gccfix.patch deleted file mode 100644 index 755341f186..0000000000 --- a/meta/recipes-support/icu/files/gccfix.patch +++ /dev/null @@ -1,19 +0,0 @@ -Fixes an error which prevents compilation - -Upstream-Status: Pending - -Signed-off-by: Scott Garman - -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) diff --git a/meta/recipes-support/icu/files/icu-add-pkgconfig-support.patch b/meta/recipes-support/icu/files/icu-add-pkgconfig-support.patch deleted file mode 100644 index c7cd9d5d7e..0000000000 --- a/meta/recipes-support/icu/files/icu-add-pkgconfig-support.patch +++ /dev/null @@ -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 - -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 - diff --git a/meta/recipes-support/icu/files/larger-cmd-size.patch b/meta/recipes-support/icu/files/larger-cmd-size.patch deleted file mode 100644 index 74a84f17ba..0000000000 --- a/meta/recipes-support/icu/files/larger-cmd-size.patch +++ /dev/null @@ -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 - -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 - diff --git a/meta/recipes-support/icu/files/noldlibpath.patch b/meta/recipes-support/icu/files/noldlibpath.patch deleted file mode 100644 index 8543044b2c..0000000000 --- a/meta/recipes-support/icu/files/noldlibpath.patch +++ /dev/null @@ -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 - -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"); - diff --git a/meta/recipes-support/icu/files/use-g++-for-linking.patch b/meta/recipes-support/icu/files/use-g++-for-linking.patch deleted file mode 100644 index f477dadee9..0000000000 --- a/meta/recipes-support/icu/files/use-g++-for-linking.patch +++ /dev/null @@ -1,74 +0,0 @@ -Use g++ for linking. - -Upstream-Status: Inappropriate [Other] -Build system specific - -Signed-off-by: Scott Garman - ---- - 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 diff --git a/meta/recipes-support/icu/icu-3.6.inc b/meta/recipes-support/icu/icu-3.6.inc deleted file mode 100644 index 8caf71c645..0000000000 --- a/meta/recipes-support/icu/icu-3.6.inc +++ /dev/null @@ -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" diff --git a/meta/recipes-support/icu/icu.inc b/meta/recipes-support/icu/icu.inc new file mode 100644 index 0000000000..f7257d13e8 --- /dev/null +++ b/meta/recipes-support/icu/icu.inc @@ -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" + diff --git a/meta/recipes-support/icu/icu_3.6.bb b/meta/recipes-support/icu/icu_3.6.bb deleted file mode 100644 index f50abe231c..0000000000 --- a/meta/recipes-support/icu/icu_3.6.bb +++ /dev/null @@ -1,6 +0,0 @@ -require icu-3.6.inc - -PR = "r10" - -SRC_URI[md5sum] = "6243f7a19e03e05403ce84e597510d4c" -SRC_URI[sha256sum] = "5135e8d69d6206d320515df7aeee7027711ab1aef9d8dbf29571a97a9746b041" diff --git a/meta/recipes-support/icu/icu_50.1.bb b/meta/recipes-support/icu/icu_50.1.bb new file mode 100644 index 0000000000..8f65c6d262 --- /dev/null +++ b/meta/recipes-support/icu/icu_50.1.bb @@ -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" \ No newline at end of file -- cgit 1.2.3-korg