# # spec file for package icu (Version 4.2) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: icu BuildRequires: gcc-c++ License: X11/MIT Group: System/Libraries Version: 4.2 Release: 1 Requires: libicu = %{version} Url: http://ibm.com/software/globalization/icu Source0: icu4c-4_2-src.tar.bz2 Source1: icu4c-4_2-docs.tar.bz2 Source3: SuSEconfig.icu # PATCH-FIX-OPENSUSE icu-remove-datetime.patch vuntz@novell.com -- Do not put date/time in icu-config (needed for build-compare) Patch99: icu-remove-datetime.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build Summary: International Components for Unicode %description ICU is a set of C and C++ libraries that provides robust and full-featured Unicode and locale support. The library provides calendar support, conversions for many character sets, language sensitive collation, date and time formatting, support for many locales, message catalogs and resources, message formatting, normalization, number and currency formatting, time zone support, transliteration, and word, line, and sentence breaking, etc. This package contains the Unicode character database and derived properties along with converters and time zone data. This package contains the runtime libraries for ICU. It does not contain any of the data files needed at runtime and present in the icu and icu-locales packages. Authors: -------- The ICU project, International Business Machines (IBM) and Others. %package -n libicu License: IBM Public License Summary: International Components for Unicode (development files) Group: Development/Libraries/C and C++ # bug437293 %ifarch ppc64 Obsoletes: libicu-64bit %endif # Provides: libicu17 libicu22 libicu26 libicu30 libicu32 libicu34 Obsoletes: libicu17 libicu22 libicu26 libicu30 libicu32 libicu34 icu-i18ndata %description -n libicu ICU is a set of C and C++ libraries that provides robust and full-featured Unicode support. This package contains the runtime libraries for ICU. It does not contain any of the data files needed at runtime and present in the `icu' and `icu-locales` packages. Authors: -------- The ICU project, International Business Machines (IBM) and Others. %package -n libicu-devel License: IBM Public License Summary: International Components for Unicode (development files) Group: Development/Libraries/C and C++ # bug437293 %ifarch ppc64 Obsoletes: libicu-devel-64bit %endif # Requires: libicu = %{version} %description -n libicu-devel ICU is a C++ and C library that provides robust and full-featured Unicode support. This package contains the development files for ICU. Authors: -------- The ICU project, International Business Machines (IBM) and Others. %package -n libicu-doc License: IBM Public License Summary: International Components for Unicode (html documentation) Group: Development/Libraries/C and C++ %description -n libicu-doc ICU is a C++ and C library that provides robust and full-featured Unicode support. This package contains the html documentation. Authors: -------- The ICU project, International Business Machines (IBM) and Others. %package -n icu-data License: IBM Public License Summary: International Components for Unicode (Sources for the Data in ICU) Group: System/Libraries Requires: libicu >= %{version} %description -n icu-data ICU is a C++ and C library that provides robust and full-featured Unicode support. This package contains the source files for the data found in the "icu" package. This data describes the Unicode data (normative and informative) and also all the table-based converters provided in the ICU distribution. This package contains uncompiled source data. Precompiled data is in the `libicu%{version}' package. Authors: -------- The ICU project, International Business Machines (IBM) and Others. %prep %setup -q -n icu -a1 %patch99 -p1 %build cd source rm -f config.cache %{?suse_update_config:%{suse_update_config -f }} export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" export CXXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" export CXXFLAGS="$CXXFLAGS -DICU_DATA_DIR='/usr/share/icu/4.0/'" %configure --disable-static --with-pic\ --enable-shared \ --without-samples %{__make} %{?jobs:-j%jobs} %install find . -name CVS -type d | xargs rm -rf cd source make DESTDIR=$RPM_BUILD_ROOT install # to extract debug info chmod a+rx $RPM_BUILD_ROOT%{_libdir}/*.so.* # install uncompiled source data: mkdir -p $RPM_BUILD_ROOT/usr/share/icu/%{version}/unidata install -m 644 data/unidata/*.txt $RPM_BUILD_ROOT/%{_datadir}/icu/%{version}/unidata ln -s unidata/UnicodeData.txt $RPM_BUILD_ROOT/%{_datadir}/icu/%{version}/ # run test suite: #pushd data #ln -sf build/*.cnv build/*.res build/*.dat build/*.brk . #popd #make check || echo "make check returned $?, ignored." #popd mkdir -p $RPM_BUILD_ROOT/sbin/conf.d/ sed -e "s/@ICUVERSION@/%{version}/g" < ${RPM_SOURCE_DIR}/SuSEconfig.icu > ./SuSEconfig.icu install -m 755 ./SuSEconfig.icu $RPM_BUILD_ROOT/sbin/conf.d/ rm $RPM_BUILD_ROOT/%{_datadir}/icu/%{version}/license.html rm $RPM_BUILD_ROOT/%{_datadir}/icu/%{version}/install-sh %clean rm -rf $RPM_BUILD_ROOT %post -n libicu -p /sbin/ldconfig %postun -n libicu -p /sbin/ldconfig %files %defattr(-, root, root) %doc license.html readme.html %dir %{_libdir}/icu/ %dir %{_libdir}/icu/%{version} %{_libdir}/icu/current %{_bindir}/derb %{_bindir}/genbrk %{_bindir}/gencfu %{_bindir}/gencnval %{_bindir}/genrb %{_bindir}/genctd %{_bindir}/makeconv %{_bindir}/pkgdata %{_bindir}/uconv /usr/sbin/* %{_mandir}/*/* /sbin/conf.d/SuSEconfig.icu %files -n libicu %defattr(-, root, root) %attr (755, root, root) %{_libdir}/lib*.so.* %files -n libicu-devel %defattr(-, root, root) %{_libdir}/lib*.so %{_includedir}/unicode/ %{_includedir}/layout/ %{_libdir}/icu/%{version}/Makefile.inc %{_libdir}/icu/%{version}/pkgdata.inc %{_libdir}/icu/Makefile.inc %{_libdir}/icu/pkgdata.inc %{_bindir}/icu-config %dir %{_datadir}/icu %dir %{_datadir}/icu/%{version} %{_datadir}/icu/%{version}/mkinstalldirs %{_datadir}/icu/%{version}/config/ %files -n libicu-doc %defattr(-, root, root) %doc html/ %files -n icu-data %defattr(-, root, root) %{_datadir}/icu/%{version}/unidata/ %{_datadir}/icu/%{version}/UnicodeData.txt %changelog * Tue May 26 2009 vuntz@novell.com - Drop icu4c-3_6-src-setBreakType-public.diff: it's not needed anymore for OOo. * Sat May 23 2009 vuntz@novell.com - Update to 4.2: + Locale Data: ICU uses and supports data from Common Locale Data Repository (CLDR) 1.7 , which includes data for 146 languages, 159 territories, 468 locales- 21%% more locale data than the previous release. + Number system support and the number keyword. + Number system override in DateFormat. + Numerics used by Hebrew Calendar date in Hebrew locale. + BCP47 (language tag) / Locale transformation. + BCP47 mapping of LDML keywords. + Encoding selector: Return a list of charsets that can handle the input text. + Simple duration: Implementation of CLDR duration format. + Available/Preferred keywords for a locale (Calendar, Collation, and Currency). + StringPrep standard profiles: RFC3491 NAMEPREP, RFC3530 NFS4, RFC3722 iSCSI, RFC3920 NodePrep/ResourcePrep, RFC4011 MIB, RFC4013 SASLprep, RFC4505 trace and RFC4518 LDAPprep. + Miscellaneous Arabic shaping enhancements. + UTF-8 friendly internal data structure for Unicode data lookup. + API to get CLDR version used by ICU. + ISCII charset converter updates (added Gurumukhi, other updates). + Performance improvements in Time Zone Name format/parse, and in DateIntervalFormat construction. - Remove AutoReqProv: it's default now. - Drop icu-gcc44.patch: fixed upstream. - Do not package packaging doc in libicu-doc. * Sat Mar 28 2009 vuntz@novell.com - Add icu-remove-datetime.patch to be more build-compare friendly. * Mon Mar 02 2009 crrodriguez@suse.de - fix build with GCC 4.4 - remove static libraries * Wed Dec 10 2008 olh@suse.de - use Obsoletes: -XXbit only for ppc64 to help solver during distupgrade (bnc#437293) * Thu Oct 30 2008 olh@suse.de - obsolete old -XXbit packages (bnc#437293) * Sat Sep 13 2008 vuntz@novell.com - Merge with openSUSE:Factory. Redo the patch tags that were done by jpr@novell.com * Sat Sep 06 2008 maw@suse.de - Update to version 4.0: (All of the bug numbers listed are against http://bugs.icu-project.org/trac) + Update to Unicode 5.1 (#5696) + Locale Data: ICU uses and supports data from Common Locale Data Repository (CLDR) 1.6, which includes many improvements in quality and quantity of data + Add/removeLikelySubtags (#6124) + Charset converter file size improvement (#5987) + Date Interval Formatting (#6157) Note: Calendar type supported by this feature is Gregorian only in this release + Improved Plural support + Additional calendars: Chinese (#4081) and Coptic/Ethiopic (#4571) + Security fixes for CVE-2007-4770, CVE-2007-4771, and CVE-2008-1036. - Drop libicu-regex.patch, which has been upstreamed. * Thu Apr 10 2008 ro@suse.de - added baselibs.conf file to build xxbit packages for multilib support * Wed Feb 13 2008 maw@suse.de - Update to version 3.8: + Locale Data: ICU uses and supports data from Common Locale Data Repository (CLDR) 1.5.0.1, which includes many improvements in quality and quantity of data. + Rule Based Time Zone: This set of classes provides the ability to read and write time zone data in RFC2445 VTIMEZONE format. This also provides access Olson timezone transitions. + Timezone Formatting: This has changed to give more human readable results. + Relative Date/Time Formatting: A draft of the relative date/time format class has been added. This functionality can be accessed through the DateFormat::createDateInstance or DateFormat.getInstance factory method. It provides the ability to format localized dates in terms of "yesterday", "today" and "tomorrow", instead of a specific only date or time. + Demonstrations and Tools * ICU Data Library Customizer: This new online tool provides an easier way customize ICU's data. * ICU4J Demonstrations: These will demonstrate some features of ICU4J, like calendars, transliteration, and several other features. + Flexible Date/Time Formatting: A draft of flexible date/time format generator has been added. This allows multiple date and time format patterns to be generated that are valid for specific locales. This funtionality can be accessed through the DateTimePatternGenerator API. + Time Zones: The default time zone is detected more accurately on Unix machines. + Additional Calendars * @calendar=taiwan: This calendar is a variant of the Gregorian calendar used in Taiwan. * @calendar=indian: This is the Indian national calendar. * @calendar=persian: This is the Persian calendar. It is also known as the Jalāli Calendar. It is used in several Arabic countries. + UnicodeSet * The Freezable design pattern is now supported, which can improve performance for the contains() and span() methods on frozen UnicodeSet objects. * A span function was added for iterating through strings. * The containsAll(string) and containsNone(string) now support set strings, instead of only codepoints. + Performance * Charset conversion performance has been enhanced. The amount of improvement varies depending on the converter being used and platform being used. * Rule based transliterator construction performance has been improved. - s#%%run_ldconfig#/sbin/ldconfig# in libicu's %%post and %%postun - add libicu-regex.patch (bnc#354372). * Thu Feb 07 2008 pmladek@suse.cz - made RuleBasedBreakIterator::setBreakType method pubclic; it was requested by OpenOffice_org >= 2.3.1, see http://bugs.icu-project.org/trac/ticket/5498 * Wed Jul 25 2007 pmladek@suse.cz - Updated to version 3.6 * supports Unicode 5.0 * supports data from Common Locale Data Repository (CLDR) 1.4 * charset detection framework was added * font layout engine has support added for Tibetan, Sinhala and Old Hangul * BiDi algorithm was enhanced to be more flexible and efficient * new icupkg tool provides an easier way to manage ICU's data library * time zone data is modularized to allow easier building and updating of the data * BreakIterator uses UText for abstract text processing * 64-bit indexing is now used to allow access to larger chunks of text * added API for read-only locking for security and robustness * lots performance improvements * Mon Feb 13 2006 olh@suse.de - mark libraries as executable to extract debuginfo * Wed Jan 25 2006 mls@suse.de - converted neededforbuild to BuildRequires * Wed Aug 03 2005 sbrabec@suse.cz - Updated to version 3.4. * Mon Mar 28 2005 gekker@suse.de - Move icu-config to libicu-devel package (8030). * Mon Jan 10 2005 sbrabec@suse.cz - Updated to version 3.2 (#49578). Updated by Robert Schiele . - Added -fno-strict-aliasing. * Fri Nov 19 2004 ro@suse.de - ignore return-code from strip call * Tue May 25 2004 clahey@suse.de - Removed --with-data-packaging=files. Fixes gtk-sharp compilation. * Mon May 24 2004 clahey@suse.de - Updated to 2.6.2. * Wed Mar 31 2004 mfabian@suse.de - Bugzilla #37029: "strip --strip-debug" static libraries to save space on the CDs. * Fri Jan 23 2004 uli@suse.de - removed --disable-rpath; it is unnecessary and breaks the icu-config script * Sat Jan 10 2004 adrian@suse.de - add %%run_ldconfig * Tue Sep 23 2003 mfabian@suse.de - Bugzilla #31665: "SuSEconfig.icu is not lib64 clean" fixed. * Mon Aug 18 2003 mfabian@suse.de - update to 2.6. * Mon Jun 16 2003 mfabian@suse.de - fix "directory not owned by any package". * Fri May 16 2003 mfabian@suse.de - fix file list, remove CVS directories. * Wed Sep 11 2002 mfabian@suse.de - /usr/sbin/gencnval is now in /usr/bin/gencnval. Fix SuSEconfig.icu accordingly. * Sat Aug 17 2002 mfabian@suse.de - update to 2.2 * Sun Aug 11 2002 mfabian@suse.de - add Provides: libicu17 to libicu21 subpackage (to trigger the selection of the new package during update.) * Fri Aug 09 2002 mfabian@suse.de - update to 2.1 * Tue Mar 12 2002 mfabian@suse.de - use %%{_libdir} * Tue Mar 12 2002 kukuk@suse.de - Fix most wrong directories in filelist * Mon Feb 11 2002 ro@suse.de - tar option for bz2 is "j" * Wed Mar 07 2001 mfabian@suse.de - new package: icu 1.7 - package names as described in PACKAGING