File budgie-extras.spec of Package budgie-extras

Name:           budgie-extras
Version:        2.0.0
Release:        0
Summary:        Additional Budgie Desktop enhancements (Wayland 2026)
License:        GPL-3.0-or-later
Group:          System/GUI/Budgie
URL:            https://github.com
Source0:        %{name}-%{version}.tar.xz
Source1:        %{name}-%{version}.tar.xz.asc
Source2:        %{name}.keyring

BuildRequires:  fdupes
BuildRequires:  meson >= 1.10.1
BuildRequires:  ninja
BuildRequires:  cmake >= 4.2.2
BuildRequires:  pkgconfig
BuildRequires:  intltool
BuildRequires:  vala >= 0.56
BuildRequires:  gcc-c++
BuildRequires:  AppStream
BuildRequires:  pkgconfig(appstream)
BuildRequires:  pkgconfig(budgie-3.0) 
BuildRequires:  pkgconfig(libpeas-2)
BuildRequires:  pkgconfig(gtk+-3.0) >= 3.24.51
BuildRequires:  pkgconfig(glib-2.0) >= 2.86.3
BuildRequires:  pkgconfig(gee-0.8)
BuildRequires:  pkgconfig(granite) >= 6.2.0
BuildRequires:  pkgconfig(gnome-settings-daemon)
BuildRequires:  pkgconfig(gtk-layer-shell-0)
BuildRequires:  gtk-layer-shell-devel
BuildRequires:  pkgconfig(json-glib-1.0)
BuildRequires:  pkgconfig(libhandy-1)
BuildRequires:  pkgconfig(libnm)
BuildRequires:  pkgconfig(libnma)
BuildRequires:  pkgconfig(libgnome-menu-3.0)
BuildRequires:  pkgconfig(libnotify)
BuildRequires:  pkgconfig(libgtop-2.0)
BuildRequires:  pkgconfig(keybinder-3.0)
BuildRequires:  pkgconfig(libsoup-3.0)
BuildRequires:  pkgconfig(libxfce4windowing-0)
BuildRequires:  python3-gobject-devel
BuildRequires:  python3-psutil
BuildRequires:  python3-pyudev

Requires:       budgie-desktop >= 10.10.0
Requires:       libpeas-2
Requires:       python3-gobject-Gdk
Requires:       python3-psutil
Requires:       python3-pyudev
Requires:       python3-CairoSVG
Requires:       python3-Pillow
Recommends:     %{name}-lang

%description
Полный набор апплетов для Budgie 10.10. Адаптировано под Pure Wayland и libpeas-2.

%lang_package

%prep
%autosetup -p1

# Глобальная адаптация API под 2026 год
find . -type f \( -name "meson.build" -o -name "*.vala" -o -name "*.c" -o -name "*.h" \) -exec sed -i 's/budgie-1.0/budgie-3.0/g' {} +
find . -type f \( -name "meson.build" -o -name "*.vala" -o -name "*.c" -o -name "*.h" \) -exec sed -i 's/budgie-2.0/budgie-3.0/g' {} +
find . -type f \( -name "meson.build" -o -name "*.vala" -o -name "*.c" -o -name "*.h" \) -exec sed -i 's/libpeas-1.0/libpeas-2/g' {} +
find . -name "meson.build" -exec sed -i 's/libpeas-gtk-1.0/libpeas-2/g' {} +
find . -name "*.vala" -exec sed -i 's/PeasGtk/Peas/g' {} +

%build
export VALAFLAGS="--pkg gtk-layer-shell-0 --pkg libpeas-2 --pkg libsoup-3.0 --pkg libxfce4windowing-0"
export CFLAGS="%{optflags} -Wno-error=return-type -Wno-deprecated-declarations"
%meson -Dfor-wayland=true --libdir=%{_libdir}
%meson_build

%install
%meson_install
# Исправляем shebang в python-файлах
find %{buildroot} -name '*.py' -type f -exec sed -i 's|#!/usr/bin/env python3|#!/usr/bin/python3|g' {} \;
find %{buildroot} -name '*.py' -type f -exec chmod 755 {} \;
%find_lang %{name}
%fdupes -s %{buildroot}

%files
%license LICENSE
%doc README.md
# Упаковываем библиотеки плагинов
%{_libdir}/budgie-desktop/plugins/
%{_libdir}/budgie-wallstreet/
# Упаковываем графические ресурсы и метаданные
%{_datadir}/icons/hicolor/*/*/*
%{_datadir}/pixmaps/*
%{_datadir}/metainfo/*.xml
%{_datadir}/glib-2.0/schemas/*.gschema.xml
%{_datadir}/glib-2.0/schemas/*.gschema.override
%{_datadir}/budgie-desktop/
%{_datadir}/applications/*.desktop
%config %{_sysconfdir}/xdg/autostart/*.desktop

# Мы НЕ включаем /usr/bin/* и /usr/lib/systemd/user/* так как логи показали их отсутствие в 2026 году
# Если они появятся в других конфигурациях, используйте конкретные имена файлов

%files lang -f %{name}.lang

%changelog
* Tue Jan 27 2026 Alex.S.Shubin aka Sylar <renard.corp@hotmail.com> - 2.0.0-0
-Fixed "File not found" errors: removed empty masks for bin and systemd.
-Added paths for Wallstreet and gschema.override.
-Full adaptation for Tumbleweed 2026, libpeas-2, and Wayland.
openSUSE Build Service is sponsored by