# - use -Dmultiarch for arch-dependent binaries? (like gio-querymodules or gio-launch-desktop)
#
# Conditional build:
-%bcond_without apidocs # gtk-doc based API documentation
+%bcond_without apidocs # gi-docgen based API documentation
+%bcond_without introspection # gi modules
%bcond_without static_libs # static library
%bcond_without selinux # SELinux support in gio
%bcond_with sysprof # sysprof tracing support
Summary(tr.UTF-8): Yararlı ufak yordamlar kitaplığı
Summary(zh_CN.UTF-8): 实用工具函数库
Name: glib2
-Version: 2.76.3
+Version: 2.80.0
Release: 1
Epoch: 1
License: LGPL v2+
Group: Libraries
-Source0: https://download.gnome.org/sources/glib/2.76/glib-%{version}.tar.xz
-# Source0-md5: 9e8f5c00f0cdf71c7e47e554bfbf9dcb
+Source0: https://download.gnome.org/sources/glib/2.80/glib-%{version}.tar.xz
+# Source0-md5: 3a51e2803ecd22c2dadcd07d9475ebe3
Patch0: %{name}-python_shebang.patch
-Patch1: gtk-doc-build.patch
URL: https://www.gtk.org/
BuildRequires: automake
BuildRequires: docbook-dtd412-xml
%if %(locale -a | grep -q '^C\.utf8$'; echo $?)
BuildRequires: glibc-localedb-all
%endif
+# g-ir-scanner required to build introspection
+%{?with_introspection:BuildRequires: gobject-introspection-devel}
BuildRequires: libffi-devel >= 3.0.0
BuildRequires: libmount-devel >= 2.28
%{?with_selinux:BuildRequires: libselinux-devel >= 2.2}
BuildRequires: libstdc++-devel
BuildRequires: libxslt-progs
-BuildRequires: meson >= 0.60.0
+BuildRequires: meson >= 1.2.0
BuildRequires: ninja >= 1.5
BuildRequires: pcre2-8-devel >= 10.32
BuildRequires: perl-base
# in case of separate libelf (elfutils don't provide .pc file)
#BuildRequires: pkgconfig(libelf) >= 0.8.12
BuildRequires: pkgconfig(libffi) >= 3.0.0
-BuildRequires: python3 >= 1:3.5
-BuildRequires: python3-modules >= 1:3.5
+BuildRequires: python3 >= 1:3.7
+BuildRequires: python3-modules >= 1:3.7
+BuildRequires: python3-packaging
BuildRequires: rpm-build >= 4.6
BuildRequires: rpm-perlprov
BuildRequires: rpm-pythonprov
-BuildRequires: rpmbuild(macros) >= 1.752
+BuildRequires: rpmbuild(macros) >= 2.029
BuildRequires: sed >= 4.0
%{?with_sysprof:BuildRequires: sysprof-devel >= 3.38.0}
%{?with_systemtap:BuildRequires: systemtap-sdt-devel}
BuildRequires: zlib-devel
%if %{with apidocs}
BuildRequires: docutils >= 0.13.1
-BuildRequires: gtk-doc >= 1.32.1
+BuildRequires: gi-docgen >= 2023.1
%endif
Requires: iconv
Requires: libmount >= 2.28
Suggests: gvfs
Provides: glib2-libs
Obsoletes: glib2-libs < 1:2.12.11-3
+Conflicts: gobject-introspection < 1.79
# see https://bugzilla.xfce.org/show_bug.cgi?id=9709
Conflicts: xfce4-session < 4.10.0-5
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Requires: libffi-devel >= 3.0.0
Requires: libmount-devel >= 2.28
Requires: pcre2-8-devel >= 10.32
-Requires: python3-modules >= 1:3.5
+Requires: python3-modules >= 1:3.7
# gio only
%{?with_selinux:Requires: libselinux-devel >= 2.2}
Requires: zlib-devel
+Conflicts: gobject-introspection-devel < 1.79
%description devel
Header files for the support library for the GIMP's X libraries, which
Summary: GLib API documetation
Summary(pl.UTF-8): Dokumentacja API GLib
Group: Documentation
-Requires: gtk-doc-common
BuildArch: noarch
%description apidocs
%prep
%setup -q -n glib-%{version}
%patch0 -p1
-%patch1 -p1
%build
%meson build \
%{?debug:--debug} \
-Ddtrace=%{__true_false systemtap} \
+ %{!?with_introspection:-Dintrospection=disabled} \
-Dsystemtap=%{__true_false systemtap} \
%ifarch %{ix86}
%{?with_systemtap:-Dtapset_install_dir=%{_datadir}/systemtap/tapset/i386} \
%endif
- -Dgtk_doc=%{__true_false apidocs} \
+ -Ddocumentation=%{__true_false apidocs} \
-Dselinux=%{?with_selinux:enabled}%{!?with_selinux:disabled} \
%{?with_sysprof:-Dsysprof=enabled} \
- -Dman=true
+ -Dman-pages=enabled
%ninja_build -C build
%install
rm -rf $RPM_BUILD_ROOT
-
install -d $RPM_BUILD_ROOT%{_libdir}/gio/modules
%ninja_install -C build
+%if %{without introspection}
+install -d $RPM_BUILD_ROOT{%{_libdir}/girepository-1.0,%{_datadir}/gir-1.0}
+%endif
+
%if %{with apidocs}
-# gvariant documentation (generated by rst2html5)
-%{__mv} $RPM_BUILD_ROOT%{_docdir}/glib-2.0 $RPM_BUILD_ROOT%{_gtkdocdir}
+install -d $RPM_BUILD_ROOT%{_gidocdir}
+%{__mv} $RPM_BUILD_ROOT%{_docdir}/glib-2.0 $RPM_BUILD_ROOT%{_gidocdir}
%endif
> $RPM_BUILD_ROOT%{_libdir}/gio/modules/giomodule.cache
%attr(755,root,root) %{_libexecdir}/gio-launch-desktop
%attr(755,root,root) %{_libdir}/libgio-2.0.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libgio-2.0.so.0
+%attr(755,root,root) %{_libdir}/libgirepository-2.0.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libgirepository-2.0.so.0
%attr(755,root,root) %{_libdir}/libglib-2.0.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libglib-2.0.so.0
%attr(755,root,root) %{_libdir}/libgmodule-2.0.so.*.*.*
%dir %{_libdir}/gio
%dir %{_libdir}/gio/modules
%ghost %{_libdir}/gio/modules/giomodule.cache
+%dir %{_libdir}/girepository-1.0
+%if %{with introspection}
+%{_libdir}/girepository-1.0/Gio-2.0.typelib
+%{_libdir}/girepository-1.0/GioUnix-2.0.typelib
+%{_libdir}/girepository-1.0/GIRepository-3.0.typelib
+%{_libdir}/girepository-1.0/GLib-2.0.typelib
+%{_libdir}/girepository-1.0/GLibUnix-2.0.typelib
+%{_libdir}/girepository-1.0/GModule-2.0.typelib
+%{_libdir}/girepository-1.0/GObject-2.0.typelib
+%endif
%dir %{_datadir}/glib-2.0
%dir %{_datadir}/glib-2.0/schemas
%ghost %{_datadir}/glib-2.0/schemas/gschemas.compiled
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/gdbus-codegen
+%attr(755,root,root) %{_bindir}/gi-compile-repository
+%attr(755,root,root) %{_bindir}/gi-decompile-typelib
+%attr(755,root,root) %{_bindir}/gi-inspect-typelib
%attr(755,root,root) %{_bindir}/glib-compile-resources
%attr(755,root,root) %{_bindir}/glib-genmarshal
%attr(755,root,root) %{_bindir}/glib-gettextize
%attr(755,root,root) %{_bindir}/gtester
%attr(755,root,root) %{_bindir}/gtester-report
%attr(755,root,root) %{_libdir}/libgio-2.0.so
+%attr(755,root,root) %{_libdir}/libgirepository-2.0.so
%attr(755,root,root) %{_libdir}/libglib-2.0.so
%attr(755,root,root) %{_libdir}/libgmodule-2.0.so
%attr(755,root,root) %{_libdir}/libgobject-2.0.so
%attr(755,root,root) %{_libdir}/libgthread-2.0.so
-%{_libdir}/glib-2.0
+%dir %{_libdir}/glib-2.0
+%{_libdir}/glib-2.0/include
%{_includedir}/gio-unix-2.0
%{_includedir}/glib-2.0
+%dir %{_datadir}/gir-1.0
+%if %{with introspection}
+%{_datadir}/gir-1.0/Gio-2.0.gir
+%{_datadir}/gir-1.0/GioUnix-2.0.gir
+%{_datadir}/gir-1.0/GIRepository-3.0.gir
+%{_datadir}/gir-1.0/GLib-2.0.gir
+%{_datadir}/gir-1.0/GLibUnix-2.0.gir
+%{_datadir}/gir-1.0/GModule-2.0.gir
+%{_datadir}/gir-1.0/GObject-2.0.gir
+%endif
%dir %{_datadir}/glib-2.0/codegen
%{_datadir}/glib-2.0/codegen/*.py*
+%{_datadir}/glib-2.0/dtds
%dir %{_datadir}/glib-2.0/gettext
%{_datadir}/glib-2.0/gettext/po
%{_datadir}/glib-2.0/schemas/gschema.dtd
%{_datadir}/gettext/its/gschema.loc
%{_pkgconfigdir}/gio-2.0.pc
%{_pkgconfigdir}/gio-unix-2.0.pc
+%{_pkgconfigdir}/girepository-2.0.pc
%{_pkgconfigdir}/glib-2.0.pc
%{_pkgconfigdir}/gmodule-2.0.pc
%{_pkgconfigdir}/gmodule-export-2.0.pc
%{_aclocaldir}/glib-gettext.m4
%{_aclocaldir}/gsettings.m4
%{_mandir}/man1/gdbus-codegen.1*
+%{_mandir}/man1/gi-compile-repository.1*
+%{_mandir}/man1/gi-decompile-typelib.1*
+%{_mandir}/man1/gi-inspect-typelib.1*
%{_mandir}/man1/glib-compile-resources.1*
%{_mandir}/man1/glib-genmarshal.1*
%{_mandir}/man1/glib-gettextize.1*
%files static
%defattr(644,root,root,755)
%{_libdir}/libgio-2.0.a
+%{_libdir}/libgirepository-2.0.a
%{_libdir}/libglib-2.0.a
%{_libdir}/libgmodule-2.0.a
%{_libdir}/libgobject-2.0.a
%if %{with apidocs}
%files apidocs
%defattr(644,root,root,755)
-%{_gtkdocdir}/gio
-%{_gtkdocdir}/glib
-%{_gtkdocdir}/glib-2.0
-%{_gtkdocdir}/gobject
+%{_gidocdir}/glib-2.0
%endif
%files gdb