#
# Conditional build:
-%bcond_without apidocs # disable gtk-doc
-%bcond_without static_libs # don't build static library
-%bcond_with selinux # gio with SELinux support
+%bcond_without apidocs # disable gtk-doc
+%bcond_without static_libs # static library
+%bcond_without selinux # SELinux support in gio
+%bcond_without systemtap # systemtap/dtrace probes
%include /usr/lib/rpm/macros.perl
Summary: Useful routines for 'C' programming
Summary(tr.UTF-8): Yararlı ufak yordamlar kitaplığı
Summary(zh_CN.UTF-8): 实用工具函数库
Name: glib2
-Version: 2.32.3
-Release: 2
+Version: 2.58.1
+Release: 1
Epoch: 1
License: LGPL v2+
Group: Libraries
-Source0: http://ftp.gnome.org/pub/GNOME/sources/glib/2.32/glib-%{version}.tar.xz
-# Source0-md5: 9bd3ac535c24b6c162be13b2c43c5adc
+Source0: http://ftp.gnome.org/pub/GNOME/sources/glib/2.58/glib-%{version}.tar.xz
+# Source0-md5: 4fd2ead128a408c89b9153dfdb99f9a5
Patch0: %{name}-makefile.patch
URL: http://www.gtk.org/
BuildRequires: autoconf >= 2.62
-BuildRequires: automake >= 1:1.11
+BuildRequires: automake >= 1:1.13.3
BuildRequires: docbook-dtd412-xml
-BuildRequires: docbook-style-xsl
+BuildRequires: docbook-dtd45-xml
+BuildRequires: docbook-style-xsl-nons
BuildRequires: elfutils-devel
BuildRequires: fam-devel
-BuildRequires: gettext-devel
-%{?with_apidocs:BuildRequires: gtk-doc >= 1.17}
-%{?with_apidocs:BuildRequires: gtk-doc-automake >= 1.17}
+BuildRequires: gettext-tools
+%if %(locale -a | grep -q '^C-UTF\.8$'; echo $?)
+BuildRequires: glibc-localedb-all
+%endif
+%if %{with apidocs}
+BuildRequires: gtk-doc >= 1.20
+BuildRequires: gtk-doc-automake >= 1.20
+%endif
BuildRequires: libffi-devel >= 3.0.0
+BuildRequires: libmount-devel >= 2.28
%{?with_selinux:BuildRequires: libselinux-devel}
BuildRequires: libtool >= 2:2.2
-BuildRequires: pcre-devel >= 8.11
+BuildRequires: pcre-devel >= 8.31
BuildRequires: perl-base
BuildRequires: pkgconfig >= 1:0.16
+# in case of separate libelf (elfutils don't provide .pc file)
+#BuildRequires: pkgconfig(libelf) >= 0.8.12
BuildRequires: pkgconfig(libffi) >= 3.0.0
-BuildRequires: python >= 1:2.5
+BuildRequires: python >= 1:2.7
BuildRequires: rpm-perlprov
BuildRequires: rpm-pythonprov
BuildRequires: rpmbuild(macros) >= 1.527
BuildRequires: sed >= 4.0
+%{?with_systemtap:BuildRequires: systemtap-sdt-devel}
BuildRequires: tar >= 1:1.22
BuildRequires: xz
BuildRequires: zlib-devel
Requires: iconv
-Requires: pcre >= 8.11
+Requires: libmount >= 2.28
+Requires: pcre >= 8.31
Suggests: gvfs
Provides: glib2-libs
Obsoletes: glib2-libs
# sr@Latn vs. sr@latin
Conflicts: glibc-misc < 6:2.7
+# 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)
%description
Summary(pt_BR.UTF-8): Conjunto de ferramentas e biblioteca do kit de desenho do GIMP
Group: Development/Libraries
Requires: %{name} = %{epoch}:%{version}-%{release}
-Requires: pcre-devel >= 8.11
+Requires: libffi-devel >= 3.0.0
+Requires: libmount-devel >= 2.28
+Requires: pcre-devel >= 8.31
+Requires: python-modules
# gio only
%{?with_selinux:Requires: libselinux-devel}
Requires: zlib-devel
Summary(pl.UTF-8): Dokumentacja API GLib
Group: Documentation
Requires: gtk-doc-common
+%if "%{_rpmversion}" >= "5"
+BuildArch: noarch
+%endif
%description apidocs
GLib API documetation.
Summary: bash-completion for gio utilities
Summary(pl.UTF-8): Bashowe uzupełnianie nazw dla narzędzi gio
Group: Applications/Shells
-Requires: bash-completion
+Requires: bash-completion >= 2.0
Obsoletes: bash-completion-gdbus
+%if "%{_rpmversion}" >= "5"
+BuildArch: noarch
+%endif
%description -n bash-completion-gio
bash-completion for gio utilities: gdbus and gsettings.
%description -n bash-completion-gio -l pl.UTF-8
Bashowe uzupełnianie nazw dla narzędzi gio: gdbus i gsettings.
+%package -n systemtap-glib2
+Summary: systemtap/dtrace probes for GLib 2
+Summary(pl.UTF-8): Sondy systemtap/dtrace dla GLib 2
+Group: Development/Tools
+Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: systemtap-client
+
+%description -n systemtap-glib2
+systemtap/dtrace probes for GLib 2.
+
+%description -n systemtap-glib2 -l pl.UTF-8
+Sondy systemtap/dtrace dla GLib 2.
+
%prep
%setup -q -n glib-%{version}
%patch0 -p1
-%if !%{with apidocs}
+%if %{without apidocs}
%{__sed} -e '/SUBDIRS/s/docs//' -i Makefile.am
%{__sed} -e '/^docs.*Makefile$/d' -i configure.ac
echo 'AC_DEFUN([GTK_DOC_CHECK],[])' >> acinclude.m4
%{__autoconf}
%{__autoheader}
%{__automake}
+
+# -Wall CPPFLAGS is workaround for https://bugzilla.gnome.org/show_bug.cgi?id=698716
%configure \
- --disable-silent-rules \
+ CPPFLAGS="%{rpmcppflags} -Wall" \
+ --enable-debug=%{?debug:yes} \
+ %{!?with_systemtap:--disable-dtrace} \
+%ifarch %{ix86}
+ %{?with_systemtap:--with-tapset-install-dir=%{_datadir}/systemtap/tapset/i386} \
+%endif
%{__enable_disable apidocs gtk-doc} \
- %{?with_apidocs:--with-html-dir=%{_gtkdocdir}} \
%{__enable_disable selinux} \
+ --disable-silent-rules \
%{__enable_disable static_libs static} \
- --enable-debug=%{?debug:yes} \
--enable-man \
+ %{?with_apidocs:--with-html-dir=%{_gtkdocdir}} \
--with-pcre=system
+# gtk-doc build requires UTF-8 locale
+LC_ALL=C.UTF-8 \
%{__make}
%install
%{__rm} $RPM_BUILD_ROOT%{_libdir}/gio/modules/libgiofam.la \
%{?with_static_libs:$RPM_BUILD_ROOT%{_libdir}/gio/modules/libgiofam.a}
+%{__mv} $RPM_BUILD_ROOT%{_localedir}/{sr@ije,sr@ijekavian}
+
%py_comp $RPM_BUILD_ROOT%{_datadir}/glib-2.0/gdb
%py_ocomp $RPM_BUILD_ROOT%{_datadir}/glib-2.0/gdb
%py_postclean $RPM_BUILD_ROOT%{_datadir}/glib-2.0/gdb
%files -f glib20.lang
%defattr(644,root,root,755)
%doc AUTHORS README NEWS
+%attr(755,root,root) %{_bindir}/gapplication
%attr(755,root,root) %{_bindir}/gdbus
+%attr(755,root,root) %{_bindir}/gio
+%attr(755,root,root) %{_bindir}/gio-launch-desktop
%attr(755,root,root) %{_bindir}/gio-querymodules
%attr(755,root,root) %{_bindir}/glib-compile-schemas
%attr(755,root,root) %{_bindir}/gsettings
%dir %{_datadir}/glib-2.0/schemas
%ghost %{_datadir}/glib-2.0/schemas/gschemas.compiled
%if %{with apidocs}
+%{_mandir}/man1/gapplication.1*
%{_mandir}/man1/gdbus.1*
+%{_mandir}/man1/gio.1*
%{_mandir}/man1/gio-querymodules.1*
%{_mandir}/man1/glib-compile-schemas.1*
%{_mandir}/man1/gsettings.1*
%files devel
%defattr(644,root,root,755)
-%doc ChangeLog
%attr(755,root,root) %{_bindir}/gdbus-codegen
%attr(755,root,root) %{_bindir}/glib-compile-resources
%attr(755,root,root) %{_bindir}/glib-genmarshal
%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}/libgio-2.0.la
-%{_libdir}/libglib-2.0.la
-%{_libdir}/libgmodule-2.0.la
-%{_libdir}/libgobject-2.0.la
-%{_libdir}/libgthread-2.0.la
-%dir %{_libdir}/gdbus-2.0
-%dir %{_libdir}/gdbus-2.0/codegen
-%{_libdir}/gdbus-2.0/codegen/*.py*
%{_libdir}/glib-2.0
%{_includedir}/gio-unix-2.0
%{_includedir}/glib-2.0
+%dir %{_datadir}/glib-2.0/codegen
+%{_datadir}/glib-2.0/codegen/*.py*
%dir %{_datadir}/glib-2.0/gettext
-%attr(755,root,root) %{_datadir}/glib-2.0/gettext/mkinstalldirs
%{_datadir}/glib-2.0/gettext/po
%{_datadir}/glib-2.0/schemas/gschema.dtd
+%{_datadir}/glib-2.0/valgrind
+%{_datadir}/gettext/its/gschema.its
+%{_datadir}/gettext/its/gschema.loc
+%{_libdir}/libgio-2.0.la
+%{_libdir}/libglib-2.0.la
+%{_libdir}/libgmodule-2.0.la
+%{_libdir}/libgobject-2.0.la
+%{_libdir}/libgthread-2.0.la
%{_pkgconfigdir}/gio-2.0.pc
%{_pkgconfigdir}/gio-unix-2.0.pc
%{_pkgconfigdir}/glib-2.0.pc
%if %{with apidocs}
%files apidocs
%defattr(644,root,root,755)
-%{_gtkdocdir}/gdbus-object-manager-example
%{_gtkdocdir}/gio
%{_gtkdocdir}/glib
%{_gtkdocdir}/gobject
%files -n bash-completion-gio
%defattr(644,root,root,755)
-%{_sysconfdir}/bash_completion.d/gdbus-bash-completion.sh
-%{_sysconfdir}/bash_completion.d/gresource-bash-completion.sh
-%{_sysconfdir}/bash_completion.d/gsettings-bash-completion.sh
+%{_datadir}/bash-completion/completions/gapplication
+%{_datadir}/bash-completion/completions/gdbus
+%{_datadir}/bash-completion/completions/gio
+%{_datadir}/bash-completion/completions/gresource
+%{_datadir}/bash-completion/completions/gsettings
+
+%if %{with systemtap}
+%files -n systemtap-glib2
+%defattr(644,root,root,755)
+%{_datadir}/systemtap/tapset/*/libgio-2.0*.stp
+%{_datadir}/systemtap/tapset/*/libglib-2.0*.stp
+%{_datadir}/systemtap/tapset/*/libgobject-2.0*.stp
+%endif