1 # TODO: use -Dmultiarch for arch-dependent binaries? (like gio-querymodules or gio-launch-desktop)
4 %bcond_without apidocs # gtk-doc based API documentation
5 %bcond_without static_libs # static library
6 %bcond_without selinux # SELinux support in gio
7 %bcond_with sysprof # sysprof tracing support
8 %bcond_without systemtap # systemtap/dtrace tracing support
10 Summary: Useful routines for 'C' programming
11 Summary(cs.UTF-8): Šikovná knihovna s funkcemi pro pomocné programy
12 Summary(da.UTF-8): Nyttige biblioteksfunktioner
13 Summary(de.UTF-8): Eine nützliche Library von Dienstprogramm-Funktionen
14 Summary(es.UTF-8): Conjunto de funciones gráficas utilitarias
15 Summary(fi.UTF-8): Kirjasto, jossa on työkalufunktioita
16 Summary(fr.UTF-8): Bibliothèque de fonctions utilitaires
17 Summary(ja.UTF-8): 便利なユーティリティ関数のライブラリ
18 Summary(pl.UTF-8): Biblioteka zawierająca wiele użytecznych funkcji C
19 Summary(pt_BR.UTF-8): Conjunto de funções gráficas utilitárias
20 Summary(tr.UTF-8): Yararlı ufak yordamlar kitaplığı
21 Summary(zh_CN.UTF-8): 实用工具函数库
28 Source0: https://download.gnome.org/sources/glib/2.74/glib-%{version}.tar.xz
29 # Source0-md5: 06745709784eddb4a3860e1814f795e8
30 Patch0: %{name}-python_shebang.patch
31 Patch1: gtk-doc-build.patch
32 URL: https://www.gtk.org/
33 BuildRequires: docbook-dtd412-xml
34 BuildRequires: docbook-dtd45-xml
35 BuildRequires: docbook-style-xsl-nons
36 BuildRequires: elfutils-devel
37 BuildRequires: gettext-tools
38 %if %(locale -a | grep -q '^C\.utf8$'; echo $?)
39 BuildRequires: glibc-localedb-all
42 BuildRequires: gtk-doc >= 1.32.1
44 BuildRequires: libffi-devel >= 3.0.0
45 BuildRequires: libmount-devel >= 2.28
46 %{?with_selinux:BuildRequires: libselinux-devel >= 2.2}
47 BuildRequires: libstdc++-devel
48 BuildRequires: libxslt-progs
49 BuildRequires: meson >= 0.60.0
50 BuildRequires: ninja >= 1.5
51 BuildRequires: pcre2-8-devel >= 10.32
52 BuildRequires: perl-base
53 BuildRequires: pkgconfig >= 1:0.16
54 # in case of separate libelf (elfutils don't provide .pc file)
55 #BuildRequires: pkgconfig(libelf) >= 0.8.12
56 BuildRequires: pkgconfig(libffi) >= 3.0.0
57 BuildRequires: python3 >= 1:3.5
58 BuildRequires: rpm-build >= 4.6
59 BuildRequires: rpm-perlprov
60 BuildRequires: rpm-pythonprov
61 BuildRequires: rpmbuild(macros) >= 1.752
62 BuildRequires: sed >= 4.0
63 %{?with_sysprof:BuildRequires: sysprof-devel >= 3.38.0}
64 %{?with_systemtap:BuildRequires: systemtap-sdt-devel}
65 BuildRequires: tar >= 1:1.22
67 BuildRequires: zlib-devel
69 Requires: libmount >= 2.28
70 %{?with_selinux:Requires: libselinux >= 2.2}
71 Requires: pcre2-8 >= 10.32
74 Obsoletes: glib2-libs < 1:2.12.11-3
75 # see https://bugzilla.xfce.org/show_bug.cgi?id=9709
76 Conflicts: xfce4-session < 4.10.0-5
77 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
80 GLib, is a library which includes support routines for C such as
81 lists, trees, hashes, memory allocation, and many other things. GLib
82 includes also generally useful data structures used by GIMP and many
85 %description -l cs.UTF-8
86 Šikovná knihovna s funkcemi pro pomocné programy. Vývojové knihovny a
87 hlavičky jsou v balíčku glib-devel.
89 %description -l da.UTF-8
90 Nyttigt bibliotek med forskellige funktioner. Udviklings- biblioteker
91 og headerfiler er i glib-devel pakken.
93 %description -l de.UTF-8
94 Eine nützliche Library von Dienstprogramm-Funktionen.
95 Entwicklungs-Libraries und Header befinden sich in glib-devel.
97 %description -l es.UTF-8
98 Conjunto de funciones utilitarias. Bibliotecas de desarrollo y
99 archivos de inclusión están en glib-devel.
101 %description -l fi.UTF-8
102 Kirjasto, jossa on työkalufunktioita. Kehitysversiot ja
103 header-tiedostot ovat glib-devel-paketissa.
105 %description -l ja.UTF-8
106 GLibはユーティリティ関数を集めた便利なライブラリです。このC言語用ライブラリは、
107 いくつかの問題を解決するよう設計されており、多くのプログラムから要求される使いやすい 関数を提供します。
109 GLibはGDK, GTK+他多くのアプリケーションで利用される。このライブラリに依存するアプリケーション
110 等のためにこのglibパッケージをインストールしてください。
112 %description -l pl.UTF-8
113 GLib jest zestawem bibliotek zawierających funkcje do obsługi list i
114 drzew, funkcje mieszające, funkcje do alokacji pamięci i dużo innych
115 podstawowych funkcji i różnych struktur danych używanych przez program
118 %description -l pt_BR.UTF-8
119 Conjunto de funções utilitárias. Bibliotecas de desenvolvimento e
120 arquivos de inclusão estão em glib-devel.
122 %description -l tr.UTF-8
123 Yararlı yordamlar kitaplığı. Geliştirme kitaplıkları ve başlık
124 dosyaları glib-devel paketinde yer almaktadır.
127 Summary: GLib heades files, documentation
128 Summary(es.UTF-8): Conjunto de funciones gráficas utilitarias para desarrollo
129 Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja do GLib
130 Summary(pt_BR.UTF-8): Conjunto de ferramentas e biblioteca do kit de desenho do GIMP
131 Group: Development/Libraries
132 Requires: %{name} = %{epoch}:%{version}-%{release}
133 Requires: libffi-devel >= 3.0.0
134 Requires: libmount-devel >= 2.28
135 Requires: pcre2-8-devel >= 10.32
136 Requires: python3-modules >= 1:3.5
138 %{?with_selinux:Requires: libselinux-devel >= 2.2}
142 Header files for the support library for the GIMP's X libraries, which
143 are available as public libraries. GLib includes generally useful data
146 %description devel -l es.UTF-8
147 Conjunto de funciones gráficas utilitarias para desarrollo.
149 %description devel -l ja.UTF-8
150 glib2-develパッケージには、一般ライブラリとして有効なGIMPのXライブラリ群
151 (GtkとGDK)をサポートするライブラリ向けにスタティックライブラリとヘッダが 含まれています。
153 もしGLibを使ってプログラムを開発するならば、glib-develパッケージをインスト ールしてください。
155 %description devel -l pl.UTF-8
156 Pliki nagłówkowe i dokumentacja do GLib przydatna przy pisaniu
157 programów wykorzystujących tę bibliotekę.
159 %description devel -l pt_BR.UTF-8
160 Bibliotecas e arquivos de inclusão para a biblioteca de suporte para
161 as bibliotecas X do GIMP, que são disponíveis como bibliotecas
162 públicas. A GLib inclui estruturas de dados genéricas úteis.
165 Summary: Static GLib libraries
166 Summary(pl.UTF-8): Biblioteki statyczne GLib
167 Summary(pt_BR.UTF-8): Bibliotecas estáticas para desenvolvimento com GLib
168 Group: Development/Libraries
169 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
172 Static GLib libraries.
174 %description static -l pl.UTF-8
175 Biblioteki statyczne GLib.
177 %description static -l pt_BR.UTF-8
178 Bibliotecas estáticas para desenvolvimento com GLib.
181 Summary: GLib API documetation
182 Summary(pl.UTF-8): Dokumentacja API GLib
184 Requires: gtk-doc-common
188 GLib API documetation.
190 %description apidocs -l pl.UTF-8
191 Dokumentacja API GLib.
194 Summary: GDB Python pretty printers for GObject/GLib types
195 Summary(pl.UTF-8): Skrypty Pythona dla GDB do ładnego wypisywania typów GObject/GLib
196 Group: Development/Debuggers
200 GDB Python pretty printers for GObject/GLib types. This includes
201 support for GObject pointer pretty printing and signal frame
202 compression in backtraces.
204 %description gdb -l pl.UTF-8
205 Skrypty Pythona dla GDB do ładnego wypisywania typów GObject/GLib.
206 Obejmują także ładne wypisywanie wskaźników GObject oraz kompresję
207 ramek sygnagłów w zrzutach wywołań (backtrace).
209 %package -n bash-completion-gio
210 Summary: bash-completion for gio utilities
211 Summary(pl.UTF-8): Bashowe uzupełnianie nazw dla narzędzi gio
212 Group: Applications/Shells
213 Requires: bash-completion >= 2.0
214 Obsoletes: bash-completion-gdbus < 1:2.26.0-4
217 %description -n bash-completion-gio
218 bash-completion for gio utilities: gdbus and gsettings.
220 %description -n bash-completion-gio -l pl.UTF-8
221 Bashowe uzupełnianie nazw dla narzędzi gio: gdbus i gsettings.
223 %package -n systemtap-glib2
224 Summary: systemtap/dtrace probes for GLib 2
225 Summary(pl.UTF-8): Sondy systemtap/dtrace dla GLib 2
226 Group: Development/Tools
227 Requires: %{name} = %{epoch}:%{version}-%{release}
228 Requires: systemtap-client
230 %description -n systemtap-glib2
231 systemtap/dtrace probes for GLib 2.
233 %description -n systemtap-glib2 -l pl.UTF-8
234 Sondy systemtap/dtrace dla GLib 2.
237 %setup -q -n glib-%{version}
244 -Ddtrace=%{__true_false systemtap} \
245 -Dsystemtap=%{__true_false systemtap} \
247 %{?with_systemtap:-Dtapset_install_dir=%{_datadir}/systemtap/tapset/i386} \
249 -Dgtk_doc=%{__true_false apidocs} \
250 -Dselinux=%{?with_selinux:enabled}%{!?with_selinux:disabled} \
251 %{?with_sysprof:-Dsysprof=enabled} \
254 %ninja_build -C build
257 rm -rf $RPM_BUILD_ROOT
259 install -d $RPM_BUILD_ROOT%{_libdir}/gio/modules
261 %ninja_install -C build
263 > $RPM_BUILD_ROOT%{_libdir}/gio/modules/giomodule.cache
264 > $RPM_BUILD_ROOT%{_datadir}/glib-2.0/schemas/gschemas.compiled
266 %py3_comp $RPM_BUILD_ROOT%{_datadir}/glib-2.0/gdb
267 %py3_ocomp $RPM_BUILD_ROOT%{_datadir}/glib-2.0/gdb
269 # adjust for compatibility with names supported by glibc
270 %{__mv} $RPM_BUILD_ROOT%{_localedir}/{sr@ije,sr@ijekavian}
275 rm -rf $RPM_BUILD_ROOT
281 %{_bindir}/gio-querymodules %{_libdir}/gio/modules || :
283 %postun -p /sbin/ldconfig
285 %files -f glib20.lang
286 %defattr(644,root,root,755)
287 %doc README.md NEWS SECURITY.md
288 %attr(755,root,root) %{_bindir}/gapplication
289 %attr(755,root,root) %{_bindir}/gdbus
290 %attr(755,root,root) %{_bindir}/gio
291 %attr(755,root,root) %{_bindir}/gio-querymodules
292 %attr(755,root,root) %{_bindir}/glib-compile-schemas
293 %attr(755,root,root) %{_bindir}/gsettings
294 %attr(755,root,root) %{_libexecdir}/gio-launch-desktop
295 %attr(755,root,root) %{_libdir}/libgio-2.0.so.*.*.*
296 %attr(755,root,root) %ghost %{_libdir}/libgio-2.0.so.0
297 %attr(755,root,root) %{_libdir}/libglib-2.0.so.*.*.*
298 %attr(755,root,root) %ghost %{_libdir}/libglib-2.0.so.0
299 %attr(755,root,root) %{_libdir}/libgmodule-2.0.so.*.*.*
300 %attr(755,root,root) %ghost %{_libdir}/libgmodule-2.0.so.0
301 %attr(755,root,root) %{_libdir}/libgobject-2.0.so.*.*.*
302 %attr(755,root,root) %ghost %{_libdir}/libgobject-2.0.so.0
303 %attr(755,root,root) %{_libdir}/libgthread-2.0.so.*.*.*
304 %attr(755,root,root) %ghost %{_libdir}/libgthread-2.0.so.0
306 %dir %{_libdir}/gio/modules
307 %ghost %{_libdir}/gio/modules/giomodule.cache
308 %dir %{_datadir}/glib-2.0
309 %dir %{_datadir}/glib-2.0/schemas
310 %ghost %{_datadir}/glib-2.0/schemas/gschemas.compiled
311 %{_mandir}/man1/gapplication.1*
312 %{_mandir}/man1/gdbus.1*
313 %{_mandir}/man1/gio.1*
314 %{_mandir}/man1/gio-querymodules.1*
315 %{_mandir}/man1/glib-compile-schemas.1*
316 %{_mandir}/man1/gsettings.1*
319 %defattr(644,root,root,755)
320 %attr(755,root,root) %{_bindir}/gdbus-codegen
321 %attr(755,root,root) %{_bindir}/glib-compile-resources
322 %attr(755,root,root) %{_bindir}/glib-genmarshal
323 %attr(755,root,root) %{_bindir}/glib-gettextize
324 %attr(755,root,root) %{_bindir}/glib-mkenums
325 %attr(755,root,root) %{_bindir}/gobject-query
326 %attr(755,root,root) %{_bindir}/gresource
327 %attr(755,root,root) %{_bindir}/gtester
328 %attr(755,root,root) %{_bindir}/gtester-report
329 %attr(755,root,root) %{_libdir}/libgio-2.0.so
330 %attr(755,root,root) %{_libdir}/libglib-2.0.so
331 %attr(755,root,root) %{_libdir}/libgmodule-2.0.so
332 %attr(755,root,root) %{_libdir}/libgobject-2.0.so
333 %attr(755,root,root) %{_libdir}/libgthread-2.0.so
335 %{_includedir}/gio-unix-2.0
336 %{_includedir}/glib-2.0
337 %dir %{_datadir}/glib-2.0/codegen
338 %{_datadir}/glib-2.0/codegen/*.py*
339 %dir %{_datadir}/glib-2.0/gettext
340 %{_datadir}/glib-2.0/gettext/po
341 %{_datadir}/glib-2.0/schemas/gschema.dtd
342 %{_datadir}/glib-2.0/valgrind
343 %{_datadir}/gettext/its/gschema.its
344 %{_datadir}/gettext/its/gschema.loc
345 %{_pkgconfigdir}/gio-2.0.pc
346 %{_pkgconfigdir}/gio-unix-2.0.pc
347 %{_pkgconfigdir}/glib-2.0.pc
348 %{_pkgconfigdir}/gmodule-2.0.pc
349 %{_pkgconfigdir}/gmodule-export-2.0.pc
350 %{_pkgconfigdir}/gmodule-no-export-2.0.pc
351 %{_pkgconfigdir}/gobject-2.0.pc
352 %{_pkgconfigdir}/gthread-2.0.pc
353 %{_aclocaldir}/glib-2.0.m4
354 %{_aclocaldir}/glib-gettext.m4
355 %{_aclocaldir}/gsettings.m4
356 %{_mandir}/man1/gdbus-codegen.1*
357 %{_mandir}/man1/glib-compile-resources.1*
358 %{_mandir}/man1/glib-genmarshal.1*
359 %{_mandir}/man1/glib-gettextize.1*
360 %{_mandir}/man1/glib-mkenums.1*
361 %{_mandir}/man1/gobject-query.1*
362 %{_mandir}/man1/gresource.1*
363 %{_mandir}/man1/gtester-report.1*
364 %{_mandir}/man1/gtester.1*
366 %if %{with static_libs}
368 %defattr(644,root,root,755)
369 %{_libdir}/libgio-2.0.a
370 %{_libdir}/libglib-2.0.a
371 %{_libdir}/libgmodule-2.0.a
372 %{_libdir}/libgobject-2.0.a
373 %{_libdir}/libgthread-2.0.a
378 %defattr(644,root,root,755)
381 %{_gtkdocdir}/gobject
385 %defattr(644,root,root,755)
386 %{_datadir}/gdb/auto-load/usr/%{_lib}/libglib-2.0.so.*.*.*-gdb.py
387 %{_datadir}/gdb/auto-load/usr/%{_lib}/libgobject-2.0.so.*.*.*-gdb.py
388 %{_datadir}/glib-2.0/gdb
390 %files -n bash-completion-gio
391 %defattr(644,root,root,755)
392 %{bash_compdir}/gapplication
393 %{bash_compdir}/gdbus
395 %{bash_compdir}/gresource
396 %{bash_compdir}/gsettings
398 %if %{with systemtap}
399 %files -n systemtap-glib2
400 %defattr(644,root,root,755)
401 %{_datadir}/systemtap/tapset/*/libgio-2.0*.stp
402 %{_datadir}/systemtap/tapset/*/libglib-2.0*.stp
403 %{_datadir}/systemtap/tapset/*/libgobject-2.0*.stp