# # spec file for package icu (Version 4.0) # # Copyright (c) 2008 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 AutoReqProv: on Version: 4.0 Release: 5 Requires: libicu = %{version} Url: http://ibm.com/software/globalization/icu Source0: icu4c-4_0-src.tar.bz2 Source1: icu4c-4_0-docs.tar.bz2 Source3: SuSEconfig.icu # PATCH-FIX-UPSTREAM icu4c-3_6-src-setBreakType-public.diff -- OOo-2.3.1 and above needs to access the setBreakType method, see http://bugs.icu-project.org/trac/ticket/5498 Patch: icu4c-3_6-src-setBreakType-public.diff 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++ 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++ 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 %patch %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 --prefix=/usr \ --sysconfdir=/etc \ --datadir=/usr/share \ --libdir=%{_libdir} \ --mandir=%{_mandir} \ --infodir=%{_infodir} \ --enable-shared \ --enable-static \ --without-samples \ %{_target_cpu}-suse-linux-gnu make #make check %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 /usr/bin/derb /usr/bin/genbrk /usr/bin/gencnval /usr/bin/genrb /usr/bin/genctd /usr/bin/makeconv /usr/bin/pkgdata /usr/bin/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 %{_libdir}/lib*.a /usr/include/unicode/ /usr/include/layout/ %{_libdir}/icu/%{version}/Makefile.inc %{_libdir}/icu/Makefile.inc /usr/bin/icu-config %dir /usr/share/icu %dir /usr/share/icu/%{version} /usr/share/icu/%{version}/mkinstalldirs /usr/share/icu/%{version}/config/ %files -n libicu-doc %defattr(-, root, root) %doc html/ %doc packaging/ %files -n icu-data %defattr(-, root, root) %dir /usr/share/icu/%{version}/unidata /usr/share/icu/%{version}/unidata/* /usr/share/icu/%{version}/UnicodeData.txt %changelog * 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. * Tue Mar 29 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". * Sat May 17 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 * Tue Feb 12 2002 ro@suse.de - tar option for bz2 is "j" * Thu Mar 08 2001 mfabian@suse.de - new package: icu 1.7 - package names as described in PACKAGING