source: spec/trunk/SPECS/icu.spec@ 1330

Last change on this file since 1330 was 1282, checked in by dmik, 8 years ago

icu: Release version 56.1-2.

File size: 5.4 KB
Line 
1# Note: this .spec is borrowed from icu-56.1-3.fc24.src.rpm
2
3Name: icu
4Version: 56.1
5Release: 2%{?dist}
6Summary: International Components for Unicode
7Group: Development/Tools
8License: MIT and UCD and Public Domain
9URL: http://www.icu-project.org/
10#Source0: http://download.icu-project.org/files/icu4c/56.1/icu4c-56_1-src.tgz
11
12# @todo (dmik) no doxygen RPM yet
13#BuildRequires: doxygen
14BuildRequires: autoconf
15Requires: lib%{name}%{?_isa} = %{version}-%{release}
16
17%scm_source svn http://svn.netlabs.org/repos/ports/icu/trunk 1388
18
19BuildRequires: gcc make
20
21Patch4: gennorm2-man.patch
22Patch5: icuinfo-man.patch
23
24%description
25Tools and utilities for developing with icu.
26
27%package -n lib%{name}
28Summary: International Components for Unicode - libraries
29Group: System Environment/Libraries
30
31%description -n lib%{name}
32The International Components for Unicode (ICU) libraries provide
33robust and full-featured Unicode services on a wide variety of
34platforms. ICU supports the most current version of the Unicode
35standard, and they provide support for supplementary Unicode
36characters (needed for GB 18030 repertoire support).
37As computing environments become more heterogeneous, software
38portability becomes more important. ICU lets you produce the same
39results across all the various platforms you support, without
40sacrificing performance. It offers great flexibility to extend and
41customize the supplied services.
42
43%package -n lib%{name}-devel
44Summary: Development files for International Components for Unicode
45Group: Development/Libraries
46Requires: lib%{name}%{?_isa} = %{version}-%{release}
47Requires: pkgconfig
48
49%description -n lib%{name}-devel
50Includes and definitions for developing with icu.
51
52# @todo (dmik) no doxygen RPM yet
53#%package -n lib%{name}-doc
54#Summary: Documentation for International Components for Unicode
55#Group: Documentation
56#BuildArch: noarch
57
58# @todo (dmik) no doxygen RPM yet
59#%description -n lib%{name}-doc
60#%{summary}.
61
62%prep
63
64%scm_setup
65
66%patch4 -p1
67%patch5 -p1
68
69%build
70
71cd source
72autoreconf -fvi
73export LDFLAGS="-Zhigh-mem -Zomf -Zargs-wild -Zargs-resp"
74%configure --with-data-packaging=library --disable-samples \
75 --disable-renaming \
76 --enable-shared --disable-static
77
78# The configure --disable-renaming and possibly other options
79# result in icu/source/uconfig.h.prepend being created, include that content in
80# icu/source/common/unicode/uconfig.h to propagate to consumer packages.
81test -f uconfig.h.prepend && sed -e '/^#define __UCONFIG_H__/ r uconfig.h.prepend' -i common/unicode/uconfig.h
82
83# We use --disable-renaming in configure options to build a non-versioned librariy for
84# system-wide installation on OS/2. This installation also requires hiding draft and
85# deprecated API to maintain backward ABI compatibility (see
86# http://userguide.icu-project.org/design#TOC-ICU-Binary-Compatibility:-Using-ICU-as-an-Operating-System-Level-Library).
87# Note that we cannot use --disable-draft because it defines U_HIDE_INTERNAL_API but
88# this breaks the build (upstream bug). Note that we also cannot use U_HIDE_SYSTEM_API
89# or U_HIDE_DEPRECATED_API (despite readme.html recommedation) for the same reason...
90# Note that we actually can't use U_HIDE_DRAFT_API... This part of ICU is really broken.
91# And the open source model is really evil. Really. Low code quality.
92#echo '
93##define U_HIDE_DRAFT_API 1
94#' > uconfig.h.prepend
95#sed -e '/^#define __UCONFIG_H__/ r uconfig.h.prepend' -i common/unicode/uconfig.h
96
97make %{?_smp_mflags}
98# @todo (dmik) no doxygen RPM yet
99#make %{?_smp_mflags} doc
100
101%install
102
103# @todo (dmik) no doxygen RPM yet
104#rm -rf $RPM_BUILD_ROOT source/__docs
105make %{?_smp_mflags} -C source install DESTDIR=$RPM_BUILD_ROOT
106
107# @todo (dmik) no doxygen RPM yet
108#make %{?_smp_mflags} -C source install-doc docdir=__docs
109
110%check
111
112# test to ensure that -j(X>1) didn't "break" man pages. b.f.u #2357
113if grep -q @VERSION@ source/tools/*/*.8 source/tools/*/*.1 source/config/*.1; then
114 exit 1
115fi
116# make %{?_smp_mflags} -C source check
117
118%files
119%defattr(-,root,root,-)
120%{_bindir}/derb.exe
121%{_bindir}/genbrk.exe
122%{_bindir}/gencfu.exe
123%{_bindir}/gencnval.exe
124%{_bindir}/gendict.exe
125%{_bindir}/genrb.exe
126%{_bindir}/makeconv.exe
127%{_bindir}/pkgdata.exe
128%{_bindir}/uconv.exe
129%{_sbindir}/*
130%{_mandir}/man1/derb.1*
131%{_mandir}/man1/gencfu.1*
132%{_mandir}/man1/gencnval.1*
133%{_mandir}/man1/gendict.1*
134%{_mandir}/man1/genrb.1*
135%{_mandir}/man1/genbrk.1*
136%{_mandir}/man1/makeconv.1*
137%{_mandir}/man1/pkgdata.1*
138%{_mandir}/man1/uconv.1*
139%{_mandir}/man8/*.8*
140
141%files -n lib%{name}
142%defattr(-,root,root,-)
143%doc license.html readme.html
144%{_libdir}/*.dll
145
146%files -n lib%{name}-devel
147%defattr(-,root,root,-)
148%{_bindir}/%{name}-config
149%{_bindir}/icuinfo.exe
150%{_mandir}/man1/%{name}-config.1*
151%{_mandir}/man1/icuinfo.1*
152%{_includedir}/layout
153%{_includedir}/unicode
154%{_libdir}/*_dll.a
155%{_libdir}/pkgconfig/*.pc
156%{_libdir}/%{name}
157%dir %{_datadir}/%{name}
158%dir %{_datadir}/%{name}/%{version}
159%{_datadir}/%{name}/%{version}/install-sh
160%{_datadir}/%{name}/%{version}/mkinstalldirs
161%{_datadir}/%{name}/%{version}/config
162%doc %{_datadir}/%{name}/%{version}/license.html
163
164# @todo (dmik) no doxygen RPM yet
165#%files -n lib%{name}-doc
166#%defattr(-,root,root,-)
167#%doc license.html readme.html
168#%doc source/__docs/%{name}/html/*
169
170%changelog
171* Wed Dec 27 2017 Dmitriy Kuminov <coding@dmik.org> 56.1-2
172- Build with high memory support.
173- Use scm_source macro and friends.
174
175* Tue Mar 15 2016 Dmitriy Kuminov <coding@dmik.org> 56.1-1
176- Initial package for version 56.1.
Note: See TracBrowser for help on using the repository browser.