1 |
%define major 53 |
2 |
%define libname %mklibname icu %{major} |
3 |
%define develname %mklibname icu -d |
4 |
|
5 |
%define dataname %{name}%{major}-data |
6 |
|
7 |
%define tarballver %(echo %version|sed -e 's|\\.|_|g') |
8 |
|
9 |
Summary: International Components for Unicode |
10 |
Name: icu |
11 |
Version: 53.1 |
12 |
%define subrel 4 |
13 |
Release: %mkrel 12 |
14 |
Epoch: 1 |
15 |
License: MIT |
16 |
Group: System/Libraries |
17 |
URL: http://www.icu-project.org/index.html |
18 |
Source0: http://download.icu-project.org/files/icu4c/%{version}/%{name}4c-%{tarballver}-src.tgz |
19 |
Source1: http://download.icu-project.org/files/icu4c/%{version}/%{name}4c-%{tarballver}-docs.zip |
20 |
Patch0: icu-50.1-disable-renaming.patch |
21 |
Patch6: icu-4.6.1-do-not-promote-ldflags.patch |
22 |
Patch7: icu-53.1-CVE-2014-7923-CVE-2014-7926.patch |
23 |
Patch8: icu-53.1-regex2.patch |
24 |
Patch9: icu-CVE-2014-6585-CVE-2014-6591.patch |
25 |
Patch10: icu-55-CVE-2014-8146.patch |
26 |
Patch11: icu-55-CVE-2014-8147.patch |
27 |
Patch12: icu-55-uresbund-integer-overflow.patch |
28 |
# fix CVE-2015-1270, patch from chromium 44 |
29 |
Patch13: ucnv_name.patch |
30 |
Patch14: icu-52.1-CVE-2015-4760.patch |
31 |
Patch15: icu-56.1-CVE-2015-4844.patch |
32 |
Patch16: icu-57.1-CVE-2016-0494.patch |
33 |
Patch17: icu-53.1-CVE-2016-6293.patch |
34 |
BuildRequires: doxygen |
35 |
Requires: %{libname} = %{epoch}:%{version} |
36 |
|
37 |
%description |
38 |
The International Components for Unicode (ICU) libraries provide robust and |
39 |
full-featured Unicode services on a wide variety of platforms. ICU supports |
40 |
the most current version of the Unicode standard, and they provide support |
41 |
for supplementary Unicode characters (needed for GB 18030 repertoire support). |
42 |
|
43 |
As computing environments become more heterogeneous, software portability |
44 |
becomes more important. ICU lets you produce the same results across all the |
45 |
various platforms you support, without sacrificing performance. It offers |
46 |
great flexibility to extend and customize the supplied services, which |
47 |
include: |
48 |
|
49 |
* Text: Unicode text handling, full character properties and character set |
50 |
conversions (500+ codepages) |
51 |
* Analysis: Unicode regular expressions; full Unicode sets; character, word |
52 |
and line boundaries |
53 |
* Comparison: Language sensitive collation and searching |
54 |
* Transformations: normalization, upper/lowercase, script transliterations |
55 |
(50+ pairs) |
56 |
* Locales: Comprehensive locale data (230+) and resource bundle architecture |
57 |
* Complex Text Layout: Arabic, Hebrew, Indic and Thai |
58 |
* Time: Multi-calendar and time zone |
59 |
* Formatting and Parsing: dates, times, numbers, currencies, messages and |
60 |
rule based |
61 |
|
62 |
%package -n %{dataname} |
63 |
Summary: Shared data for the International Components for Unicode |
64 |
Group: System/Libraries |
65 |
BuildArch: noarch |
66 |
Conflicts: icu-devel < 1:50.1-3 |
67 |
|
68 |
%description -n %{dataname} |
69 |
Shared data for the International Components for Unicode. |
70 |
|
71 |
%package doc |
72 |
Summary: Documentation for the International Components for Unicode |
73 |
Group: System/Libraries |
74 |
Requires: %{name} |
75 |
BuildArch: noarch |
76 |
|
77 |
%description doc |
78 |
Documentation for the International Components for Unicode. |
79 |
|
80 |
%package -n %{libname} |
81 |
Summary: Libraries for the International Components for Unicode |
82 |
Group: System/Libraries |
83 |
Requires: %{dataname} = %{epoch}:%{version}-%{release} |
84 |
|
85 |
%description -n %{libname} |
86 |
Libraries for the International Components for Unicode. |
87 |
|
88 |
%package -n %{develname} |
89 |
Summary: Development files for the International Components for Unicode |
90 |
Group: Development/Other |
91 |
Requires: %{libname} = %{epoch}:%{version}-%{release} |
92 |
Provides: %{name}%{major}-devel = %{epoch}:%{version}-%{release} |
93 |
Provides: %{name}-devel = %{epoch}:%{version}-%{release} |
94 |
Provides: lib%{name}-devel = %{epoch}:%{version}-%{release} |
95 |
Obsoletes: %mklibname -d icu 36 |
96 |
Obsoletes: %mklibname -d icu 34 |
97 |
|
98 |
%description -n %{develname} |
99 |
Development files and headers for the International Components for Unicode. |
100 |
|
101 |
%prep |
102 |
%setup -q -n %{name} |
103 |
%patch0 -p1 -b .renaming |
104 |
#patch6 -p0 -b .ldflags |
105 |
%patch7 -p1 -b .regex-cves |
106 |
%patch8 -p1 -b .regex2 |
107 |
%patch9 -p0 -b .CVE-2014-6585-CVE-2014-6591 |
108 |
%patch10 -p3 -b .CVE-2014-8146 |
109 |
%patch11 -p3 -b .CVE-2014-8147 |
110 |
%patch12 -p3 -b .overflow |
111 |
%patch13 -p1 -b .ucnv_name |
112 |
%patch14 -p1 -b .CVE-2015-4760 |
113 |
%patch15 -p1 -b .CVE-2015-4844 |
114 |
%patch16 -p1 -b .CVE-2016-0494 |
115 |
%patch17 -p1 -b .CVE-2016-6293 |
116 |
|
117 |
mkdir -p docs |
118 |
pushd docs |
119 |
unzip -q %{SOURCE1} |
120 |
popd |
121 |
|
122 |
%build |
123 |
pushd source |
124 |
%configure2_5x \ |
125 |
--with-library-bits=64else32 \ |
126 |
--with-data-packaging=archive \ |
127 |
--disable-renaming \ |
128 |
--disable-samples |
129 |
%make |
130 |
%make doc |
131 |
popd |
132 |
|
133 |
%install |
134 |
%makeinstall_std -C source |
135 |
%multiarch_binaries %{buildroot}%{_bindir}/icu-config |
136 |
|
137 |
%files |
138 |
%{_bindir}/* |
139 |
%exclude %{_bindir}/icu-config |
140 |
%exclude %{multiarch_bindir} |
141 |
%{_sbindir}/* |
142 |
|
143 |
%files -n %{dataname} |
144 |
%dir %{_datadir}/%{name} |
145 |
%dir %{_datadir}/%{name}/%{version} |
146 |
%{_datadir}/%{name}/%{version}/icudt%{major}l.dat |
147 |
|
148 |
%files doc |
149 |
%doc readme.html docs/* |
150 |
%{_mandir}/man1/* |
151 |
%{_mandir}/man8/* |
152 |
|
153 |
%files -n %{libname} |
154 |
%{_libdir}/*.so.%{major}* |
155 |
|
156 |
%files -n %{develname} |
157 |
%{_bindir}/icu-config |
158 |
%{multiarch_bindir}/icu-config |
159 |
%{_libdir}/*.so |
160 |
%{_libdir}/pkgconfig/*.pc |
161 |
%dir %{_includedir}/layout |
162 |
%dir %{_includedir}/unicode |
163 |
%{_includedir}/layout/* |
164 |
%{_includedir}/unicode/* |
165 |
%dir %{_libdir}/%{name} |
166 |
%dir %{_libdir}/%{name}/%{version} |
167 |
%{_libdir}/%{name}/%{version}/Makefile.inc |
168 |
%{_libdir}/%{name}/%{version}/pkgdata.inc |
169 |
%{_libdir}/%{name}/Makefile.inc |
170 |
%{_libdir}/%{name}/current |
171 |
%{_libdir}/%{name}/pkgdata.inc |
172 |
%{_datadir}/%{name}/%{version}/config |
173 |
%{_datadir}/%{name}/%{version}/install-sh |
174 |
%{_datadir}/%{name}/%{version}/license.html |
175 |
%{_datadir}/%{name}/%{version}/mkinstalldirs |