diff --git a/baselibs.conf b/baselibs.conf index 53bddb6..12b7bbf 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,4 +1,4 @@ -libicu59_1 -libicu-59-devel - requires -libicu-59- - requires "libicu59_1- = " +libicu60_2 +libicu-devel + requires -libicu- + requires "libicu60_2- = " diff --git a/icu-versioning.diff b/icu-versioning.diff index 6cce15c..cd827dc 100644 --- a/icu-versioning.diff +++ b/icu-versioning.diff @@ -78,8 +78,8 @@ Index: icu/source/common/unicode/uvernum.h @@ -59,6 +59,7 @@ * @stable ICU 2.4 */ - #define U_ICU_VERSION_MAJOR_NUM 59 -+#define U_ICU_VERSION_MAJOR_STR "59" + #define U_ICU_VERSION_MAJOR_NUM 60 ++#define U_ICU_VERSION_MAJOR_STR "60" /** The current ICU minor version as an integer. * This value will change in the subsequent releases of ICU @@ -87,22 +87,22 @@ Index: icu/source/common/unicode/uvernum.h * This value will change in the subsequent releases of ICU * @stable ICU 2.6 */ --#define U_ICU_VERSION_SUFFIX _59 +-#define U_ICU_VERSION_SUFFIX _60 +#define ___icu_version_expand(major, minor) _ ## major ## _ ## minor +#define ___icu_version_glue(major, minor) ___icu_version_expand(major, minor) +#define U_ICU_VERSION_SUFFIX ___icu_version_glue(U_ICU_VERSION_MAJOR_NUM, U_ICU_VERSION_MINOR_NUM) /** * \def U_DEF2_ICU_ENTRY_POINT_RENAME -@@ -126,7 +129,7 @@ +@@ -125,7 +128,7 @@ + * This value will change in the subsequent releases of ICU * @stable ICU 2.6 */ - #if U_PLATFORM_HAS_WINUWP_API == 0 --#define U_ICU_VERSION_SHORT "59" -+#define U_ICU_VERSION_SHORT "59_1" - #else - // U_DISABLE_RENAMING does not impact dat file name - #define U_ICU_VERSION_SHORT +-#define U_ICU_VERSION_SHORT "60" ++#define U_ICU_VERSION_SHORT "60_2" + + #ifndef U_HIDE_INTERNAL_API + /** Data version in ICU4C. Index: icu/source/config/mh-linux =================================================================== --- icu.orig/source/config/mh-linux diff --git a/icu-59.changes b/icu.changes similarity index 98% rename from icu-59.changes rename to icu.changes index 727ed8c..3069217 100644 --- a/icu-59.changes +++ b/icu.changes @@ -1,7 +1,17 @@ ------------------------------------------------------------------- -Tue Dec 26 12:27:27 UTC 2017 - jengelh@inai.de +Tue Dec 26 13:45:03 UTC 2017 - jengelh@inai.de -- Copy icu to icu-59 for some old packages +- Drop dangling symlinks /usr/lib64/icu/*.inc + +------------------------------------------------------------------- +Thu Dec 14 17:56:54 UTC 2017 - jengelh@inai.de + +- Update to new upstream release 60.2 + * ICU 60 provides full support for the Unicode 10.0 release + with many new characters and many property improvements. + Locale data is updated to CLDR 32, which adds several + languages and data improvements. A new number formatting API + has been added. ------------------------------------------------------------------- Wed Aug 2 20:16:08 UTC 2017 - jengelh@inai.de diff --git a/icu-59.spec b/icu.spec similarity index 75% rename from icu-59.spec rename to icu.spec index f31ae9a..b551752 100644 --- a/icu-59.spec +++ b/icu.spec @@ -1,5 +1,5 @@ # -# spec file for package icu-59 +# spec file for package icu # # Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # @@ -16,22 +16,23 @@ # -%define lname libicu59_1 -%define amajor 59 -%define aversion 59_1 +%define lname libicu60_2 +%define amajor 60 +%define aversion 60_2 %ifarch %armb hppa mips mips64 ppc ppc64 %sparc s390 s390x m68k %define be_platform 1 %else %define be_platform 0 %endif -Name: icu-59 -Version: 59.1 +Name: icu +Version: 60.2 Release: 0 Summary: International Components for Unicode License: ICU Group: Development/Libraries/C and C++ Url: http://icu-project.org/ Source: http://download.icu-project.org/files/icu4c/%version/icu4c-%aversion-src.tgz +Source2: http://download.icu-project.org/files/icu4c/%version/icu4c-%aversion-docs.zip Source100: baselibs.conf Patch3: icu-versioning.diff Patch4: icu-fix-install-mode-files.diff @@ -116,19 +117,33 @@ rules, break iterator rules and dictionaries. This subpackage contains these data tables, in little-endian format. -%package -n libicu-59-devel +%package -n libicu-devel Summary: Development files for the ICU library Group: Development/Libraries/C and C++ Requires: %lname = %version -%description -n libicu-59-devel +%description -n libicu-devel ICU is a set of C and C++ libraries that provide extensive Unicode and locale support. This package contains the headers for ICU. +%package -n libicu-doc +Summary: Documentation for the ICU library +Group: Documentation/HTML + +%description -n libicu-doc +ICU is a set of C and C++ libraries that provide extensive Unicode +and locale support. +This package contains the HTML documentation. + %prep %setup -q -n icu %patch -P 3 -P 4 -P 6 -P 7 -P 8 -p1 +# docs are special +mkdir html +pushd html/ +unzip %SOURCE2 +popd %build cd source @@ -153,9 +168,13 @@ popd %install mkdir -p "%buildroot/%_docdir/%name" +cp -a html "%buildroot/%_docdir/%name/" +cp -a license.html readme.html "%buildroot/%_docdir/%name/" + find . -name CVS -type d -exec rm -Rf "{}" "+" cd source -%make_install + +make DESTDIR="%buildroot" install %{?_smp_mflags} cp data/out/icudt*.dat "%buildroot/%_datadir/icu/%version/" # @@ -187,25 +206,70 @@ install -m 644 data/unidata/*.txt "%buildroot/%_datadir/icu/%version/unidata" ln -s unidata/UnicodeData.txt "%buildroot/%_datadir/icu/%version/" rm "%buildroot/%_datadir/icu/%version/install-sh" -rm -Rf "%buildroot/%_mandir" "%buildroot/%_datadir/icu/59.1/unidata" \ - "%buildroot/%_datadir/icu/59.1/UnicodeData.txt" \ - "%buildroot/%_sbindir"/* "%buildroot/%_libdir/icu/current" \ - "%buildroot/%_bindir"/{derb,genbrk,gencfu,gencnval,gendict,genrb,icuinfo,makeconv,pkgdata,uconv} \ +# Seems unused +rm -Rf "%buildroot/%_datadir/icu/%version/unidata/" \ + "%buildroot/%_datadir/icu/%version/UnicodeData.txt" \ + "%buildroot/%_libdir/icu/current" \ "%buildroot/%_libdir/icu/Makefile.inc" \ "%buildroot/%_libdir/icu/pkgdata.inc" %fdupes %buildroot/%_prefix +%check +# s390x see: https://ssl.icu-project.org/trac/ticket/13095 +cd source +%if !0%{?qemu_user_space_build:1} +# Checks disabled in qemu because of races happening when we emulate +# multi-threaded programs, and some check tests atomic instructions in +# multi-threaded icu invocations +ICU_DATA="%buildroot/%_datadir/icu/%version" make check %{?_smp_mflags} VERBOSE=1 +%endif + +%post +# This should be run by whatever owns /usr/lib64/icu - +# the (main) package in this case +if test -d "%_libdir/icu"; then + current=$(cd "%_libdir/icu/"; find [0-9]* -maxdepth 1 -type d -printf '%%f\n' | + sort -V | tail -n1) + if test -n "$current"; then + rm -f "%_libdir/icu/current" + ln -sv "$current" "%_libdir/icu/current" + fi +fi + +%postun +if test -d "%_libdir/icu"; then + current=$(cd "%_libdir/icu/"; find [0-9]* -maxdepth 1 -type d -printf '%%f\n' | + sort -V | tail -n1) + if test -n "$current"; then + rm -f "%_libdir/icu/current" + ln -sv "$current" "%_libdir/icu/current" + fi +fi + %post -n %lname -p /sbin/ldconfig %postun -n %lname -p /sbin/ldconfig +%files +%defattr(-,root,root) +%_bindir/derb +%_bindir/gen* +%_bindir/icuinfo +%_bindir/makeconv +%_bindir/pkgdata +%_bindir/uconv +%_sbindir/* +%_mandir/man*/* +%dir %_datadir/icu +%dir %_datadir/icu/%version +%_datadir/icu/%version/LICENSE +%dir %_docdir/%name/ +%_docdir/%name/license.html +%_docdir/%name/readme.html + %files -n %lname %defattr(-, root, root) %_libdir/libicu*.so.* -%dir %_datadir/icu -%dir %_datadir/icu/%version -%_datadir/icu/%version/LICENSE -%doc license.html readme.html %files -n libicu%aversion-bedata %defattr(-,root,root) @@ -219,7 +283,7 @@ rm -Rf "%buildroot/%_mandir" "%buildroot/%_datadir/icu/59.1/unidata" \ %dir %_datadir/icu/%version %_datadir/icu/%version/icudt%{amajor}l.dat -%files -n libicu-59-devel +%files -n libicu-devel %defattr(-, root, root) %_libdir/libicu*.so %_includedir/unicode/ @@ -234,4 +298,9 @@ rm -Rf "%buildroot/%_mandir" "%buildroot/%_datadir/icu/59.1/unidata" \ %_datadir/icu/%version/mkinstalldirs %_datadir/icu/%version/config/ +%files -n libicu-doc +%defattr(-,root,root) +%dir %_docdir/%name/ +%_docdir/%name/html/ + %changelog diff --git a/icu4c-59_1-src.tgz b/icu4c-59_1-src.tgz deleted file mode 100644 index 220a8ac..0000000 --- a/icu4c-59_1-src.tgz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7132fdaf9379429d004005217f10e00b7d2319d0fea22bdfddef8991c45b75fe -size 22706578 diff --git a/icu4c-60_2-docs.zip b/icu4c-60_2-docs.zip new file mode 100644 index 0000000..40b215c --- /dev/null +++ b/icu4c-60_2-docs.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac652c2dc5c2c934f7419d0d013b04bb5288e346775a5dcf1c4e915330bf01eb +size 7255513 diff --git a/icu4c-60_2-src.tgz b/icu4c-60_2-src.tgz new file mode 100644 index 0000000..4cd376f --- /dev/null +++ b/icu4c-60_2-src.tgz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f073ea8f35b926d70bb33e6577508aa642a8b316a803f11be20af384811db418 +size 23317835 diff --git a/xlocale.patch b/xlocale.patch index 2c1561c..1e396e3 100644 --- a/xlocale.patch +++ b/xlocale.patch @@ -4,23 +4,22 @@ Date: Mon, 31 Jul 2017 12:19:40 +0000 don't use obsolete --- - source/i18n/digitlst.cpp | 6 +----- - 1 file changed, 1 insertion(+), 5 deletions(-) + source/i18n/digitlst.cpp | 4 ---- + 1 file changed, 4 deletions(-) Index: icu/source/i18n/digitlst.cpp =================================================================== --- icu.orig/source/i18n/digitlst.cpp +++ icu/source/i18n/digitlst.cpp -@@ -61,11 +61,7 @@ +@@ -62,11 +62,7 @@ #endif #if U_USE_STRTOD_L --# if U_PLATFORM_USES_ONLY_WIN32_API || U_PLATFORM == U_PF_CYGWIN --# include --# else +-# if U_HAVE_XLOCALE_H -# include +-# else + # include -# endif -+# include #endif // ***************************************************************************