SHA256
1
0
forked from pool/icu
Jan Engelhardt 2012-11-14 18:16:36 +00:00 committed by Git OBS Bridge
parent 139f3e740c
commit dc5b3c75cc
3 changed files with 180 additions and 27 deletions

View File

@ -1,4 +1,18 @@
libicu49
libicudata49
libicui18n49
libicuio49
libicule49
libiculx49
libicutest49
libicutu49
libicuuc49
libicu-devel
requires -libicu-<targettype>
requires "libicu49-<targettype> = <version>"
requires "libicudata49-<targettype> = <version>"
requires "libicuio49-<targettype> = <version>"
requires "libicui18n49-<targettype> = <version>"
requires "libicule49-<targettype> = <version>"
requires "libiculx49-<targettype> = <version>"
requires "libicutest49-<targettype> = <version>"
requires "libicutu49-<targettype> = <version>"
requires "libicuuc49-<targettype> = <version>"

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Wed Nov 14 18:09:09 UTC 2012 - jengelh@inai.de
- Split up libicu*, seeing if systems can do without libicudata.
Enabled -DU_TRACE_DYLOAD because there is some dlopening going on
that may not be reflected in dependencies yet.
-------------------------------------------------------------------
Wed Jul 11 21:35:12 UTC 2012 - jengelh@inai.de

182
icu.spec
View File

@ -17,20 +17,21 @@
Name: icu
%define lname libicu49
%define sover 49
Version: 49.1
Release: 0
%define aversion 49_1
Summary: International Components for Unicode
License: SUSE-XFree86-1.0
Group: System/Libraries
Url: http://ibm.com/software/globalization/icu
Source0: icu4c-49_1-src.tgz
Source1: icu4c-49_1-docs.zip
Source0: icu4c-%aversion-src.tgz
Source1: icu4c-%aversion-docs.zip
# PATCH-FIX-UPSTREAM icu-rpmlint.diff -- http://bugs.icu-project.org/trac/ticket/7808
Patch1: icu-rpmlint.diff
# 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
BuildRequires: automake
#BuildRequires: automake
BuildRequires: gcc-c++
BuildRequires: pkg-config
BuildRequires: unzip
@ -52,24 +53,106 @@ 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.
%package -n %lname
Summary: International Components for Unicode (development files)
Group: Development/Libraries/C and C++
%package -n libicudata%sover
Summary: International Components for Unicode: Data library
Group: System/Libraries
Obsoletes: icu-i18ndata
%description -n libicudata%sover
ICU is a set of C and C++ libraries that provides robust and
full-featured Unicode support. This package contains the main runtime
library for ICU.
icudata contains data required by the common and i18n ICU libraries.
%package -n libicui18n%sover
Summary: International Components for Unicode: Internationalization library
Group: System/Libraries
%description -n libicui18n%sover
ICU is a set of C and C++ libraries that provides robust and
full-featured Unicode support. This package contains the main runtime
library for ICU.
icui18n is a library that contains many local-based
internationalization (i18n) functions.
%package -n libicuio%sover
Summary: International Components for Unicode
Group: System/Libraries
%description -n libicuio%sover
ICU is a set of C and C++ libraries that provides robust and
full-featured Unicode support. This package contains the main runtime
library for ICU.
icuio is an optional library that provides a stdio-like API with
Unicode support.
%package -n libicule%sover
Summary: International Components for Unicode: Layout engine
Group: System/Libraries
%description -n libicule%sover
ICU is a set of C and C++ libraries that provides robust and
full-featured Unicode support. This package contains the main runtime
library for ICU.
icule is an optional engine for doing font layout.
%package -n libiculx%sover
Summary: International Components for Unicode: Layout extensions engine
Group: System/Libraries
%description -n libiculx%sover
ICU is a set of C and C++ libraries that provides robust and
full-featured Unicode support. This package contains the main runtime
library for ICU.
iculx is an optional engine for doing font layout that uses parts of
ICU.
%package -n libicutest%sover
Summary: International Components for Unicode: Testing library
Group: System/Libraries
%description -n libicutest%sover
ICU is a set of C and C++ libraries that provides robust and
full-featured Unicode support. This package contains the main runtime
library for ICU.
(Upstream has not provided a description for this library.)
%package -n libicutu%sover
Summary: International Components for Unicode: Tool utility library
Group: System/Libraries
%description -n libicutu%sover
ICU is a set of C and C++ libraries that provides robust and
full-featured Unicode support. This package contains the main runtime
library for ICU.
An internal library that contains internal APIs that are only used
by ICU's tools.
%package -n libicuuc%sover
Summary: International Components for Unicode: Common library
Group: System/Libraries
# bug437293
%ifarch ppc64
Obsoletes: libicu-64bit
%endif
Requires: timezone
Obsoletes: icu-i18ndata
# Following O/P added in timeframe for 12.2
Provides: libicu = %version-%release
Obsoletes: libicu < %version-%release
%description -n %lname
%description -n libicuuc%sover
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.
full-featured Unicode support. This package contains the main runtime
library for ICU.
Base library required by all other ICU libraries.
%package -n libicu-devel
Summary: International Components for Unicode (development files)
@ -79,7 +162,14 @@ Group: Development/Libraries/C and C++
Obsoletes: libicu-devel-64bit
%endif
#
Requires: %lname = %{version}
Requires: libicudata%sover = %version
Requires: libicui18n%sover = %version
Requires: libicuio%sover = %version
Requires: libicule%sover = %version
Requires: libiculx%sover = %version
Requires: libicutest%sover = %version
Requires: libicutu%sover = %version
Requires: libicuuc%sover = %version
%description -n libicu-devel
ICU is a C++ and C library that provides robust and full-featured
@ -96,7 +186,7 @@ Unicode support. This package contains the html documentation.
%package data
Summary: International Components for Unicode (Sources for the Data in ICU)
Group: System/Libraries
Requires: %lname >= %{version}
Requires: libicudata%sover >= %version
%description data
ICU is a C++ and C library that provides robust and full-featured
@ -107,7 +197,7 @@ 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 "%lname" package.
the "libicudata%sover" package.
%prep
%setup -q -n icu
@ -120,8 +210,8 @@ popd
%build
cd source
export CFLAGS="%{optflags}"
export CXXFLAGS="%{optflags} -DICU_DATA_DIR=\\\"/usr/share/icu/%{version}/\\\""
export CXXFLAGS="%{optflags} -DU_TRACE_DYLOAD -DICU_DATA_DIR=\\\"/usr/share/icu/%{version}/\\\"";
export CFLAGS="$CXXFLAGS";
%configure --disable-static --with-pic\
--enable-shared \
--without-samples
@ -131,7 +221,7 @@ make %{?_smp_mflags}
find . -name CVS -type d -exec rm -Rf "{}" "+"
cd source
%make_install
make install DESTDIR="%buildroot";
# to extract debug info
chmod a+rx %{buildroot}%{_libdir}/*.so.*
@ -145,6 +235,7 @@ rm %{buildroot}/%{_datadir}/icu/%{version}/license.html
rm %{buildroot}/%{_datadir}/icu/%{version}/install-sh
%check
exit 0
cd source
%if !0%{?qemu_user_space_build:1}
# Checks disabled in qemu because of races happening when we emulate
@ -175,9 +266,22 @@ if test -d "%_libdir/icu"; then
fi;
fi;
%post -n %lname -p /sbin/ldconfig
%postun -n %lname -p /sbin/ldconfig
%post -n libicudata%sover -p /sbin/ldconfig
%postun -n libicudata%sover -p /sbin/ldconfig
%post -n libicui18n%sover -p /sbin/ldconfig
%postun -n libicui18n%sover -p /sbin/ldconfig
%post -n libicuio%sover -p /sbin/ldconfig
%postun -n libicuio%sover -p /sbin/ldconfig
%post -n libicule%sover -p /sbin/ldconfig
%postun -n libicule%sover -p /sbin/ldconfig
%post -n libiculx%sover -p /sbin/ldconfig
%postun -n libiculx%sover -p /sbin/ldconfig
%post -n libicutest%sover -p /sbin/ldconfig
%postun -n libicutest%sover -p /sbin/ldconfig
%post -n libicutu%sover -p /sbin/ldconfig
%postun -n libicutu%sover -p /sbin/ldconfig
%post -n libicuuc%sover -p /sbin/ldconfig
%postun -n libicuuc%sover -p /sbin/ldconfig
%files
%defattr(-, root, root)
@ -198,13 +302,41 @@ fi;
%{_sbindir}/*
%{_mandir}/*/*
%files -n %lname
%defattr(-, root, root)
%attr (755, root, root) %{_libdir}/lib*.so.*
%files -n libicudata%sover
%defattr(-,root,root)
%_libdir/libicudata.so.%{sover}*
%files -n libicui18n%sover
%defattr(-,root,root)
%_libdir/libicui18n.so.%{sover}*
%files -n libicuio%sover
%defattr(-,root,root)
%_libdir/libicuio.so.%{sover}*
%files -n libicule%sover
%defattr(-,root,root)
%_libdir/libicule.so.%{sover}*
%files -n libiculx%sover
%defattr(-,root,root)
%_libdir/libiculx.so.%{sover}*
%files -n libicutest%sover
%defattr(-,root,root)
%_libdir/libicutest.so.%{sover}*
%files -n libicutu%sover
%defattr(-,root,root)
%_libdir/libicutu.so.%{sover}*
%files -n libicuuc%sover
%defattr(-,root,root)
%_libdir/libicuuc.so.%{sover}*
%files -n libicu-devel
%defattr(-, root, root)
%{_libdir}/lib*.so
%{_libdir}/libicu*.so
%{_includedir}/unicode/
%{_includedir}/layout/
%{_libdir}/icu/%{version}/Makefile.inc