Name: icu Version: 4.4 Release: 2 Summary: International Components for Unicode Group: Development/Tools License: MIT URL: http://www.icu-project.org/ Source0: http://download.icu-project.org/files/icu4c/%{version}/icu4c-4_4-src.tgz Source1: http://download.icu-project.org/files/icu4c/%{version}/icu4c-src-4_4.md5 Source2: http://download.icu-project.org/files/icu4c/%{version}/icu4c-4_4-docs.zip Patch1: icu-3.4-multiarchdevel.patch Patch2: icu.icu6284.strictalias.patch Patch3: icu.6995.kannada.patch Patch4: icu.XXXX.buildfix.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: autoconf, make, patch, doxygen Requires: lib%{name} = %{version}-%{release} %define _libdir64 %{_prefix}/lib64 %description Tools and utilities for developing with %{name}. %package -n lib%{name} Summary: International Components for Unicode - libraries Group: System Environment/Libraries %description -n lib%{name} The International Components for Unicode (ICU) libraries provide robust and full-featured Unicode services on a wide variety of platforms. ICU supports the most current version of the Unicode standard, and they provide support for supplementary Unicode characters (needed for GB 18030 repertoire support). As computing environments become more heterogeneous, software portability becomes more important. ICU lets you produce the same results across all the various platforms you support, without sacrificing performance. It offers great flexibility to extend and customize the supplied services. %package -n lib%{name}-devel Summary: Development files for International Components for Unicode Group: Development/Libraries Requires: lib%{name} = %{version}-%{release} Requires: pkg-config %description -n lib%{name}-devel Includes and definitions for developing with %{name}. %package -n lib%{name}-doc Summary: Documentation for International Components for Unicode Group: Documentation %description -n lib%{name}-doc %{summary}. %prep %setup -q -n %{name} export PATH=/opt/freeware/bin:$PATH %patch1 -p1 -b .multiarchdevel %patch2 -p1 -b .icu6284.strictalias.patch %patch3 -p1 -b .icu6995.kannada.patch %patch4 -p1 -b .icuXXXX.buildfix.patch mkdir docs cd docs unzip %{SOURCE2} cd .. chown -R root.system docs chmod -R u+w docs chmod -R og-w docs chmod -R og+r docs mkdir ../32bit mv * ../32bit mv ../32bit . mkdir 64bit cd 32bit && tar cf - . | (cd ../64bit ; tar xpf -) %build cd 64bit/source # first build the 64-bit version export OBJECT_MODE=64 export LDFLAGS="-L/opt/freeware/lib64 -L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib64:/opt/freeware/lib:/usr/lib:/lib -Wl,-bmaxdata:0x80000000" autoconf ./configure \ --prefix=%{_prefix} \ --libdir=%{_libdir64} \ --mandir=%{_mandir} \ --enable-shared --disable-static \ --enable-release \ --disable-samples \ --disable-tests \ --with-library-bits=64 \ --with-data-packaging=library gmake # %{?_smp_mflags} # -j(X>1) does not work cd ../../32bit/source # now build the 32-bit version export OBJECT_MODE=32 export LDFLAGS="-L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib:/usr/lib:/lib -Wl,-bmaxdata:0x80000000" autoconf ./configure \ --prefix=%{_prefix} \ --mandir=%{_mandir} \ --enable-shared --disable-static \ --enable-release \ --disable-samples \ --disable-tests \ --with-library-bits=32 \ --with-data-packaging=library gmake # %{?_smp_mflags} # -j(X>1) does not work %install [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} cd 64bit/source gmake install DESTDIR=${RPM_BUILD_ROOT} ( cd ${RPM_BUILD_ROOT}%{_bindir} for f in * ; do mv -f ${f} ${f}_64 done ) cd ../../32bit/source export OBJECT_MODE=32 gmake install DESTDIR=${RPM_BUILD_ROOT} cd ../.. /usr/bin/strip -X32_64 ${RPM_BUILD_ROOT}%{_bindir}/* || : /usr/bin/strip -X32_64 ${RPM_BUILD_ROOT}%{_sbindir}/* || : cd 64bit/source/tools/ctestfw tar cf - libicutest*.a | (cd ${RPM_BUILD_ROOT}%{_libdir64}; tar xpf -) cd ../../../.. cd 32bit/source/tools/ctestfw tar cf - libicutest*.a | (cd ${RPM_BUILD_ROOT}%{_libdir}; tar xpf -) ( cd ${RPM_BUILD_ROOT}%{_libdir64} for f in *.a ; do /usr/bin/ar -X64 -x ${f} done cd ${RPM_BUILD_ROOT}%{_libdir} for f in *.a ; do /usr/bin/ar -X32 -x ${f} done ) # add the 64-bit shared objects to the shared libraries containing already the # 32-bit shared objects cd ${RPM_BUILD_ROOT}%{_libdir} for f in lib*.so ; do fn=`basename ${f} .so` /usr/bin/ar -X64 -q ${fn}.a ${RPM_BUILD_ROOT}%{_libdir64}/${f} done %clean [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} %files %defattr(-,root,system,-) %doc 32bit/license.html 32bit/readme.html %{_bindir}/derb* %{_bindir}/genbrk* %{_bindir}/gencfu* %{_bindir}/gencnval* %{_bindir}/genctd* %{_bindir}/genrb* %{_bindir}/makeconv* %{_bindir}/pkgdata* %{_bindir}/uconv* %{_sbindir}/* %{_mandir}/man1/derb.1* %{_mandir}/man1/gencnval.1* %{_mandir}/man1/genrb.1* %{_mandir}/man1/genbrk.1* %{_mandir}/man1/genctd.1* %{_mandir}/man1/makeconv.1* %{_mandir}/man1/pkgdata.1* %{_mandir}/man1/uconv.1* %{_mandir}/man8/*.8* %files -n lib%{name} %defattr(-,root,system,-) %doc 32bit/license.html 32bit/readme.html %{_libdir}/*.a %files -n lib%{name}-devel %defattr(-,root,system,-) %doc 32bit/license.html 32bit/readme.html %{_bindir}/%{name}-config* %{_bindir}/icuinfo* %{_mandir}/man1/%{name}-config.1* %{_includedir}/* %{_libdir}/%{name} %{_libdir64}/%{name} %{_libdir}/pkgconfig/%{name}.pc %{_libdir64}/pkgconfig/%{name}.pc %{_datadir}/%{name} %files -n lib%{name}-doc %defattr(-,root,system,-) %doc 32bit/license.html 32bit/readme.html %doc 32bit/docs/* %changelog * Mon Nov 04 2013 Michael Perzl - 4.4-2 - changed the build process and added some missing shared members * Fri Apr 09 2010 Michael Perzl - 4.4-1 - first version for AIX5L v5.1 and higher