%define gnome_online_accounts_version 3.25.3 %define glib2_version 2.75.0 %define gnome_desktop_version 44.0-7 %define gsd_version 41.0 %define gsettings_desktop_schemas_version 42~alpha %define upower_version 0.99.8 %define gtk4_version 4.11.2 %define gnome_bluetooth_version 42~alpha %define libadwaita_version 1.4~alpha %define nm_version 1.24.0 %global gnome_major_version 45 %global gnome_version %{gnome_major_version}.0 %global tarball_version %%(echo %{gnome_version} | tr '~' '.') # Disable parental control for RHEL builds %bcond malcontent %[!0%{?rhel}] Name: gnome-control-center Version: %{gnome_version}.vrr.5 Release: %autorelease Summary: Utilities to configure the GNOME desktop License: GPLv2+ and CC-BY-SA URL: https://gitlab.gnome.org/GNOME/gnome-control-center/ Source0: https://download.gnome.org/sources/%{name}/%{gnome_major_version}/%{name}-%{tarball_version}.tar.xz Patch0: 0001-keyboard-Use-new-gnome-desktop-api-for-getting-defau.patch # https://gitlab.gnome.org/doraskayo/gnome-control-center/-/commits/vrr-support-42 Patch1: 734.patch BuildRequires: desktop-file-utils BuildRequires: docbook-style-xsl libxslt BuildRequires: gcc BuildRequires: gettext BuildRequires: meson BuildRequires: setxkbmap BuildRequires: pkgconfig(accountsservice) BuildRequires: pkgconfig(clutter-gtk-1.0) BuildRequires: pkgconfig(colord) BuildRequires: pkgconfig(colord-gtk4) BuildRequires: pkgconfig(cups) BuildRequires: pkgconfig(gcr-base-3) BuildRequires: pkgconfig(gdk-pixbuf-2.0) BuildRequires: pkgconfig(gdk-wayland-3.0) BuildRequires: pkgconfig(gio-2.0) >= %{glib2_version} BuildRequires: pkgconfig(gnome-desktop-4) >= %{gnome_desktop_version} BuildRequires: pkgconfig(gnome-settings-daemon) >= %{gsd_version} BuildRequires: pkgconfig(goa-1.0) >= %{gnome_online_accounts_version} BuildRequires: pkgconfig(goa-backend-1.0) BuildRequires: pkgconfig(gsettings-desktop-schemas) >= %{gsettings_desktop_schemas_version} BuildRequires: pkgconfig(gsound) BuildRequires: pkgconfig(gtk4) >= %{gtk4_version} BuildRequires: pkgconfig(gudev-1.0) BuildRequires: pkgconfig(ibus-1.0) BuildRequires: pkgconfig(libadwaita-1) >= %{libadwaita_version} BuildRequires: pkgconfig(libgtop-2.0) BuildRequires: pkgconfig(libnm) >= %{nm_version} BuildRequires: pkgconfig(libnma-gtk4) BuildRequires: pkgconfig(libpulse) BuildRequires: pkgconfig(libpulse-mainloop-glib) BuildRequires: pkgconfig(libsecret-1) BuildRequires: pkgconfig(libxml-2.0) %if %{with malcontent} BuildRequires: pkgconfig(malcontent-0) %endif BuildRequires: pkgconfig(mm-glib) BuildRequires: pkgconfig(polkit-gobject-1) BuildRequires: pkgconfig(pwquality) BuildRequires: pkgconfig(smbclient) BuildRequires: pkgconfig(tecla) BuildRequires: pkgconfig(udisks2) BuildRequires: pkgconfig(upower-glib) >= %{upower_version} BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xi) %ifnarch s390 s390x BuildRequires: pkgconfig(gnome-bluetooth-3.0) >= %{gnome_bluetooth_version} BuildRequires: pkgconfig(libwacom) %endif # Versioned library deps Requires: libadwaita%{?_isa} >= %{libadwaita_version} Requires: glib2%{?_isa} >= %{glib2_version} Requires: gnome-desktop4%{?_isa} >= %{gnome_desktop_version} Requires: gnome-online-accounts%{?_isa} >= %{gnome_online_accounts_version} Requires: gnome-settings-daemon%{?_isa} >= %{gsd_version} Requires: gsettings-desktop-schemas%{?_isa} >= %{gsettings_desktop_schemas_version} Requires: gtk4%{?_isa} >= %{gtk4_version} Requires: upower%{?_isa} >= %{upower_version} %ifnarch s390 s390x Recommends: gnome-bluetooth%{?_isa} >= 1:%{gnome_bluetooth_version} %endif Requires: %{name}-filesystem = %{version}-%{release} # For user accounts Requires: accountsservice Requires: alsa-lib # For the thunderbolt panel Recommends: bolt # For the color panel Requires: colord # For the printers panel Requires: cups-pk-helper Requires: dbus # For the info/details panel Requires: glx-utils # For the user languages Requires: iso-codes %if %{with malcontent} # For parental controls support Requires: malcontent Recommends: malcontent-control %endif # For the network panel Recommends: NetworkManager-wifi Recommends: nm-connection-editor # For Show Details in the color panel Recommends: gnome-color-manager # For the sharing panel Recommends: gnome-remote-desktop %if 0%{?fedora} Recommends: rygel %endif # For the info/details panel Recommends: switcheroo-control # For the keyboard panel Requires: /usr/bin/tecla %if 0%{?fedora} >= 35 || 0%{?rhel} >= 9 # For the power panel Recommends: power-profiles-daemon %endif # Renamed in F28 Provides: control-center = 1:%{version}-%{release} Provides: control-center%{?_isa} = 1:%{version}-%{release} Obsoletes: control-center < 1:%{version}-%{release} %description This package contains configuration utilities for the GNOME desktop, which allow to configure accessibility options, desktop fonts, keyboard and mouse properties, sound setup, desktop theme and background, user interface properties, screen resolution, and other settings. %package filesystem Summary: GNOME Control Center directories # NOTE: this is an "inverse dep" subpackage. It gets pulled in # NOTE: by the main package and MUST not depend on the main package BuildArch: noarch # Renamed in F28 Provides: control-center-filesystem = 1:%{version}-%{release} Obsoletes: control-center-filesystem < 1:%{version}-%{release} %description filesystem The GNOME control-center provides a number of extension points for applications. This package contains directories where applications can install configuration files that are picked up by the control-center utilities. %prep %autosetup -p1 -n %{name}-%{tarball_version} %build %meson \ -Ddocumentation=true \ %if 0%{?fedora} -Ddistributor_logo=%{_datadir}/pixmaps/fedora_logo_med.png \ -Ddark_mode_distributor_logo=%{_datadir}/pixmaps/fedora_whitelogo_med.png \ -Dmalcontent=true \ %endif %if 0%{?rhel} -Ddistributor_logo=%{_datadir}/pixmaps/fedora-logo.png \ -Ddark_mode_distributor_logo=%{_datadir}/pixmaps/system-logo-white.png \ %endif %{nil} %meson_build %install %meson_install # We do want this mkdir -p $RPM_BUILD_ROOT%{_datadir}/gnome/wm-properties # We don't want these rm -rf $RPM_BUILD_ROOT%{_datadir}/gnome/autostart rm -rf $RPM_BUILD_ROOT%{_datadir}/gnome/cursor-fonts %find_lang %{name} --all-name --with-gnome %files -f %{name}.lang %license COPYING %doc NEWS README.md %{_bindir}/gnome-control-center %{_datadir}/applications/*.desktop %{_datadir}/bash-completion/completions/gnome-control-center %{_datadir}/dbus-1/services/org.gnome.Settings.SearchProvider.service %{_datadir}/dbus-1/services/org.gnome.Settings.service %{_datadir}/gettext/ %{_datadir}/glib-2.0/schemas/org.gnome.Settings.gschema.xml %{_datadir}/gnome-control-center/keybindings/*.xml %{_datadir}/gnome-control-center/pixmaps %{_datadir}/gnome-shell/search-providers/org.gnome.Settings.search-provider.ini %{_datadir}/icons/gnome-logo-text*.svg %{_datadir}/icons/hicolor/*/*/* %{_mandir}/man1/gnome-control-center.1* %{_metainfodir}/org.gnome.Settings.appdata.xml %{_datadir}/pixmaps/faces %{_datadir}/pkgconfig/gnome-keybindings.pc %{_datadir}/polkit-1/actions/org.gnome.controlcenter.*.policy %{_datadir}/polkit-1/rules.d/gnome-control-center.rules %{_datadir}/sounds/gnome/default/*/*.ogg %{_libexecdir}/cc-remote-login-helper %{_libexecdir}/gnome-control-center-goa-helper %{_libexecdir}/gnome-control-center-search-provider %{_libexecdir}/gnome-control-center-print-renderer %files filesystem %dir %{_datadir}/gnome-control-center %dir %{_datadir}/gnome-control-center/keybindings %dir %{_datadir}/gnome/wm-properties %changelog %autochangelog