summaryrefslogtreecommitdiff
path: root/harfbuzz.spec
blob: e480c14922a7129ab434fb0dccad19268f4baab9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
#
# Conditional build:
%bcond_without	static_libs	# static libraries build
%bcond_without	graphite2	# Graphite2 library usage
%bcond_without	icu		# ICU integration
%bcond_without	tests		# "make check" call

Summary:	HarfBuzz - internationalized text shaping library
Summary(pl.UTF-8):	HarfBuzz - biblioteka rysująca tekst z obsługą wielu języków
Name:		harfbuzz
Version:	2.4.0
Release:	2
License:	MIT
Group:		Libraries
Source0:	https://www.freedesktop.org/software/harfbuzz/release/%{name}-%{version}.tar.bz2
# Source0-md5:	ebccf8203103766383d4c5a0767b102d
Patch0:		pc_deps.patch
URL:		https://www.freedesktop.org/wiki/HarfBuzz
BuildRequires:	autoconf >= 2.64
BuildRequires:	automake >= 1:1.13.0
BuildRequires:	cairo-devel >= 1.8.0
# hb-fc-list is disabled in util/Makefile.am
#BuildRequires:	fontconfig-devel
%{?with_tests:BuildRequires:	fonttools}
BuildRequires:	freetype-devel >= 1:2.9
BuildRequires:	glib2-devel >= 1:2.38
BuildRequires:	gobject-introspection-devel >= 1.34.0
%{?with_graphite2:BuildRequires:	graphite2-devel >= 1.2.0}
BuildRequires:	gtk-doc >= 1.15
%{?with_icu:BuildRequires:	libicu-devel}
BuildRequires:	libstdc++-devel
BuildRequires:	libtool >= 2:2.2
%{?with_tests:BuildRequires:	otsanitizer}
BuildRequires:	pkgconfig >= 1:0.27
BuildRequires:	sed >= 4.0
Requires:	freetype >= 1:2.9
Requires:	glib2 >= 1:2.38
%{?with_graphite2:Requires:	graphite2 >= 1.2.0}
BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)

%description
Internationalized OpenType text layout and rendering library.

%description -l pl.UTF-8
Biblioteka rozmieszczająca i rysująca tekst z fontów OpenType,
obsługująca wiele języków.

%package devel
Summary:	Header files for HarfBuzz library
Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki HarfBuzz
Group:		Development/Libraries
Requires:	%{name} = %{version}-%{release}
Requires:	freetype-devel >= 1:2.9
Requires:	glib2-devel >= 1:2.38
%{?with_graphite2:Requires:	graphite2-devel >= 1.2.0}
Requires:	libstdc++-devel

%description devel
Header files for HarfBuzz library.

%description devel -l pl.UTF-8
Pliki nagłówkowe biblioteki HarfBuzz.

%package static
Summary:	Static HarfBuzz library
Summary(pl.UTF-8):	Statyczna biblioteka HarfBuzz
Group:		Development/Libraries
Requires:	%{name}-devel = %{version}-%{release}

%description static
Static HarfBuzz library.

%description static -l pl.UTF-8
Statyczna biblioteka HarfBuzz.

%package gobject
Summary:	Harfbuzz GObject interface
Summary(pl.UTF-8):	Interfejs GObject do biblioteki Harfbuzz
Group:		Libraries
Requires:	%{name} = %{version}-%{release}

%description gobject
Harfbuzz GObject interface.

%description gobject -l pl.UTF-8
Interfejs GObject do biblioteki Harfbuzz.

%package gobject-devel
Summary:	Header files for Harfbuzz GObject interface
Summary(pl.UTF-8):	Pliki nagłówkowe interfejsu GObject do biblioteki Harfbuzz
Group:		Development/Libraries
Requires:	%{name}-devel = %{version}-%{release}
Requires:	%{name}-gobject = %{version}-%{release}

%description gobject-devel
This is the package containing the header files for Harfbuzz GObject
interface.

%description gobject-devel -l pl.UTF-8
Ten pakiet zawiera pliki nagłówkowe interfejsu GObject do biblioteki
Harfbuzz.

%package gobject-static
Summary:	Static Harfbuzz GObject library
Summary(pl.UTF-8):	Statyczna biblioteka Harfbuzz GObject
Group:		Development/Libraries
Requires:	%{name}-gobject-devel = %{version}-%{release}

%description gobject-static
Static Harfbuzz GObject library.

%description gobject-static -l pl.UTF-8
Statyczna biblioteka Harfbuzz GObject.

%package icu
Summary:	HarfBuzz text shaping library - ICU integration
Summary(pl.UTF-8):	Biblioteka HarfBuzz do rysowania tekstu - integracja z ICU
Group:		Libraries
Requires:	%{name} = %{version}-%{release}

%description icu
HarfBuzz text shaping library - ICU integration.

%description icu -l pl.UTF-8
Biblioteka HarfBuzz do rysowania tekstu - integracja z ICU.

%package icu-devel
Summary:	Header file for HarfBuzz ICU library
Summary(pl.UTF-8):	Plik nagłówkowy biblioteki HarfBuzz ICU
Group:		Development/Libraries
Requires:	%{name}-devel = %{version}-%{release}
Requires:	%{name}-icu = %{version}-%{release}
Requires:	libicu-devel

%description icu-devel
Header file for HarfBuzz ICU library.

%description icu-devel -l pl.UTF-8
Plik nagłówkowy biblioteki HarfBuzz ICU.

%package icu-static
Summary:	Static HarfBuzz ICU library
Summary(pl.UTF-8):	Biblioteka statyczna HarfBuzz ICU
Group:		Development/Libraries
Requires:	%{name}-icu-devel = %{version}-%{release}

%description icu-static
Static HarfBuzz ICU library.

%description icu-static -l pl.UTF-8
Biblioteka statyczna HarfBuzz ICU.

%package subset
Summary:	HarfBuzz text shaping library - font subsetter
Summary(pl.UTF-8):	Biblioteka HarfBuzz do rysowania tekstu - font subsetter
Group:		Libraries
Requires:	%{name} = %{version}-%{release}

%description subset
HarfBuzz text shaping library - font subsetter.

%description subset -l pl.UTF-8
Biblioteka HarfBuzz do rysowania tekstu - font subsetter.

%package subset-devel
Summary:	Header files for HarfBuzz subset library
Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki HarfBuzz subset
Group:		Development/Libraries
Requires:	%{name}-devel = %{version}-%{release}
Requires:	%{name}-subset = %{version}-%{release}

%description subset-devel
Header files for HarfBuzz subset library.

%description subset-devel -l pl.UTF-8
Pliki nagłówkowe biblioteki HarfBuzz subset.

%package subset-static
Summary:	Static HarfBuzz subset library
Summary(pl.UTF-8):	Biblioteka statyczna HarfBuzz subset
Group:		Development/Libraries
Requires:	%{name}-subset-devel = %{version}-%{release}

%description subset-static
Static HarfBuzz subset library.

%description subset-static -l pl.UTF-8
Biblioteka statyczna HarfBuzz subset.

%package progs
Summary:	HarfBuzz command-line utilities
Summary(pl.UTF-8):	Narzędzia HarfBuzz uruchamiane z linii poleceń
Group:		Libraries
Requires:	%{name} = %{version}-%{release}
Requires:	cairo >= 1.8.0

%description progs
HarfBuzz command-line utilities.

%description progs -l pl.UTF-8
Narzędzia HarfBuzz uruchamiane z linii poleceń.

%package apidocs
Summary:	HarfBuzz API documentation
Summary(pl.UTF-8):	Dokumentacja API bibliotek HarfBuzz
Group:		Documentation
%if "%{_rpmversion}" >= "5"
BuildArch:	noarch
%endif

%description apidocs
API documentation for HarfBuzz libraries.

%description apidocs -l pl.UTF-8
Dokumentacja API bibliotek HarfBuzz.

%prep
%setup -q

%patch0 -p1

%build
%{__libtoolize}
%{__aclocal} -I m4
%{__autoconf}
%{__autoheader}
%{__automake}
%configure \
	--disable-silent-rules \
	%{?with_static_libs:--enable-static} \
	--with-cairo \
	--with-freetype \
	--with-glib \
	--with-gobject \
	%{?with_graphite2:--with-graphite2} \
	--with-html-dir=%{_gtkdocdir} \
	--with-icu%{!?with_icu:=no}
%{__make}

%{?with_tests:%{__make} check}

%install
rm -rf $RPM_BUILD_ROOT
%{__make} install \
	DESTDIR=$RPM_BUILD_ROOT

%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la

%clean
rm -rf $RPM_BUILD_ROOT

%post	-p /sbin/ldconfig
%postun	-p /sbin/ldconfig

%post	gobject -p /sbin/ldconfig
%postun	gobject -p /sbin/ldconfig

%post	icu -p /sbin/ldconfig
%postun	icu -p /sbin/ldconfig

%post	subset -p /sbin/ldconfig
%postun	subset -p /sbin/ldconfig

%files
%defattr(644,root,root,755)
%doc AUTHORS COPYING ChangeLog NEWS README THANKS TODO
%attr(755,root,root) %{_libdir}/libharfbuzz.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libharfbuzz.so.0

%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libharfbuzz.so
%dir %{_includedir}/harfbuzz
%{_includedir}/harfbuzz/hb.h
%{_includedir}/harfbuzz/hb-aat.h
%{_includedir}/harfbuzz/hb-aat-layout.h
%{_includedir}/harfbuzz/hb-blob.h
%{_includedir}/harfbuzz/hb-buffer.h
%{_includedir}/harfbuzz/hb-common.h
%{_includedir}/harfbuzz/hb-deprecated.h
%{_includedir}/harfbuzz/hb-face.h
%{_includedir}/harfbuzz/hb-font.h
%{_includedir}/harfbuzz/hb-ft.h
%{_includedir}/harfbuzz/hb-glib.h
%{?with_graphite2:%{_includedir}/harfbuzz/hb-graphite2.h}
%{_includedir}/harfbuzz/hb-map.h
%{_includedir}/harfbuzz/hb-ot-color.h
%{_includedir}/harfbuzz/hb-ot-deprecated.h
%{_includedir}/harfbuzz/hb-ot-font.h
%{_includedir}/harfbuzz/hb-ot-layout.h
%{_includedir}/harfbuzz/hb-ot-math.h
%{_includedir}/harfbuzz/hb-ot-name.h
%{_includedir}/harfbuzz/hb-ot-shape.h
%{_includedir}/harfbuzz/hb-ot-var.h
%{_includedir}/harfbuzz/hb-ot.h
%{_includedir}/harfbuzz/hb-set.h
%{_includedir}/harfbuzz/hb-shape-plan.h
%{_includedir}/harfbuzz/hb-shape.h
%{_includedir}/harfbuzz/hb-unicode.h
%{_includedir}/harfbuzz/hb-version.h
%{_pkgconfigdir}/harfbuzz.pc
%dir %{_libdir}/cmake/harfbuzz
%{_libdir}/cmake/harfbuzz/harfbuzz-config.cmake

%if %{with static_libs}
%files static
%defattr(644,root,root,755)
%{_libdir}/libharfbuzz.a
%endif

%files gobject
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libharfbuzz-gobject.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libharfbuzz-gobject.so.0
%{_libdir}/girepository-1.0/HarfBuzz-0.0.typelib

%files gobject-devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libharfbuzz-gobject.so
%{_includedir}/harfbuzz/hb-gobject.h
%{_includedir}/harfbuzz/hb-gobject-enums.h
%{_includedir}/harfbuzz/hb-gobject-structs.h
%{_pkgconfigdir}/harfbuzz-gobject.pc
%{_datadir}/gir-1.0/HarfBuzz-0.0.gir

%if %{with static_libs}
%files gobject-static
%defattr(644,root,root,755)
%{_libdir}/libharfbuzz-gobject.a
%endif

%if %{with icu}
%files icu
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libharfbuzz-icu.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libharfbuzz-icu.so.0

%files icu-devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libharfbuzz-icu.so
%{_includedir}/harfbuzz/hb-icu.h
%{_pkgconfigdir}/harfbuzz-icu.pc

%if %{with static_libs}
%files icu-static
%defattr(644,root,root,755)
%{_libdir}/libharfbuzz-icu.a
%endif
%endif

%files subset
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libharfbuzz-subset.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libharfbuzz-subset.so.0

%files subset-devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libharfbuzz-subset.so
%{_includedir}/harfbuzz/hb-subset.h
%{_pkgconfigdir}/harfbuzz-subset.pc

%if %{with static_libs}
%files subset-static
%defattr(644,root,root,755)
%{_libdir}/libharfbuzz-subset.a
%endif

%files progs
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/hb-ot-shape-closure
%attr(755,root,root) %{_bindir}/hb-shape
%attr(755,root,root) %{_bindir}/hb-subset
%attr(755,root,root) %{_bindir}/hb-view

%files apidocs
%defattr(644,root,root,755)
%{_gtkdocdir}/harfbuzz