#
# Conditional build:
%bcond_without apidocs # do not build and package API docs
+%bcond_without vala # do not build Vala API
#
Summary: Low-level configuration system
+Summary(pl.UTF-8): Niskopoziomowy system konfiguracji
Name: dconf
-Version: 0.7.2
-Release: 2
-License: LGPL v2+
+Version: 0.38.0
+Release: 1
+License: LGPL v2.1+
Group: Libraries
-Source0: http://ftp.gnome.org/pub/GNOME/sources/dconf/0.7/%{name}-%{version}.tar.bz2
-# Source0-md5: 1583be314e3ea0ab483d104e791ef653
-URL: http://live.gnome.org/dconf
-BuildRequires: autoconf
-BuildRequires: automake >= 1:1.11
-BuildRequires: glib2-devel >= 1:2.28.0
-BuildRequires: gtk+3-devel >= 3.0.0
+Source0: http://ftp.gnome.org/pub/GNOME/sources/dconf/0.38/%{name}-%{version}.tar.xz
+# Source0-md5: 716cf730995cf133c2c443556a66a50c
+Patch0: %{name}-bash-completion.patch
+URL: https://wiki.gnome.org/Projects/dconf
+BuildRequires: dbus-devel
+BuildRequires: glib2-devel >= 1:2.44.0
BuildRequires: gtk-doc >= 1.15
-BuildRequires: libtool >= 2:2.2
-BuildRequires: libxml2-devel
-BuildRequires: rpmbuild(macros) >= 1.527
-BuildRequires: vala >= 1:0.11.4
-Requires(post,postun): glib2 >= 1:2.28.0
+BuildRequires: libxslt-progs
+BuildRequires: meson >= 0.47.0
+BuildRequires: ninja >= 1.5
+BuildRequires: pkgconfig
+BuildRequires: rpmbuild(macros) >= 1.736
+BuildRequires: tar >= 1:1.22
+# not needed atm., generated files (.deps, .vapi) are packaged in tarball
+#%{?with_vala:BuildRequires: vala >= 2:0.18.0}
+BuildRequires: xz
+Requires(post,postun): glib2 >= 1:2.44.0
Requires: dbus
+Requires: glib2 >= 1:2.44.0
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
provide a backend to GSettings on platforms that don't already have
configuration storage systems.
+%description -l pl.UTF-8
+dconf to niskopoziomowy system konfiguracji. Głównym celem jest
+dostarczenie backendu dla GSettings na platformach, które jeszcze nie
+mają systemów przechowywania danych konfiguracyjnych.
+
%package devel
Summary: Header files for dconf library
Summary(pl.UTF-8): Pliki nagłówkowe biblioteki dconf
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
-Requires: glib2-devel >= 1:2.28.0
+Requires: glib2-devel >= 1:2.44.0
%description devel
Header files for dconf library.
%description devel -l pl.UTF-8
Pliki nagłówkowe biblioteki dconf.
-%package editor
-Summary: Configuration editor for dconf
-Summary(pl.UTF-8): Edytor konfiguracji dla dconf
-Group: X11/Applications
-Requires: %{name} = %{version}-%{release}
-
-%description editor
-dconf-editor allows you to browse and modify dconf database.
-
-%description editor -l pl.UTF-8
-dconf-editor pozwala na przeglądanie i modyfikowanie bazy dconf.
-
%package apidocs
Summary: dconf API documentation
Summary(pl.UTF-8): Dokumentacja API biblioteki dconf
Group: Documentation
Requires: gtk-doc-common
+%if "%{_rpmversion}" >= "4.6"
+BuildArch: noarch
+%endif
%description apidocs
API documentation for dconf library.
%description apidocs -l pl.UTF-8
Dokumentacja API biblioteki dconf.
+%package -n bash-completion-dconf
+Summary: bash-completion for dconf
+Summary(pl.UTF-8): Bashowe uzupełnianie nazw dla dconf
+Group: Applications/Shells
+Requires: bash-completion >= 2
+%if "%{_rpmversion}" >= "4.6"
+BuildArch: noarch
+%endif
+
+%description -n bash-completion-dconf
+bash-completion for dconf.
+
+%description -n bash-completion-dconf -l pl.UTF-8
+Bashowe uzupełnianie nazw dla dconf.
+
+%package -n vala-dconf
+Summary: dconf API for Vala language
+Summary(pl.UTF-8): API dconf dla języka Vala
+Group: Development/Libraries
+Requires: %{name}-devel = %{version}-%{release}
+Requires: vala >= 2:0.18.0
+%if "%{_rpmversion}" >= "4.6"
+BuildArch: noarch
+%endif
+
+%description -n vala-dconf
+dconf API for Vala language.
+
+%description -n vala-dconf -l pl.UTF-8
+API dconf dla języka Vala.
+
%prep
%setup -q
+%patch0 -p1
%build
-%{__libtoolize}
-%{__aclocal}
-%{__autoconf}
-%{__automake}
-%configure \
- --with-html-dir=%{_gtkdocdir} \
- %{__enable_disable apidocs gtk-doc} \
- --disable-silent-rules
-%{__make}
+%meson build \
+ -Dbash_completion_dir=%{bash_compdir} \
+ -Dgtk_doc=%{__true_false apidocs}
+
+%ninja_build -C build
%install
rm -rf $RPM_BUILD_ROOT
-
install -d $RPM_BUILD_ROOT%{_sysconfdir}/dconf/{db,profile}
+install -d $RPM_BUILD_ROOT%{_datadir}/dconf/profile
-%{__make} install \
- DESTDIR=$RPM_BUILD_ROOT
-
-rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
+%ninja_install -C build
%{!?with_apidocs:rm -rf $RPM_BUILD_ROOT%{_gtkdocdir}}
/sbin/ldconfig
umask 022
-%{_bindir}/gio-querymodules %{_libdir}/gio/modules
-exit 0
+%{_bindir}/gio-querymodules %{_libdir}/gio/modules || :
+
+%glib_compile_schemas
%postun
/sbin/ldconfig
umask 022
-%{_bindir}/gio-querymodules %{_libdir}/gio/modules
-exit 0
+%{_bindir}/gio-querymodules %{_libdir}/gio/modules || :
+
+%glib_compile_schemas
%files
%defattr(644,root,root,755)
-%doc NEWS
+%doc NEWS README
%attr(755,root,root) %{_bindir}/dconf
%attr(755,root,root) %{_libdir}/libdconf.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdconf.so.0
-%attr(755,root,root) %{_libdir}/libdconf-dbus-1.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdconf-dbus-1.so.0
+%attr(755,root,root) %ghost %{_libdir}/libdconf.so.1
%attr(755,root,root) %{_libexecdir}/dconf-service
%attr(755,root,root) %{_libdir}/gio/modules/libdconfsettings.so
%{_datadir}/dbus-1/services/ca.desrt.dconf.service
-%{_datadir}/dbus-1/system-services/ca.desrt.dconf.service
%dir %{_sysconfdir}/dconf
%dir %{_sysconfdir}/dconf/db
%dir %{_sysconfdir}/dconf/profile
+%dir %{_datadir}/dconf
+%dir %{_datadir}/dconf/profile
+%{_mandir}/man1/dconf-service.1*
+%{_mandir}/man1/dconf.1*
+%{_mandir}/man7/dconf.7*
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libdconf.so
-%attr(755,root,root) %{_libdir}/libdconf-dbus-1.so
%{_includedir}/dconf
-%{_includedir}/dconf-dbus-1
%{_pkgconfigdir}/dconf.pc
-%{_pkgconfigdir}/dconf-dbus-1.pc
-# split to a separate package?
-%{_datadir}/vala/vapi/dconf.*
-
-%files editor
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/dconf-editor
-%{_desktopdir}/dconf-editor.desktop
-%dir %{_datadir}/dconf-editor
-%{_datadir}/dconf-editor/dconf-editor.ui
%if %{with apidocs}
%files apidocs
%defattr(644,root,root,755)
%{_gtkdocdir}/dconf
%endif
+
+%files -n bash-completion-dconf
+%defattr(644,root,root,755)
+%{bash_compdir}/dconf
+
+%if %{with vala}
+%files -n vala-dconf
+%defattr(644,root,root,755)
+%{_datadir}/vala/vapi/dconf.deps
+%{_datadir}/vala/vapi/dconf.vapi
+%endif