File budgie-control-center.spec of Package budgie-control-center

#
# spec file for package budgie-control-center
#
# Copyright (c) 2025 Shawn W Dunn <sfalken@opensuse.org>
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%global cheese_version 3.28.0
%global glib2_version 2.64
%global gnome_online_accounts_version 3.44.0
%global gnome_stack 42.0
%global gtk3_version 3.24
%global polkit_version 0.105
%global upower_version 0.99.8
%global vala_version 0.52.5


Name:           budgie-control-center
Version:        1.4.0
Release:        0
Summary:        A fork of GNOME Control Center for the Budgie 10 series
License:        GPL-2.0-or-later AND LGPL-3.0-or-later
URL:            https://github.com/BuddiesOfBudgie/budgie-control-center
Source0:        %{url}/releases/download/v%{version}/%{name}-%{version}.tar.xz
Source1:        %{url}/releases/download/v%{version}/%{name}-%{version}.tar.xz.asc

# PATCH-FIX-UPSTREAM
Patch0:         0001-fix-FTBFS-with-incompatible-pointer-types.patch

BuildRequires:  cups-devel
BuildRequires:  desktop-file-utils
BuildRequires:  meson

BuildRequires:  pkgconfig(accountsservice)
BuildRequires:  pkgconfig(cheese) >= %{cheese_version}
BuildRequires:  pkgconfig(colord-gtk)
BuildRequires:  pkgconfig(gcr-3)
BuildRequires:  pkgconfig(gdk-pixbuf-2.0)
BuildRequires:  pkgconfig(gnome-bluetooth-1.0) >= 3.34.0
BuildRequires:  pkgconfig(gnome-desktop-3.0) >= %{gnome_stack}
BuildRequires:  pkgconfig(gnome-settings-daemon) >= %{gnome_stack}
BuildRequires:  pkgconfig(gio-2.0) >= %{glib2_version}
BuildRequires:  pkgconfig(grilo-0.3)
BuildRequires:  pkgconfig(gsettings-desktop-schemas) >= %{gnome_stack}
BuildRequires:  pkgconfig(gsound)
BuildRequires:  pkgconfig(gtk+-3.0) >= %{gtk3_version}
BuildRequires:  pkgconfig(gudev-1.0)
BuildRequires:  pkgconfig(ibus-1.0)
BuildRequires:  pkgconfig(libcanberra-gtk3)
BuildRequires:  pkgconfig(libgtop-2.0)
BuildRequires:  pkgconfig(libhandy-1)
BuildRequires:  pkgconfig(libnm) >= 1.24
BuildRequires:  pkgconfig(libnma)
BuildRequires:  pkgconfig(libpulse)
BuildRequires:  pkgconfig(libpulse-mainloop-glib)
BuildRequires:  pkgconfig(libsecret-1)
BuildRequires:  pkgconfig(libsoup-2.4)
BuildRequires:  pkgconfig(libwacom)
BuildRequires:  pkgconfig(libxml-2.0)
BuildRequires:  pkgconfig(malcontent-0)
BuildRequires:  pkgconfig(mm-glib)
BuildRequires:  pkgconfig(polkit-gobject-1)
BuildRequires:  pkgconfig(pwquality)
BuildRequires:  pkgconfig(smbclient)
BuildRequires:  pkgconfig(udisks2)
BuildRequires:  pkgconfig(upower-glib) >= 0.99.13
BuildRequires:  pkgconfig(x11)
BuildRequires:  pkgconfig(xi)

Requires:       accountsservice
Requires:       bolt
Requires:       colord
Requires:       cups-pk-helper
Requires:       dbus-1
Requires:       fprintd
Requires:       gnome-bluetooth-1 = 3.34.5
Requires:       gnome-online-accounts
Requires:       gnome-settings-daemon >= %{gnome_stack}
Requires:       gsettings-desktop-schemas >= %{gnome_stack}
Requires:       hicolor-icon-theme
Requires:       iso-codes
Requires:       libgnome-desktop-3-20 >= %{gnome_stack}
Requires:       malcontent
Requires:       malcontent-control
Requires:       Mesa-demo
Requires:       NetworkManager
Requires:       NetworkManager-connection-editor

Recommends:     gnome-color-manager
Recommends:     (power-profiles-daemon or tuned-ppd)
Recommends:     switcheroo-control

%description
A fork of GNOME Control Center for the Budgie Desktop 10.x Series

%dnl --------------------------------------------------------------
%package bash-completion
Summary:        Bash Completion for Budgie Control Center
Requires:       %{name} = %{version}
Requires:       bash-completion
Supplements:    (%{name} and bash-completion)
BuildArch:      noarch

%description bash-completion
This package contains the Bash Completion for Budgie Control Center

%files bash-completion
%{_datadir}/bash-completion/completions/%{name}

%dnl --------------------------------------------------------------

%lang_package

%prep
%autosetup -p1

%build
%meson \
    -Ddocumentation=true \
    -Dmalcontent=true
%meson_build

%install
%meson_install

%find_lang %{name} --all-name --with-gnome

%check
desktop-file-validate %{buildroot}/%{_datadir}/applications/*.desktop


%files -f %{name}.lang
%license LICENSE
%doc README.md
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/keybindings
%dir %{_datadir}/%{name}/pixmaps
%dir %{_datadir}/pixmaps/budgie-faces
%dir %{_datadir}/pixmaps/budgie-faces/legacy
%dir %{_datadir}/sounds/budgie
%dir %{_datadir}/sounds/budgie/default
%dir %{_datadir}/sounds/budgie/default/alerts
%{_bindir}/%{name}
%{_datadir}/applications/*.desktop
%{_datadir}/%{name}/keybindings/*.xml
%{_datadir}/%{name}/pixmaps/noise-texture-light.png
%{_datadir}/dbus-1/services/org.buddiesofbudgie.ControlCenter.service
%{_datadir}/glib-2.0/schemas/org.buddiesofbudgie.ControlCenter.gschema.xml
%{_datadir}/icons/hicolor/scalable/*/budgie-*.svg
%{_datadir}/icons/hicolor/scalable/apps/org.buddiesofbudgie.Settings*.svg
%{_datadir}/icons/hicolor/symbolic/apps/org.buddiesofbudgie.Settings*.svg
%{_datadir}/metainfo/%{name}.appdata.xml
%{_datadir}/pixmaps/budgie-faces/*.jpg
%{_datadir}/pixmaps/budgie-faces/*.png
%{_datadir}/pixmaps/budgie-faces/legacy/*.jpg
%{_datadir}/pixmaps/budgie-faces/legacy/*.png
%{_datadir}/pixmaps/budgie-logo.png
%{_datadir}/polkit-1/actions/org.buddiesofbudgie.controlcenter.*.policy
%{_datadir}/polkit-1/rules.d/%{name}.rules
%{_datadir}/sounds/budgie/default/alerts/*.ogg
%{_libexecdir}/budgie-cc-remote-login-helper
%{_libexecdir}/%{name}-print-renderer
%{_mandir}/man1/%{name}.1%{?ext_man}

%changelog

openSUSE Build Service is sponsored by