+#
+# Conditional build:
+%bcond_without ibus # IBus support
+%bcond_with malcontent # Malcontent support
+%bcond_without wayland # Wayland support
+
Summary: GNOME Control Center
Summary(es.UTF-8): El centro de controle del GNOME
Summary(pl.UTF-8): Centrum Kontroli GNOME
Summary(ru.UTF-8): Центр управления GNOME
Summary(uk.UTF-8): Центр керування GNOME
Name: gnome-control-center
-Version: 2.32.0
-Release: 2
+Version: 41.4
+Release: 1
Epoch: 1
License: GPL v2+
Group: X11/Applications
-Source0: http://ftp.gnome.org/pub/GNOME/sources/gnome-control-center/2.32/%{name}-%{version}.tar.bz2
-# Source0-md5: ec3371cf33e1c863029e8e2789b61c2b
-Patch0: no_update_desktop.patch
-Patch1: default-apps-chrome-chromium.patch
-URL: http://www.gnome.org/
-BuildRequires: GConf2-devel >= 2.26.0
-BuildRequires: autoconf
-BuildRequires: automake >= 1:1.9
-BuildRequires: dbus-glib-devel >= 0.74
-BuildRequires: docbook-dtd412-xml
-BuildRequires: evolution-data-server-devel >= 2.24.0
-BuildRequires: gettext-devel
-BuildRequires: glib2-devel >= 1:2.20.0
-BuildRequires: gnome-common >= 2.24.0
-BuildRequires: gnome-desktop-devel >= 2.30.0
-BuildRequires: gnome-doc-utils >= 0.12.1
-BuildRequires: gnome-menus-devel >= 2.30.0
-BuildRequires: gnome-settings-daemon-devel >= 2.26.0
-BuildRequires: gtk+2-devel >= 2:2.18.0
-BuildRequires: intltool >= 0.40.0
-BuildRequires: libcanberra-gtk-devel >= 0.4
-BuildRequires: libgnomekbd-devel >= 2.32.0
-BuildRequires: librsvg-devel >= 2.22.0
-BuildRequires: libtool
-BuildRequires: libunique-devel >= 1.0.0
-BuildRequires: libxklavier-devel >= 4.0
+Source0: https://download.gnome.org/sources/gnome-control-center/41/%{name}-%{version}.tar.xz
+# Source0-md5: 4543d5dbee3229ce0579afc547679f46
+Patch0: krb5.patch
+URL: https://www.gnome.org/
+BuildRequires: ModemManager-devel >= 1.0.0
+BuildRequires: NetworkManager-devel >= 1.24.0
+# use libnm-gtk - will use correct NM version
+BuildRequires: NetworkManager-gtk-lib-devel >= 1.8.0
+BuildRequires: accountsservice-devel >= 0.6.39
+BuildRequires: cairo-gobject-devel
+BuildRequires: cheese-devel >= 3.28.0
+BuildRequires: colord-devel >= 0.1.34
+BuildRequires: colord-gtk-devel >= 0.1.24
+BuildRequires: cups-devel >= 1.4
+BuildRequires: docbook-dtd42-xml
+BuildRequires: fontconfig-devel
+BuildRequires: gcr-ui-devel >= 3
+BuildRequires: gdk-pixbuf2-devel >= 2.24.0
+BuildRequires: gettext-tools >= 0.17
+BuildRequires: glib2-devel >= 1:2.68.0
+%ifnarch s390 s390x
+BuildRequires: gnome-bluetooth-devel >= 3.18.2
+%endif
+BuildRequires: gnome-desktop-devel >= 3.33.4
+BuildRequires: gnome-menus-devel >= 3.4.0
+BuildRequires: gnome-online-accounts-devel >= 3.26.0
+BuildRequires: gnome-settings-daemon-devel >= 1:3.28.0
+BuildRequires: grilo-devel >= 0.3.0
+BuildRequires: gsettings-desktop-schemas-devel >= 40
+BuildRequires: gsound-devel
+BuildRequires: gtk+3-devel >= 3.22.20
+BuildRequires: heimdal-devel
+%{?with_ibus:BuildRequires: ibus-devel >= 1.5.2}
+BuildRequires: libcanberra-gtk3-devel >= 0.26
+BuildRequires: libepoxy-devel
+BuildRequires: libgtop-devel >= 2.0
+BuildRequires: libgudev-devel >= 232
+BuildRequires: libhandy1-devel >= 1.2.0
+%{?with_malcontent:BuildRequires: libmalcontent-devel >= 0.10.0}
+BuildRequires: libpwquality-devel >= 1.2.2
+BuildRequires: libsecret-devel
+BuildRequires: libsmbclient-devel
+BuildRequires: libsoup-devel >= 2.4
+%ifnarch s390 s390x
+BuildRequires: libwacom-devel >= 0.7
+%endif
BuildRequires: libxml2-devel >= 1:2.6.31
-BuildRequires: metacity-devel >= 2:2.26.0
+BuildRequires: meson >= 0.53.0
+BuildRequires: ninja >= 1.5
BuildRequires: pkgconfig
+BuildRequires: polkit-devel >= 0.114
+BuildRequires: pulseaudio-devel >= 2.0
+BuildRequires: python3 >= 1:3
+BuildRequires: rpm-build >= 4.6
BuildRequires: rpmbuild(find_lang) >= 1.23
-BuildRequires: rpmbuild(macros) >= 1.311
-BuildRequires: scrollkeeper
-BuildRequires: xorg-lib-libXScrnSaver-devel
-BuildRequires: xorg-lib-libXxf86misc-devel
-BuildRequires: xorg-lib-libxkbfile-devel
+BuildRequires: rpmbuild(macros) >= 1.752
+BuildRequires: tar >= 1:1.22
+BuildRequires: udisks2-devel >= 2.1.8
+BuildRequires: upower-devel >= 0.99.8
+BuildRequires: xorg-lib-libX11-devel
+BuildRequires: xorg-lib-libXi-devel >= 1.2
+BuildRequires: xz
+BuildRequires: yelp-tools
Requires(post,postun): desktop-file-utils
-Requires(post,postun): gtk+2
-Requires(post,postun): scrollkeeper
-Requires(post,postun): shared-mime-info
-Requires(post,preun): GConf2
-Requires: %{name}-libs = %{epoch}:%{version}-%{release}
+Requires(post,postun): glib2 >= 1:2.68.0
+Requires(post,postun): gtk-update-icon-cache
+Requires: NetworkManager >= 1.24.0
+Requires: NetworkManager-gtk-lib >= 1.8.0
+Requires: accountsservice >= 0.6.39
+Requires: cheese-libs >= 3.28.0
+Requires: colord >= 0.1.34
+Requires: colord-gtk >= 0.1.24
+Requires: cups-pk-helper
Requires: desktop-file-utils
-Requires: gnome-settings-daemon >= 2.26.0
-Requires: libgnomekbd >= 2.32.0
+Requires: gdk-pixbuf2 >= 2.24.0
+Requires: glib2 >= 1:2.68.0
+%ifnarch s390 s390x
+Requires: gnome-bluetooth-libs >= 3.18.2
+%endif
+Requires: gnome-desktop >= 3.33.4
+Requires: gnome-online-accounts >= 3.26.0
+Requires: gnome-settings-daemon >= 1:3.28.0
+Requires: gsettings-desktop-schemas >= 40
+Requires: gtk+3 >= 3.22.20
+Requires: hicolor-icon-theme
+%{?with_ibus:Requires: ibus-libs >= 1.5.2}
+Requires: libgudev >= 232
+Requires: libhandy1 >= 1.2.0
+%{?with_malcontent:Requires: libmalcontent >= 0.10.0}
+Requires: libpwquality >= 1.2.2
+%ifnarch s390 s390x
+Requires: libwacom >= 0.7
+%endif
+Requires: polkit >= 0.114
+Requires: pulseaudio-libs >= 2.0
+Requires: tzdata
+Requires: udisks2-libs >= 2.1.8
+Requires: upower-libs >= 0.99.8
+Suggests: NetworkManager-applet >= 1.8.0
+Suggests: cups >= 1.4
+Suggests: gnome-color-manager
Suggests: libcanberra-gnome
-Suggests: mousetweaks >= 2.24.0
+Suggests: libgnomekbd
+# info panel needs glxinfo
+Suggests: mesa-utils
+Suggests: mousetweaks >= 3.0.0
Provides: control-center = %{epoch}:%{version}-%{release}
-Obsoletes: acme
-Obsoletes: control-center
-Obsoletes: fontilus
-Obsoletes: gnome
-Obsoletes: themus
-# sr@Latn vs. sr@latin
-Conflicts: glibc-misc < 6:2.7
+Obsoletes: acme < 2.5
+Obsoletes: control-center < 1:2.19
+Obsoletes: control-center-libs < 1:2.19
+Obsoletes: fontilus < 0.5
+Obsoletes: gnome < 2
+Obsoletes: gnome-control-center-libs < 1:3.4
+Obsoletes: gnome-media-volume-control < 2.21
+Obsoletes: themus < 0.2
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
Цей пакет потрібний, якщо ви встановлюєте середовище GNOME.
-%package libs
-Summary: GNOME Control Center gnome-window-settings library
-Summary(pl.UTF-8): Biblioteka Control Center gnome-window-settings
-Group: X11/Libraries
-Requires: gnome-desktop-libs >= 2.30.0
-Provides: control-center-libs = %{epoch}:%{version}-%{release}
-Obsoletes: control-center-libs
-
-%description libs
-This package contains gnome-window-settings library.
-
-%description libs -l pl.UTF-8
-Pakiet ten zawiera bibliotekę gnome-window-settings.
-
%package devel
-Summary: GNOME Control Center header files
-Summary(pl.UTF-8): Pliki nagłówkowe bibliotek GNOME Control Center
+Summary: GNOME Control Center development files
+Summary(pl.UTF-8): Pliki programistyczne GNOME Control Center
Group: X11/Development/Libraries
-Requires: %{name}-libs = %{epoch}:%{version}-%{release}
-Requires: gnome-desktop-devel >= 2.30.0
-Requires: gtk+2-devel >= 2:2.18.0
Provides: control-center-devel = %{epoch}:%{version}-%{release}
-Obsoletes: control-center-devel
+Obsoletes: control-center-devel < 1:2.19
+Obsoletes: gnome-control-center-static < 1:3
%description devel
-GNOME Control-Center header files.
+GNOME Control Center development files.
%description devel -l pl.UTF-8
-Pliki nagłówkowe bibliotek GNOME Control Center.
+Pliki programistyczne GNOME Control Center.
-%package static
-Summary: GNOME Control Center static libraries
-Summary(pl.UTF-8): Statyczne biblioteki GNOME Control Center
-Group: X11/Development/Libraries
-Requires: %{name}-devel = %{epoch}:%{version}-%{release}
-Provides: control-center-static = %{epoch}:%{version}-%{release}
-Obsoletes: control-center-static
+%package -n bash-completion-gnome-control-center
+Summary: bash-completion for gnome-control-center
+Summary(pl.UTF-8): Bashowe uzupełnianie nazw dla gnome-control-center
+Group: Applications/Shells
+Requires: bash-completion >= 2.0
+BuildArch: noarch
-%description static
-GNOME Control Center static libraries.
+%description -n bash-completion-gnome-control-center
+bash-completion for gnome-control-center.
-%description static -l pl.UTF-8
-Statyczne biblioteki GNOME Control Center.
+%description -n bash-completion-gnome-control-center -l pl.UTF-8
+Bashowe uzupełnianie nazw dla gnome-control-center.
%prep
%setup -q
%patch0 -p1
-%patch1 -p1
-sed -i s#^en@shaw## po/LINGUAS
-rm po/en@shaw.po
%build
-%{__gnome_doc_prepare}
-%{__gnome_doc_common}
-%{__glib_gettextize}
-%{__intltoolize}
-%{__libtoolize}
-%{__aclocal}
-%{__autoconf}
-%{__autoheader}
-%{__automake}
-%configure \
- --disable-schemas-install \
- --disable-silent-rules \
- --disable-update-mimedb \
- --disable-update-desktop \
- --enable-aboutme \
- X_EXTRA_LIBS="-lXext"
-%{__make}
+%meson build \
+ -Ddocumentation=true \
+ %{!?with_ibus:-Dibus=false} \
+ %{?with_malcontent:-Dmalcontent=true} \
+ %{!?with_wayland:-Dwayland=false}
+
+# -Dsnap=true R: snapd-glib >= 1.57
+
+%meson_build -C build
%install
rm -rf $RPM_BUILD_ROOT
-%{__make} install \
- DESTDIR=$RPM_BUILD_ROOT
-
-%{__rm} -f $RPM_BUILD_ROOT%{_libdir}/*.la
-# no static modules - shut up check-files
-%{__rm} -f $RPM_BUILD_ROOT%{_libdir}/window-manager-settings/*.{a,la}
+%meson_install -C build
-%find_lang %{name} --with-gnome --with-omf --all-name
+%find_lang %{name} --with-gnome --all-name
%clean
rm -rf $RPM_BUILD_ROOT
%post
-%gconf_schema_install control-center.schemas
-%gconf_schema_install fontilus.schemas
-%gconf_schema_install gnome-control-center.schemas
-%scrollkeeper_update_post
-%update_mime_database
+%glib_compile_schemas
%update_desktop_database_post
%update_icon_cache hicolor
-%preun
-%gconf_schema_uninstall control-center.schemas
-%gconf_schema_uninstall fontilus.schemas
-%gconf_schema_uninstall gnome-control-center.schemas
-
%postun
-%scrollkeeper_update_postun
-%update_mime_database
+%glib_compile_schemas
%update_desktop_database_postun
%update_icon_cache hicolor
-%post libs -p /sbin/ldconfig
-%postun libs -p /sbin/ldconfig
-
%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc AUTHORS ChangeLog MAINTAINERS NEWS README
-%attr(755,root,root) %{_bindir}/gnome-about-me
-%attr(755,root,root) %{_bindir}/gnome-appearance-properties
-%attr(755,root,root) %{_bindir}/gnome-at-mobility
-%attr(755,root,root) %{_bindir}/gnome-at-properties
-%attr(755,root,root) %{_bindir}/gnome-at-visual
+%doc NEWS README.md
%attr(755,root,root) %{_bindir}/gnome-control-center
-%attr(755,root,root) %{_bindir}/gnome-default-applications-properties
-%attr(755,root,root) %{_bindir}/gnome-display-properties
-%attr(755,root,root) %{_bindir}/gnome-font-viewer
-%attr(755,root,root) %{_bindir}/gnome-keybinding-properties
-%attr(755,root,root) %{_bindir}/gnome-keyboard-properties
-%attr(755,root,root) %{_bindir}/gnome-mouse-properties
-%attr(755,root,root) %{_bindir}/gnome-network-properties
-%attr(755,root,root) %{_bindir}/gnome-thumbnail-font
-%attr(755,root,root) %{_bindir}/gnome-typing-monitor
-%attr(755,root,root) %{_bindir}/gnome-window-properties
-%attr(755,root,root) %{_sbindir}/gnome-display-properties-install-systemwide
-%dir %{_libdir}/window-manager-settings
-%attr(755,root,root) %{_libdir}/window-manager-settings/libmetacity.so
-%{_sysconfdir}/gconf/schemas/control-center.schemas
-%{_sysconfdir}/gconf/schemas/fontilus.schemas
-%{_sysconfdir}/gconf/schemas/gnome-control-center.schemas
-%{_sysconfdir}/xdg/autostart/gnome-at-session.desktop
-%{_sysconfdir}/xdg/menus/gnomecc.menu
+%attr(755,root,root) %{_libexecdir}/cc-remote-login-helper
+%attr(755,root,root) %{_libexecdir}/gnome-control-center-print-renderer
+%attr(755,root,root) %{_libexecdir}/gnome-control-center-search-provider
+%{_datadir}/dbus-1/services/org.gnome.ControlCenter.service
+%{_datadir}/dbus-1/services/org.gnome.ControlCenter.SearchProvider.service
+%{_datadir}/glib-2.0/schemas/org.gnome.ControlCenter.gschema.xml
+%{_datadir}/gnome-shell/search-providers/gnome-control-center-search-provider.ini
+%{_datadir}/metainfo/gnome-control-center.appdata.xml
+%{_datadir}/polkit-1/actions/org.gnome.controlcenter.datetime.policy
+%{_datadir}/polkit-1/actions/org.gnome.controlcenter.remote-login-helper.policy
+%{_datadir}/polkit-1/actions/org.gnome.controlcenter.user-accounts.policy
+%{_datadir}/polkit-1/rules.d/gnome-control-center.rules
%{_datadir}/gnome-control-center
-%{_datadir}/desktop-directories/*.directory
-%{_datadir}/gnome/cursor-fonts
-%{_datadir}/mime/packages/gnome-theme-package.xml
-%{_datadir}/polkit-1/actions/org.gnome.randr.policy
-%{_iconsdir}/hicolor/*/*/*.png
-%{_iconsdir}/hicolor/*/*/*.svg
-%{_desktopdir}/*.desktop
-
-%files libs
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libgnome-window-settings.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libgnome-window-settings.so.1
+%{_datadir}/sounds/gnome
+%{_iconsdir}/hicolor/*x*/apps/gnome-power-manager.png
+%{_iconsdir}/hicolor/*x*/apps/goa-panel.png
+%{_iconsdir}/hicolor/*x*/apps/preferences-color.png
+%{_iconsdir}/hicolor/*x*/apps/preferences-desktop-display.png
+%{_iconsdir}/hicolor/*x*/apps/preferences-system-time.png
+%{_iconsdir}/hicolor/scalable/apps/org.gnome.Settings.svg
+%{_iconsdir}/hicolor/scalable/apps/org.gnome.Settings-multitasking-symbolic.svg
+%{_iconsdir}/hicolor/scalable/apps/org.gnome.Settings.Devel.svg
+%{_iconsdir}/hicolor/scalable/apps/preferences-color.svg
+%{_iconsdir}/hicolor/scalable/apps/preferences-desktop-display.svg
+%{_iconsdir}/hicolor/scalable/apps/preferences-system-time.svg
+%{_iconsdir}/hicolor/scalable/categories/slideshow-symbolic.svg
+%{_iconsdir}/hicolor/scalable/emblems/slideshow-emblem.svg
+%{_iconsdir}/hicolor/scalable/status/info-symbolic.svg
+%{_iconsdir}/hicolor/symbolic/apps/org.gnome.Settings-symbolic.svg
+# FIXME: wrong location (move to pixmapsdir or hicolor/scalable/...?)
+%{_iconsdir}/gnome-logo-text.svg
+%{_iconsdir}/gnome-logo-text-dark.svg
+%{_desktopdir}/gnome-*-panel.desktop
+%{_desktopdir}/gnome-control-center.desktop
+%{_pixmapsdir}/faces
+%{_mandir}/man1/gnome-control-center.1*
%files devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libgnome-window-settings.so
-%{_includedir}/gnome-window-settings-2.0
-%{_pkgconfigdir}/gnome-window-settings-2.0.pc
-%{_datadir}/pkgconfig/gnome-default-applications.pc
-%{_datadir}/pkgconfig/gnome-keybindings.pc
+%{_datadir}/gettext/its/gnome-keybindings.its
+%{_datadir}/gettext/its/gnome-keybindings.loc
+%{_datadir}/gettext/its/sounds.its
+%{_datadir}/gettext/its/sounds.loc
+%{_npkgconfigdir}/gnome-keybindings.pc
-%files static
+%files -n bash-completion-gnome-control-center
%defattr(644,root,root,755)
-%{_libdir}/libgnome-window-settings.a
+%{bash_compdir}/gnome-control-center