1 ###############################################################################
2 # if you build icu date files,
3 # please remove file source/data/in/icudt60l.dat file
4 ###############################################################################
6 %define tzdata_version 2021e
11 Summary: International Components for Unicode
12 Group: System/Libraries
13 License: ICU and Unicode-TOU and BSD-2.0
14 URL: http://www.icu-project.org/
15 Source0: %{name}-%{version}.tar.gz
16 Source1: tzdata%{tzdata_version}.tar.gz
17 Source2: set_disable_renameing.patch
18 Source3: Disable-the-default-LDFLAGSICUDT.patch
19 Source4: Add_PIE_option_for_tzcode.patch
20 Source5: Set_define_false_and_true.patch
22 Source1001: icu.manifest
23 BuildRequires: doxygen
24 BuildRequires: autoconf
28 Tools and utilities for developing with icu.
31 Summary: International Components for Unicode - libraries
33 %description -n libicu
34 The International Components for Unicode (ICU) libraries provide
35 robust and full-featured Unicode services on a wide variety of
36 platforms. ICU supports the most current version of the Unicode
37 standard, and they provide support for supplementary Unicode
38 characters (needed for GB 18030 repertoire support).
39 As computing environments become more heterogeneous, software
40 portability becomes more important. ICU lets you produce the same
41 results across all the various platforms you support, without
42 sacrificing performance. It offers great flexibility to extend and
43 customize the supplied services.
45 %package -n libicu-devel
46 Summary: Development files for International Components for Unicode
47 Requires: libicu = %{version}-%{release}
50 %description -n libicu-devel
51 Includes and definitions for developing with icu.
53 %if "%{?profile}" == "tv"
54 %package -n libicu-tzdata
55 Summary: package for ICU TimeZone Updating
56 Requires: libicu = %{version}-%{release}
59 %description -n libicu-tzdata
60 Initial setup for ICU timezone .res file
66 %{__patch} -p1 < %{SOURCE2}
67 %{__patch} -p1 < %{SOURCE3}
68 %{__patch} -p1 < %{SOURCE4}
69 %{__patch} -p1 < %{SOURCE5}
71 %if "%{?profile}" == "tv"
72 cp %{SOURCE1} ./source/tools/tzcode
76 export CFLAGS="$CFLAGS -D_TIZEN_FEATURE_ -fPIC"
77 export CXXFLAGS="$CXXFLAGS -D_TIZEN_FEATURE_ -fPIC"
78 export LINKFLAGS=" -pie"
82 %{configure} --enable-static=no \
83 --enable-renaming=no \
85 --enable-plugins=yes \
88 --with-data-packaging=archive
90 --with-data-packaging=library
92 %{__make} %{?_smp_mflags}
96 # %__make check || exit 0
104 chmod +x %{buildroot}/%{_libdir}/lib*.so.*
105 %if "%{?profile}" == "tv"
106 mkdir -p %{buildroot}/opt/share/icu_tzdata/
107 mkdir -p %{buildroot}/usr/share/icu_zoneinfo/
108 export ICUDATA_NAME=`cat ./data/makedata.mak | grep "^U_ICUDATA_NAME=" | head -n 1 | sed -e 's/^.*=//g' | sed -e 's/\r$//g'`
109 export ICUDATA_ENDIAN_SUFFIX=`cat ./data/makedata.mak | grep "^U_ICUDATA_ENDIAN_SUFFIX=" | head -n 1 | sed -e 's/^.*=//g' | sed -e 's/\r$//g'`
110 echo "============================================="
111 echo "ICUDATA_NAME [$ICUDATA_NAME]"
112 echo "ICUDATA_ENDIAN_SUFFIX [$ICUDATA_ENDIAN_SUFFIX]"
113 echo "============================================="
114 cp -af ./data/out/build/"$ICUDATA_NAME$ICUDATA_ENDIAN_SUFFIX"/zoneinfo64.res %{buildroot}/usr/share/icu_zoneinfo/
115 cp -af ./data/out/build/"$ICUDATA_NAME$ICUDATA_ENDIAN_SUFFIX"/metaZones.res %{buildroot}/usr/share/icu_zoneinfo/
116 cp -af ./data/out/build/"$ICUDATA_NAME$ICUDATA_ENDIAN_SUFFIX"/timezoneTypes.res %{buildroot}/usr/share/icu_zoneinfo/
117 ln -sf /usr/share/icu_zoneinfo/zoneinfo64.res %{buildroot}/opt/share/icu_tzdata/zoneinfo64.res
118 ln -sf /usr/share/icu_zoneinfo/metaZones.res %{buildroot}/opt/share/icu_tzdata/metaZones.res
119 ln -sf /usr/share/icu_zoneinfo/timezoneTypes.res %{buildroot}/opt/share/icu_tzdata/timezoneTypes.res
120 cp -af ./data/misc/timezoneTypes.txt %{buildroot}/opt/share/icu_tzdata/
121 cp -af ./data/misc/metaZones.txt %{buildroot}/opt/share/icu_tzdata/
122 cp -af ./tools/tzcode/zoneinfo %{buildroot}/usr/share/icu_zoneinfo/
123 cp -af ./tools/tzcode/zone.tab %{buildroot}/usr/share/icu_zoneinfo/
124 cp -af ./tools/tzcode/icu_zone.txt %{buildroot}/usr/share/icu_zoneinfo/
125 cp -af ./data/misc/zoneinfo64.txt %{buildroot}/usr/share/icu_zoneinfo/
127 mkdir -p %{buildroot}/usr/sbin/icu_bin/
128 cp ./bin/zic %{buildroot}/usr/sbin/icu_bin/
129 cp ./bin/tz2icu %{buildroot}/usr/sbin/icu_bin/
135 %post -n libicu -p /sbin/ldconfig
137 %postun -n libicu -p /sbin/ldconfig
140 %manifest %{name}.manifest
144 %manifest %{name}.manifest
157 %{_bindir}/icu-config
158 %{_bindir}/icuexportdata
160 %dir %{_datadir}/icu/%{version}
161 %{_datadir}/icu/%{version}/config/mh-linux
162 %{_datadir}/icu/%{version}/install-sh
163 %{_datadir}/icu/%{version}/LICENSE
164 %{_datadir}/icu/%{version}/mkinstalldirs
166 %{_datadir}/icu/%{version}/*.dat
169 %files -n libicu-devel
170 %manifest %{name}.manifest
172 %{_includedir}/unicode
174 %{_libdir}/pkgconfig/icu-*.pc
177 %if "%{?profile}" == "tv"
178 %files -n libicu-tzdata
179 %{_sbindir}/icu_bin/*
180 /opt/share/icu_tzdata/*
181 %{_datadir}/icu_zoneinfo/*