summaryrefslogtreecommitdiff
path: root/icu.spec
diff options
context:
space:
mode:
Diffstat (limited to 'icu.spec')
-rw-r--r--icu.spec250
1 files changed, 250 insertions, 0 deletions
diff --git a/icu.spec b/icu.spec
new file mode 100644
index 0000000..607d9c8
--- /dev/null
+++ b/icu.spec
@@ -0,0 +1,250 @@
+%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 <fundawang@yeah.net> - 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<zhangpan103@h-partners.com> - 74.1-2
+- delete libicu*.so.73*
+
+* Wed Jan 24 2024 zhangpan<zhangpan103@h-partners.com> - 74.1-1
+- update to 74.1
+
+* Tue Sep 19 2023 zhouwenpei<zhouwenpei@h-partners.com> - 73.2-3
+- Fix broken TestHebrewCalendarInTemporalLeapYear
+
+* Mon Sep 11 2023 zhangpan<zhangpan103@h-partners.com> - 73.2-2
+- delete libicu*.so.72*
+
+* Mon Jul 24 2023 zhangpan<zhangpan103@h-partners.com> - 73.2-1
+- update to 73.2
+
+* Tue Jun 13 2023 zhangpan<zhangpan103@h-partners.com> - 72.1-6
+- delete taboo words
+
+* Thu Dec 15 2022 zhouwenpei<zhouwenpei1@h-partners.com> - 72.1-5
+- delete redundant files
+
+* Mon Nov 21 2022 zhouwenpei<zhouwenpei1@h-partners.com> - 72.1-4
+- Optimize the patch for add loongarch64 architecture
+
+* Mon Nov 21 2022 wuzx <wuzx1226@qq.com> - 72.1-3
+- Add sw64 architecture
+
+* Fri Nov 18 2022 huajingyun <huajingyun@loongson.cn> - 72.1-2
+- add loongarch64 support
+
+* Tue Nov 15 2022 zhouwenpei <zhouwenpei1@h-partners.com> - 72.1-1
+- update to icu4c-72.1
+
+* Sat Jun 25 2020 hanhui <hanhui15@h-partners.com> - 69.1-3
+- fix build failed
+
+* Thu Jul 16 2020 hanhui <hanhui15@h-partners.com> - 69.1-2
+- delete libicu*.so.67*
+
+* Sun Nov 07 2021 sdlzx <hdu_sdlzx@163.com> - 69.1
+- update to icu4c-69.1
+
+* Wed Oct 21 2020 jinzhimin<jinzhimin2@huawei.com> - 67.1-2
+- modify buildrequire to python3
+
+* Thu Jul 16 2020 hanhui <hanhui15@huawei.com> - 67.1
+- update to icu4c-67.1
+
+* Fri Mar 20 2020 gulining <gulining1@huawei.com> - 62.1-5
+- fix CVE-2020-10531
+
+* Tue Mar 10 2020 songnannan <songnannan2@huawei.com> - 62.1-4
+- bugfix memory leak
+
+* Sat Jan 11 2020 openEuler Buildteam <buildteam@openeuler.org> - 62.1-3
+- Type:bugfix
+- Id:NA
+- SUG:NA
+- DESC:optimization the spec
+
+* Fri Nov 1 2019 openEuler Buildteam <buildteam@openeuler.org> - 62.1-2
+- Package init