%bcond_without build_compat %if %{with build_compat} %define compat_version 74.1 %define compat_tarballver %(echo %compat_version|tr '.' '_') %define compat_dashver %(echo %compat_version|tr '.' '-') %endif %define tarballver %(echo %version|tr '.' '_') %define dashver %(echo %version|tr '.' '-') Name: icu Version: 76.1 Release: 1 Summary: International Components for Unicode License: Unicode-DFS-2016 AND BSD-2-Clause AND BSD-3-Clause AND Public Domain URL: https://icu.unicode.org/ Source0: https://github.com/unicode-org/icu/releases/download/release-%{dashver}/icu4c-%{tarballver}-src.tgz Source1: https://github.com/unicode-org/icu/releases/download/release-%{dashver}/icu4c-%{tarballver}-data.zip Source2: icu-config.sh %if %{with build_compat} Source10: https://github.com/unicode-org/icu/releases/download/release-%{compat_dashver}/icu4c-%{compat_tarballver}-src.tgz %endif BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: autoconf >= 2.72 BuildRequires: doxygen BuildRequires: python3 Requires: lib%{name} = %{version}-%{release} Patch1: gennorm2-man.patch Patch2: icuinfo-man.patch Patch3: backport-remove-TestJitterbug6175.patch Patch4: icu-Add-sw64-architecture.patch Patch10: icu-Add-sw64-architecture-compat.patch %description Tools and utilities for developing with icu. %package -n libicu Summary: libs package for icu %description -n libicu libs package for icu %package -n libicu-devel Summary: header files for libicu Requires: libicu = %{version}-%{release} Provides: %{name}-devel = %{version}-%{release} %description -n libicu-devel header files for libicu %package_help %{!?endian: %global endian %(%{__python3} -c "import sys;print (0 if sys.byteorder=='big' else 1)")} # " this line just fixes syntax highlighting for vim that is confused by the above and continues literal %prep %setup -qn %{name} %autopatch -p1 -M9 pushd source rm -fr data %{__rpmuncompress} -x %{S:1} grep -rl 'Indochina' . | xargs sed -i "s/Indochina/Ondochine/g" popd %if %{with build_compat} %{__rpmuncompress} -x %{S:10} pushd icu %autopatch -m10 -p1 popd %endif %build pushd source autoconf CFLAGS='%optflags -fno-strict-aliasing' CXXFLAGS='%optflags -fno-strict-aliasing' # Endian: BE=0 LE=1 %if ! 0%{?endian} CPPFLAGS='-DU_IS_BIG_ENDIAN=1' %endif OPTIONS='--with-data-packaging=library --disable-samples' %if 0%{?debugtrace} OPTIONS=$OPTIONS' --enable-debug --enable-tracing' %endif %configure $OPTIONS sed -i 's|-nodefaultlibs -nostdlib||' config/mh-linux sed -i 's| \$(docfilesdir)/installdox||' Makefile sed -i '/^\s\+\$(INSTALL_DATA) \$(docsrchfiles) \$(DESTDIR)\$(docdir)\/\$(docsubsrchdir)\s*$/d' Makefile test -f uconfig.h.prepend && sed -e '/^#define __UCONFIG_H__/ r uconfig.h.prepend' -i common/unicode/uconfig.h sed -i -r 's|(PKGDATA_OPTS = )|\1-v |' data/Makefile %make_build %make_build doc popd %if %{with build_compat} pushd icu/source autoconf %configure --with-data-packaging=library --disable-samples --disable-tests sed -i 's|-nodefaultlibs -nostdlib||' config/mh-linux sed -i 's| \$(docfilesdir)/installdox||' Makefile sed -i '/^\s\+\$(INSTALL_DATA) \$(docsrchfiles) \$(DESTDIR)\$(docdir)\/\$(docsubsrchdir)\s*$/d' Makefile test -f uconfig.h.prepend && sed -e '/^#define __UCONFIG_H__/ r uconfig.h.prepend' -i common/unicode/uconfig.h sed -i -r 's|(PKGDATA_OPTS = )|\1-v |' data/Makefile %make_build popd %endif %install rm -rf source/__docs %make_install -C source rm -f %{buildroot}%{_datadir}/icu/%{version}/LICENSE make -C source install-doc docdir=__docs chmod +x %{buildroot}%{_libdir}/*.so.* ( cd %{buildroot}%{_bindir} mv icu-config icu-config-%{__isa_bits} ) install -p -m755 -D %{S:2} %{buildroot}%{_bindir}/icu-config %if %{with build_compat} pushd icu/source install -p -m755 lib/*.so.* %{buildroot}%{_libdir}/ popd %endif %check if grep -q @VERSION@ source/tools/*/*.8 source/tools/*/*.1 source/config/*.1; then exit 1 fi %make_build -C source check pushd source LD_LIBRARY_PATH=lib:stubdata:tools/ctestfw:$LD_LIBRARY_PATH bin/uconv -l popd %files %license license.html LICENSE %{_bindir}/derb %{_bindir}/gen* %{_bindir}/makeconv %{_bindir}/pkgdata %{_bindir}/uconv %{_bindir}/icuexportdata %{_sbindir}/* %files -n libicu %license license.html LICENSE %{_libdir}/*.so.* %files -n libicu-devel %{_bindir}/%{name}-config* %{_bindir}/icuinfo %{_includedir}/unicode %{_libdir}/*.so %{_libdir}/pkgconfig/*.pc %{_libdir}/%{name} %{_datadir}/%{name}/%{version}/install-sh %{_datadir}/%{name}/%{version}/mkinstalldirs %{_datadir}/%{name}/%{version}/config %files help %doc readme.html %doc source/__docs/%{name}/html/* %{_mandir}/man1/* %{_mandir}/man8/* %changelog * Sun Oct 27 2024 Funda Wang - 76.1-1 - update to 76.1 - build compat lib within single package, instead of relying on built package - drop binary diff in favour of building data from scratch - mark patch unconditioned - loongarch patch merged upstream * Wed Mar 27 2024 zhangpan - 74.1-2 - delete libicu*.so.73* * Wed Jan 24 2024 zhangpan - 74.1-1 - update to 74.1 * Tue Sep 19 2023 zhouwenpei - 73.2-3 - Fix broken TestHebrewCalendarInTemporalLeapYear * Mon Sep 11 2023 zhangpan - 73.2-2 - delete libicu*.so.72* * Mon Jul 24 2023 zhangpan - 73.2-1 - update to 73.2 * Tue Jun 13 2023 zhangpan - 72.1-6 - delete taboo words * Thu Dec 15 2022 zhouwenpei - 72.1-5 - delete redundant files * Mon Nov 21 2022 zhouwenpei - 72.1-4 - Optimize the patch for add loongarch64 architecture * Mon Nov 21 2022 wuzx - 72.1-3 - Add sw64 architecture * Fri Nov 18 2022 huajingyun - 72.1-2 - add loongarch64 support * Tue Nov 15 2022 zhouwenpei - 72.1-1 - update to icu4c-72.1 * Sat Jun 25 2020 hanhui - 69.1-3 - fix build failed * Thu Jul 16 2020 hanhui - 69.1-2 - delete libicu*.so.67* * Sun Nov 07 2021 sdlzx - 69.1 - update to icu4c-69.1 * Wed Oct 21 2020 jinzhimin - 67.1-2 - modify buildrequire to python3 * Thu Jul 16 2020 hanhui - 67.1 - update to icu4c-67.1 * Fri Mar 20 2020 gulining - 62.1-5 - fix CVE-2020-10531 * Tue Mar 10 2020 songnannan - 62.1-4 - bugfix memory leak * Sat Jan 11 2020 openEuler Buildteam - 62.1-3 - Type:bugfix - Id:NA - SUG:NA - DESC:optimization the spec * Fri Nov 1 2019 openEuler Buildteam - 62.1-2 - Package init