]> git.pld-linux.org Git - packages/glib2.git/blob - glib2.spec
- added introspection bcond to allow bootstrap from scratch
[packages/glib2.git] / glib2.spec
1 # TODO: 
2 # - use -Dmultiarch for arch-dependent binaries? (like gio-querymodules or gio-launch-desktop)
3 #
4 # Conditional build:
5 %bcond_without  apidocs         # gi-docgen based API documentation
6 %bcond_without  introspection   # gi modules
7 %bcond_without  static_libs     # static library
8 %bcond_without  selinux         # SELinux support in gio
9 %bcond_with     sysprof         # sysprof tracing support
10 %bcond_without  systemtap       # systemtap/dtrace tracing support
11
12 Summary:        Useful routines for 'C' programming
13 Summary(cs.UTF-8):      Šikovná knihovna s funkcemi pro pomocné programy
14 Summary(da.UTF-8):      Nyttige biblioteksfunktioner
15 Summary(de.UTF-8):      Eine nützliche Library von Dienstprogramm-Funktionen
16 Summary(es.UTF-8):      Conjunto de funciones gráficas utilitarias
17 Summary(fi.UTF-8):      Kirjasto, jossa on työkalufunktioita
18 Summary(fr.UTF-8):      Bibliothèque de fonctions utilitaires
19 Summary(ja.UTF-8):      便利なユーティリティ関数のライブラリ
20 Summary(pl.UTF-8):      Biblioteka zawierająca wiele użytecznych funkcji C
21 Summary(pt_BR.UTF-8):   Conjunto de funções gráficas utilitárias
22 Summary(tr.UTF-8):      Yararlı ufak yordamlar kitaplığı
23 Summary(zh_CN.UTF-8):   实用工具函数库
24 Name:           glib2
25 Version:        2.80.0
26 Release:        1
27 Epoch:          1
28 License:        LGPL v2+
29 Group:          Libraries
30 Source0:        https://download.gnome.org/sources/glib/2.80/glib-%{version}.tar.xz
31 # Source0-md5:  3a51e2803ecd22c2dadcd07d9475ebe3
32 Patch0:         %{name}-python_shebang.patch
33 URL:            https://www.gtk.org/
34 BuildRequires:  automake
35 BuildRequires:  docbook-dtd412-xml
36 BuildRequires:  docbook-dtd45-xml
37 BuildRequires:  docbook-style-xsl-nons
38 BuildRequires:  elfutils-devel
39 BuildRequires:  gettext-tools
40 %if %(locale -a | grep -q '^C\.utf8$'; echo $?)
41 BuildRequires:  glibc-localedb-all
42 %endif
43 # g-ir-scanner required to build introspection
44 %{?with_introspection:BuildRequires:    gobject-introspection-devel}
45 BuildRequires:  libffi-devel >= 3.0.0
46 BuildRequires:  libmount-devel >= 2.28
47 %{?with_selinux:BuildRequires:  libselinux-devel >= 2.2}
48 BuildRequires:  libstdc++-devel
49 BuildRequires:  libxslt-progs
50 BuildRequires:  meson >= 1.2.0
51 BuildRequires:  ninja >= 1.5
52 BuildRequires:  pcre2-8-devel >= 10.32
53 BuildRequires:  perl-base
54 BuildRequires:  pkgconfig >= 1:0.16
55 # in case of separate libelf (elfutils don't provide .pc file)
56 #BuildRequires: pkgconfig(libelf) >= 0.8.12
57 BuildRequires:  pkgconfig(libffi) >= 3.0.0
58 BuildRequires:  python3 >= 1:3.7
59 BuildRequires:  python3-modules >= 1:3.7
60 BuildRequires:  python3-packaging
61 BuildRequires:  rpm-build >= 4.6
62 BuildRequires:  rpm-perlprov
63 BuildRequires:  rpm-pythonprov
64 BuildRequires:  rpmbuild(macros) >= 2.029
65 BuildRequires:  sed >= 4.0
66 %{?with_sysprof:BuildRequires:  sysprof-devel >= 3.38.0}
67 %{?with_systemtap:BuildRequires:        systemtap-sdt-devel}
68 BuildRequires:  tar >= 1:1.22
69 BuildRequires:  xz
70 BuildRequires:  zlib-devel
71 %if %{with apidocs}
72 BuildRequires:  docutils >= 0.13.1
73 BuildRequires:  gi-docgen >= 2023.1
74 %endif
75 Requires:       iconv
76 Requires:       libmount >= 2.28
77 %{?with_selinux:Requires:       libselinux >= 2.2}
78 Requires:       pcre2-8 >= 10.32
79 Suggests:       gvfs
80 Provides:       glib2-libs
81 Obsoletes:      glib2-libs < 1:2.12.11-3
82 Conflicts:      gobject-introspection < 1.79
83 # see https://bugzilla.xfce.org/show_bug.cgi?id=9709
84 Conflicts:      xfce4-session < 4.10.0-5
85 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
86
87 %description
88 GLib, is a library which includes support routines for C such as
89 lists, trees, hashes, memory allocation, and many other things. GLib
90 includes also generally useful data structures used by GIMP and many
91 other.
92
93 %description -l cs.UTF-8
94 Šikovná knihovna s funkcemi pro pomocné programy. Vývojové knihovny a
95 hlavičky jsou v balíčku glib-devel.
96
97 %description -l da.UTF-8
98 Nyttigt bibliotek med forskellige funktioner. Udviklings- biblioteker
99 og headerfiler er i glib-devel pakken.
100
101 %description -l de.UTF-8
102 Eine nützliche Library von Dienstprogramm-Funktionen.
103 Entwicklungs-Libraries und Header befinden sich in glib-devel.
104
105 %description -l es.UTF-8
106 Conjunto de funciones utilitarias. Bibliotecas de desarrollo y
107 archivos de inclusión están en glib-devel.
108
109 %description -l fi.UTF-8
110 Kirjasto, jossa on työkalufunktioita. Kehitysversiot ja
111 header-tiedostot ovat glib-devel-paketissa.
112
113 %description -l ja.UTF-8
114 GLibはユーティリティ関数を集めた便利なライブラリです。このC言語用ライブラリは、
115 いくつかの問題を解決するよう設計されており、多くのプログラムから要求される使いやすい 関数を提供します。
116
117 GLibはGDK, GTK+他多くのアプリケーションで利用される。このライブラリに依存するアプリケーション
118 等のためにこのglibパッケージをインストールしてください。
119
120 %description -l pl.UTF-8
121 GLib jest zestawem bibliotek zawierających funkcje do obsługi list i
122 drzew, funkcje mieszające, funkcje do alokacji pamięci i dużo innych
123 podstawowych funkcji i różnych struktur danych używanych przez program
124 GIMP i wiele innych.
125
126 %description -l pt_BR.UTF-8
127 Conjunto de funções utilitárias. Bibliotecas de desenvolvimento e
128 arquivos de inclusão estão em glib-devel.
129
130 %description -l tr.UTF-8
131 Yararlı yordamlar kitaplığı. Geliştirme kitaplıkları ve başlık
132 dosyaları glib-devel paketinde yer almaktadır.
133
134 %package devel
135 Summary:        GLib heades files, documentation
136 Summary(es.UTF-8):      Conjunto de funciones gráficas utilitarias para desarrollo
137 Summary(pl.UTF-8):      Pliki nagłówkowe i dokumentacja do GLib
138 Summary(pt_BR.UTF-8):   Conjunto de ferramentas e biblioteca do kit de desenho do GIMP
139 Group:          Development/Libraries
140 Requires:       %{name} = %{epoch}:%{version}-%{release}
141 Requires:       libffi-devel >= 3.0.0
142 Requires:       libmount-devel >= 2.28
143 Requires:       pcre2-8-devel >= 10.32
144 Requires:       python3-modules >= 1:3.7
145 # gio only
146 %{?with_selinux:Requires:       libselinux-devel >= 2.2}
147 Requires:       zlib-devel
148 Conflicts:      gobject-introspection-devel < 1.79
149
150 %description devel
151 Header files for the support library for the GIMP's X libraries, which
152 are available as public libraries. GLib includes generally useful data
153 structures.
154
155 %description devel -l es.UTF-8
156 Conjunto de funciones gráficas utilitarias para desarrollo.
157
158 %description devel -l ja.UTF-8
159 glib2-develパッケージには、一般ライブラリとして有効なGIMPのXライブラリ群
160 (GtkとGDK)をサポートするライブラリ向けにスタティックライブラリとヘッダが 含まれています。
161
162 もしGLibを使ってプログラムを開発するならば、glib-develパッケージをインスト ールしてください。
163
164 %description devel -l pl.UTF-8
165 Pliki nagłówkowe i dokumentacja do GLib przydatna przy pisaniu
166 programów wykorzystujących tę bibliotekę.
167
168 %description devel -l pt_BR.UTF-8
169 Bibliotecas e arquivos de inclusão para a biblioteca de suporte para
170 as bibliotecas X do GIMP, que são disponíveis como bibliotecas
171 públicas. A GLib inclui estruturas de dados genéricas úteis.
172
173 %package static
174 Summary:        Static GLib libraries
175 Summary(pl.UTF-8):      Biblioteki statyczne GLib
176 Summary(pt_BR.UTF-8):   Bibliotecas estáticas para desenvolvimento com GLib
177 Group:          Development/Libraries
178 Requires:       %{name}-devel = %{epoch}:%{version}-%{release}
179 Requires:       pcre2-8-static
180
181 %description static
182 Static GLib libraries.
183
184 %description static -l pl.UTF-8
185 Biblioteki statyczne GLib.
186
187 %description static -l pt_BR.UTF-8
188 Bibliotecas estáticas para desenvolvimento com GLib.
189
190 %package apidocs
191 Summary:        GLib API documetation
192 Summary(pl.UTF-8):      Dokumentacja API GLib
193 Group:          Documentation
194 BuildArch:      noarch
195
196 %description apidocs
197 GLib API documetation.
198
199 %description apidocs -l pl.UTF-8
200 Dokumentacja API GLib.
201
202 %package gdb
203 Summary:        GDB Python pretty printers for GObject/GLib types
204 Summary(pl.UTF-8):      Skrypty Pythona dla GDB do ładnego wypisywania typów GObject/GLib
205 Group:          Development/Debuggers
206 Requires:       gdb
207
208 %description gdb
209 GDB Python pretty printers for GObject/GLib types. This includes
210 support for GObject pointer pretty printing and signal frame
211 compression in backtraces.
212
213 %description gdb -l pl.UTF-8
214 Skrypty Pythona dla GDB do ładnego wypisywania typów GObject/GLib.
215 Obejmują także ładne wypisywanie wskaźników GObject oraz kompresję
216 ramek sygnagłów w zrzutach wywołań (backtrace).
217
218 %package -n bash-completion-gio
219 Summary:        bash-completion for gio utilities
220 Summary(pl.UTF-8):      Bashowe uzupełnianie nazw dla narzędzi gio
221 Group:          Applications/Shells
222 Requires:       bash-completion >= 1:2.0
223 Obsoletes:      bash-completion-gdbus < 1:2.26.0-4
224 BuildArch:      noarch
225
226 %description -n bash-completion-gio
227 bash-completion for gio utilities: gdbus and gsettings.
228
229 %description -n bash-completion-gio -l pl.UTF-8
230 Bashowe uzupełnianie nazw dla narzędzi gio: gdbus i gsettings.
231
232 %package -n systemtap-glib2
233 Summary:        systemtap/dtrace probes for GLib 2
234 Summary(pl.UTF-8):      Sondy systemtap/dtrace dla GLib 2
235 Group:          Development/Tools
236 Requires:       %{name} = %{epoch}:%{version}-%{release}
237 Requires:       systemtap-client
238
239 %description -n systemtap-glib2
240 systemtap/dtrace probes for GLib 2.
241
242 %description -n systemtap-glib2 -l pl.UTF-8
243 Sondy systemtap/dtrace dla GLib 2.
244
245 %prep
246 %setup -q -n glib-%{version}
247 %patch0 -p1
248
249 %build
250 %meson build \
251         %{?debug:--debug} \
252         -Ddtrace=%{__true_false systemtap} \
253         %{!?with_introspection:-Dintrospection=disabled} \
254         -Dsystemtap=%{__true_false systemtap} \
255 %ifarch %{ix86}
256         %{?with_systemtap:-Dtapset_install_dir=%{_datadir}/systemtap/tapset/i386} \
257 %endif
258         -Ddocumentation=%{__true_false apidocs} \
259         -Dselinux=%{?with_selinux:enabled}%{!?with_selinux:disabled} \
260         %{?with_sysprof:-Dsysprof=enabled} \
261         -Dman-pages=enabled
262
263 %ninja_build -C build
264
265 %install
266 rm -rf $RPM_BUILD_ROOT
267 install -d $RPM_BUILD_ROOT%{_libdir}/gio/modules
268
269 %ninja_install -C build
270
271 %if %{without introspection}
272 install -d $RPM_BUILD_ROOT{%{_libdir}/girepository-1.0,%{_datadir}/gir-1.0}
273 %endif
274
275 %if %{with apidocs}
276 install -d $RPM_BUILD_ROOT%{_gidocdir}
277 %{__mv} $RPM_BUILD_ROOT%{_docdir}/glib-2.0 $RPM_BUILD_ROOT%{_gidocdir}
278 %endif
279
280 > $RPM_BUILD_ROOT%{_libdir}/gio/modules/giomodule.cache
281 > $RPM_BUILD_ROOT%{_datadir}/glib-2.0/schemas/gschemas.compiled
282
283 %py3_comp $RPM_BUILD_ROOT%{_datadir}/glib-2.0/gdb
284 %py3_ocomp $RPM_BUILD_ROOT%{_datadir}/glib-2.0/gdb
285
286 # adjust for compatibility with names supported by glibc
287 %{__mv} $RPM_BUILD_ROOT%{_localedir}/{sr@ije,sr@ijekavian}
288
289 # not supported by glibc yet
290 %{__rm} -r $RPM_BUILD_ROOT%{_localedir}/ie
291
292 %find_lang glib20
293
294 %clean
295 rm -rf $RPM_BUILD_ROOT
296
297 %post
298 /sbin/ldconfig
299
300 umask 022
301 %{_bindir}/gio-querymodules %{_libdir}/gio/modules || :
302
303 %postun -p /sbin/ldconfig
304
305 %files -f glib20.lang
306 %defattr(644,root,root,755)
307 %doc README.md NEWS SECURITY.md
308 %attr(755,root,root) %{_bindir}/gapplication
309 %attr(755,root,root) %{_bindir}/gdbus
310 %attr(755,root,root) %{_bindir}/gio
311 %attr(755,root,root) %{_bindir}/gio-querymodules
312 %attr(755,root,root) %{_bindir}/glib-compile-schemas
313 %attr(755,root,root) %{_bindir}/gsettings
314 %attr(755,root,root) %{_libexecdir}/gio-launch-desktop
315 %attr(755,root,root) %{_libdir}/libgio-2.0.so.*.*.*
316 %attr(755,root,root) %ghost %{_libdir}/libgio-2.0.so.0
317 %attr(755,root,root) %{_libdir}/libgirepository-2.0.so.*.*.*
318 %attr(755,root,root) %ghost %{_libdir}/libgirepository-2.0.so.0
319 %attr(755,root,root) %{_libdir}/libglib-2.0.so.*.*.*
320 %attr(755,root,root) %ghost %{_libdir}/libglib-2.0.so.0
321 %attr(755,root,root) %{_libdir}/libgmodule-2.0.so.*.*.*
322 %attr(755,root,root) %ghost %{_libdir}/libgmodule-2.0.so.0
323 %attr(755,root,root) %{_libdir}/libgobject-2.0.so.*.*.*
324 %attr(755,root,root) %ghost %{_libdir}/libgobject-2.0.so.0
325 %attr(755,root,root) %{_libdir}/libgthread-2.0.so.*.*.*
326 %attr(755,root,root) %ghost %{_libdir}/libgthread-2.0.so.0
327 %dir %{_libdir}/gio
328 %dir %{_libdir}/gio/modules
329 %ghost %{_libdir}/gio/modules/giomodule.cache
330 %dir %{_libdir}/girepository-1.0
331 %if %{with introspection}
332 %{_libdir}/girepository-1.0/Gio-2.0.typelib
333 %{_libdir}/girepository-1.0/GioUnix-2.0.typelib
334 %{_libdir}/girepository-1.0/GIRepository-3.0.typelib
335 %{_libdir}/girepository-1.0/GLib-2.0.typelib
336 %{_libdir}/girepository-1.0/GLibUnix-2.0.typelib
337 %{_libdir}/girepository-1.0/GModule-2.0.typelib
338 %{_libdir}/girepository-1.0/GObject-2.0.typelib
339 %endif
340 %dir %{_datadir}/glib-2.0
341 %dir %{_datadir}/glib-2.0/schemas
342 %ghost %{_datadir}/glib-2.0/schemas/gschemas.compiled
343 %{_mandir}/man1/gapplication.1*
344 %{_mandir}/man1/gdbus.1*
345 %{_mandir}/man1/gio.1*
346 %{_mandir}/man1/gio-querymodules.1*
347 %{_mandir}/man1/glib-compile-schemas.1*
348 %{_mandir}/man1/gsettings.1*
349
350 %files devel
351 %defattr(644,root,root,755)
352 %attr(755,root,root) %{_bindir}/gdbus-codegen
353 %attr(755,root,root) %{_bindir}/gi-compile-repository
354 %attr(755,root,root) %{_bindir}/gi-decompile-typelib
355 %attr(755,root,root) %{_bindir}/gi-inspect-typelib
356 %attr(755,root,root) %{_bindir}/glib-compile-resources
357 %attr(755,root,root) %{_bindir}/glib-genmarshal
358 %attr(755,root,root) %{_bindir}/glib-gettextize
359 %attr(755,root,root) %{_bindir}/glib-mkenums
360 %attr(755,root,root) %{_bindir}/gobject-query
361 %attr(755,root,root) %{_bindir}/gresource
362 %attr(755,root,root) %{_bindir}/gtester
363 %attr(755,root,root) %{_bindir}/gtester-report
364 %attr(755,root,root) %{_libdir}/libgio-2.0.so
365 %attr(755,root,root) %{_libdir}/libgirepository-2.0.so
366 %attr(755,root,root) %{_libdir}/libglib-2.0.so
367 %attr(755,root,root) %{_libdir}/libgmodule-2.0.so
368 %attr(755,root,root) %{_libdir}/libgobject-2.0.so
369 %attr(755,root,root) %{_libdir}/libgthread-2.0.so
370 %dir %{_libdir}/glib-2.0
371 %{_libdir}/glib-2.0/include
372 %{_includedir}/gio-unix-2.0
373 %{_includedir}/glib-2.0
374 %dir %{_datadir}/gir-1.0
375 %if %{with introspection}
376 %{_datadir}/gir-1.0/Gio-2.0.gir
377 %{_datadir}/gir-1.0/GioUnix-2.0.gir
378 %{_datadir}/gir-1.0/GIRepository-3.0.gir
379 %{_datadir}/gir-1.0/GLib-2.0.gir
380 %{_datadir}/gir-1.0/GLibUnix-2.0.gir
381 %{_datadir}/gir-1.0/GModule-2.0.gir
382 %{_datadir}/gir-1.0/GObject-2.0.gir
383 %endif
384 %dir %{_datadir}/glib-2.0/codegen
385 %{_datadir}/glib-2.0/codegen/*.py*
386 %{_datadir}/glib-2.0/dtds
387 %dir %{_datadir}/glib-2.0/gettext
388 %{_datadir}/glib-2.0/gettext/po
389 %{_datadir}/glib-2.0/schemas/gschema.dtd
390 %{_datadir}/glib-2.0/valgrind
391 %{_datadir}/gettext/its/gschema.its
392 %{_datadir}/gettext/its/gschema.loc
393 %{_pkgconfigdir}/gio-2.0.pc
394 %{_pkgconfigdir}/gio-unix-2.0.pc
395 %{_pkgconfigdir}/girepository-2.0.pc
396 %{_pkgconfigdir}/glib-2.0.pc
397 %{_pkgconfigdir}/gmodule-2.0.pc
398 %{_pkgconfigdir}/gmodule-export-2.0.pc
399 %{_pkgconfigdir}/gmodule-no-export-2.0.pc
400 %{_pkgconfigdir}/gobject-2.0.pc
401 %{_pkgconfigdir}/gthread-2.0.pc
402 %{_aclocaldir}/glib-2.0.m4
403 %{_aclocaldir}/glib-gettext.m4
404 %{_aclocaldir}/gsettings.m4
405 %{_mandir}/man1/gdbus-codegen.1*
406 %{_mandir}/man1/gi-compile-repository.1*
407 %{_mandir}/man1/gi-decompile-typelib.1*
408 %{_mandir}/man1/gi-inspect-typelib.1*
409 %{_mandir}/man1/glib-compile-resources.1*
410 %{_mandir}/man1/glib-genmarshal.1*
411 %{_mandir}/man1/glib-gettextize.1*
412 %{_mandir}/man1/glib-mkenums.1*
413 %{_mandir}/man1/gobject-query.1*
414 %{_mandir}/man1/gresource.1*
415 %{_mandir}/man1/gtester-report.1*
416 %{_mandir}/man1/gtester.1*
417
418 %if %{with static_libs}
419 %files static
420 %defattr(644,root,root,755)
421 %{_libdir}/libgio-2.0.a
422 %{_libdir}/libgirepository-2.0.a
423 %{_libdir}/libglib-2.0.a
424 %{_libdir}/libgmodule-2.0.a
425 %{_libdir}/libgobject-2.0.a
426 %{_libdir}/libgthread-2.0.a
427 %endif
428
429 %if %{with apidocs}
430 %files apidocs
431 %defattr(644,root,root,755)
432 %{_gidocdir}/glib-2.0
433 %endif
434
435 %files gdb
436 %defattr(644,root,root,755)
437 %{_datadir}/gdb/auto-load/usr/%{_lib}/libglib-2.0.so.*.*.*-gdb.py
438 %{_datadir}/gdb/auto-load/usr/%{_lib}/libgobject-2.0.so.*.*.*-gdb.py
439 %{_datadir}/glib-2.0/gdb
440
441 %files -n bash-completion-gio
442 %defattr(644,root,root,755)
443 %{bash_compdir}/gapplication
444 %{bash_compdir}/gdbus
445 %{bash_compdir}/gio
446 %{bash_compdir}/gresource
447 %{bash_compdir}/gsettings
448
449 %if %{with systemtap}
450 %files -n systemtap-glib2
451 %defattr(644,root,root,755)
452 %{_datadir}/systemtap/tapset/*/libgio-2.0*.stp
453 %{_datadir}/systemtap/tapset/*/libglib-2.0*.stp
454 %{_datadir}/systemtap/tapset/*/libgobject-2.0*.stp
455 %endif
This page took 0.108565 seconds and 3 git commands to generate.