icu/icu.spec

379 lines
13 KiB
RPMSpec
Raw Normal View History

#
# 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. <icu@oss.software.ibm.com>
%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. <icu@oss.software.ibm.com>
%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. <icu@oss.software.ibm.com>
%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. <icu@oss.software.ibm.com>
%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. <icu@oss.software.ibm.com>
%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<EFBFBD>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 <rschiele@uni-mannheim.de>.
- 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