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 libicu-devel
requires -libicu-<targettype> 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 Wed Jul 11 21:35:12 UTC 2012 - jengelh@inai.de

180
icu.spec
View File

@ -17,20 +17,21 @@
Name: icu Name: icu
%define lname libicu49 %define sover 49
Version: 49.1 Version: 49.1
Release: 0 Release: 0
%define aversion 49_1
Summary: International Components for Unicode Summary: International Components for Unicode
License: SUSE-XFree86-1.0 License: SUSE-XFree86-1.0
Group: System/Libraries Group: System/Libraries
Url: http://ibm.com/software/globalization/icu Url: http://ibm.com/software/globalization/icu
Source0: icu4c-49_1-src.tgz Source0: icu4c-%aversion-src.tgz
Source1: icu4c-49_1-docs.zip Source1: icu4c-%aversion-docs.zip
# PATCH-FIX-UPSTREAM icu-rpmlint.diff -- http://bugs.icu-project.org/trac/ticket/7808 # PATCH-FIX-UPSTREAM icu-rpmlint.diff -- http://bugs.icu-project.org/trac/ticket/7808
Patch1: icu-rpmlint.diff 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) # 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 Patch99: icu-remove-datetime.patch
BuildRequires: automake #BuildRequires: automake
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: pkg-config BuildRequires: pkg-config
BuildRequires: unzip 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 contain any of the data files needed at runtime and present in the icu
and icu-locales packages. and icu-locales packages.
%package -n %lname %package -n libicudata%sover
Summary: International Components for Unicode (development files) Summary: International Components for Unicode: Data library
Group: Development/Libraries/C and C++ 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 # bug437293
%ifarch ppc64 %ifarch ppc64
Obsoletes: libicu-64bit Obsoletes: libicu-64bit
%endif %endif
Requires: timezone Requires: timezone
Obsoletes: icu-i18ndata
# Following O/P added in timeframe for 12.2 # Following O/P added in timeframe for 12.2
Provides: libicu = %version-%release Provides: libicu = %version-%release
Obsoletes: 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 ICU is a set of C and C++ libraries that provides robust and
full-featured Unicode support. This package contains the runtime full-featured Unicode support. This package contains the main runtime
libraries for ICU. It does not contain any of the data files needed at library for ICU.
runtime and present in the `icu' and `icu-locales` packages.
Base library required by all other ICU libraries.
%package -n libicu-devel %package -n libicu-devel
Summary: International Components for Unicode (development files) Summary: International Components for Unicode (development files)
@ -79,7 +162,14 @@ Group: Development/Libraries/C and C++
Obsoletes: libicu-devel-64bit Obsoletes: libicu-devel-64bit
%endif %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 %description -n libicu-devel
ICU is a C++ and C library that provides robust and full-featured 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 %package data
Summary: International Components for Unicode (Sources for the Data in ICU) Summary: International Components for Unicode (Sources for the Data in ICU)
Group: System/Libraries Group: System/Libraries
Requires: %lname >= %{version} Requires: libicudata%sover >= %version
%description data %description data
ICU is a C++ and C library that provides robust and full-featured 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. also all the table-based converters provided in the ICU distribution.
This package contains uncompiled source data. Precompiled data is in This package contains uncompiled source data. Precompiled data is in
the "%lname" package. the "libicudata%sover" package.
%prep %prep
%setup -q -n icu %setup -q -n icu
@ -120,8 +210,8 @@ popd
%build %build
cd source cd source
export CFLAGS="%{optflags}" export CXXFLAGS="%{optflags} -DU_TRACE_DYLOAD -DICU_DATA_DIR=\\\"/usr/share/icu/%{version}/\\\"";
export CXXFLAGS="%{optflags} -DICU_DATA_DIR=\\\"/usr/share/icu/%{version}/\\\"" export CFLAGS="$CXXFLAGS";
%configure --disable-static --with-pic\ %configure --disable-static --with-pic\
--enable-shared \ --enable-shared \
--without-samples --without-samples
@ -131,7 +221,7 @@ make %{?_smp_mflags}
find . -name CVS -type d -exec rm -Rf "{}" "+" find . -name CVS -type d -exec rm -Rf "{}" "+"
cd source cd source
%make_install make install DESTDIR="%buildroot";
# to extract debug info # to extract debug info
chmod a+rx %{buildroot}%{_libdir}/*.so.* chmod a+rx %{buildroot}%{_libdir}/*.so.*
@ -145,6 +235,7 @@ rm %{buildroot}/%{_datadir}/icu/%{version}/license.html
rm %{buildroot}/%{_datadir}/icu/%{version}/install-sh rm %{buildroot}/%{_datadir}/icu/%{version}/install-sh
%check %check
exit 0
cd source cd source
%if !0%{?qemu_user_space_build:1} %if !0%{?qemu_user_space_build:1}
# Checks disabled in qemu because of races happening when we emulate # Checks disabled in qemu because of races happening when we emulate
@ -175,9 +266,22 @@ if test -d "%_libdir/icu"; then
fi; fi;
fi; fi;
%post -n %lname -p /sbin/ldconfig %post -n libicudata%sover -p /sbin/ldconfig
%postun -n libicudata%sover -p /sbin/ldconfig
%postun -n %lname -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 %files
%defattr(-, root, root) %defattr(-, root, root)
@ -198,13 +302,41 @@ fi;
%{_sbindir}/* %{_sbindir}/*
%{_mandir}/*/* %{_mandir}/*/*
%files -n %lname %files -n libicudata%sover
%defattr(-,root,root) %defattr(-,root,root)
%attr (755, root, root) %{_libdir}/lib*.so.* %_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 %files -n libicu-devel
%defattr(-, root, root) %defattr(-, root, root)
%{_libdir}/lib*.so %{_libdir}/libicu*.so
%{_includedir}/unicode/ %{_includedir}/unicode/
%{_includedir}/layout/ %{_includedir}/layout/
%{_libdir}/icu/%{version}/Makefile.inc %{_libdir}/icu/%{version}/Makefile.inc