%global repo dde-tray-loader

Name:           deepin-tray-loader
Version:        1.99.5
Release:        %autorelease
Summary:        A set of tray plugins for Deepin
License:        LGPL-3.0-or-later
URL:            https://github.com/linuxdeepin/dde-tray-loader
Source0:        %{url}/archive/%{version}/%{repo}-%{version}.tar.gz

BuildRequires:  gcc-c++
BuildRequires:  cmake
BuildRequires:  ninja-build
BuildRequires:  extra-cmake-modules

BuildRequires:  cmake(Qt6Core)
BuildRequires:  cmake(Qt6Widgets)
BuildRequires:  cmake(Qt6DBus)
BuildRequires:  cmake(Qt6Network)
BuildRequires:  cmake(Qt6LinguistTools)
BuildRequires:  cmake(Qt6Svg)
BuildRequires:  cmake(Qt6Gui)
BuildRequires:  cmake(Qt6Concurrent)
BuildRequires:  cmake(Qt6WaylandClient)
BuildRequires:  qt6-qtbase-static
BuildRequires:  qt6-qtbase-private-devel

BuildRequires:  cmake(Dtk6Core)
BuildRequires:  cmake(Dtk6Gui)
BuildRequires:  cmake(Dtk6Widget)

BuildRequires:  cmake(DFrameworkdbus)
BuildRequires:  cmake(KF6NetworkManagerQt)

BuildRequires:  pkgconfig(libnm)
BuildRequires:  pkgconfig(gio-2.0)
BuildRequires:  pkgconfig(dframeworkdbus)
BuildRequires:  pkgconfig(gsettings-qt)
BuildRequires:  pkgconfig(wayland-client)
BuildRequires:  pkgconfig(libudev)
BuildRequires:  pkgconfig(x11)
BuildRequires:  pkgconfig(xcb)
BuildRequires:  pkgconfig(xcb-image)
BuildRequires:  pkgconfig(xcb-composite)
BuildRequires:  pkgconfig(xcb-xfixes)
BuildRequires:  pkgconfig(xcb-util)
BuildRequires:  pkgconfig(xcb-shape)
BuildRequires:  pkgconfig(xtst)
BuildRequires:  pkgconfig(xcb-xtest)
BuildRequires:  pkgconfig(xcb-res)
BuildRequires:  pkgconfig(xcb-ewmh)
BuildRequires:  pkgconfig(xcursor)
BuildRequires:  pkgconfig(xkbcommon)

Provides:       deepin-dock = 6.0.37.%{version}-%{release}
Obsoletes:      deepin-dock <= 6.0.37-1

%description
The dde-tray-loader project provides a set of tray plugins that integrated into
task bar and the tool loader which can load the plugins.

%package        devel
Summary:        Development files for %{name}
Requires:       %{name}%{?_isa} = %{version}-%{release}

Provides:       deepin-dock = 6.0.37.%{version}-%{release}
Obsoletes:      deepin-dock <= 6.0.37-1

%description    devel
This package contains development files for %{name}.

%prep
%autosetup -p1 -n %{repo}-%{version}

sed -i '/DSG_APP_ID/s|dde-dock|org.deepin.dde.dock|' src/loader/main.cpp

%build
%cmake -GNinja -DVERSION=%{version} -DDTL_BUILD_WITH_QT6=ON
%cmake_build

%install
%cmake_install

rm %{buildroot}%{_libdir}/libdde-tray-network-core.a
mv %{buildroot}%{_prefix}%{_sysconfdir} %{buildroot}%{_sysconfdir}

%files
%doc README.md
%license LICENSES/*
%{_sysconfdir}/dde-dock/indicator/keybord_layout.json
%{_libexecdir}/trayplugin-loader
%{_prefix}/lib/dde-dock/plugins/*.so
%{_prefix}/lib/dde-dock/plugins/system-trays/*.so
%{_libdir}/libdde-trayplugin-interface.so.0*
%{_qt6_plugindir}/wayland-shell-integration/libplugin-shell.so
%{_datadir}/dbus-1/system.d/*.conf
%{_datadir}/dde-dock/icons/dcc-setting/*.svg
%{_datadir}/dsg/configs/org.deepin.dde.dock/*.json
%{_datadir}/dsg/configs/org.deepin.dde.tray-loader/*.json
%{_datadir}/dsg/configs/org.deepin.dde.tray.network/org.deepin.dde.network.json
%{_datadir}/deepin-service-manager/system/plugin-system-network.json
%{_datadir}/deepin-service-manager/user/plugin-session-network.json
%{_datadir}/*/translations/
%{_datadir}/*/*/translations/

%files devel
%{_includedir}/dde-dock/
%{_includedir}/dde-tray-loader/protocol/plugin-manager-v1.xml
%{_includedir}/libddetraynetworkcore/
%{_libdir}/deepin-service-manager/libnetwork-service.so
%{_libdir}/libdde-trayplugin-interface.so
%{_libdir}/pkgconfig/dde-tray-network-core.pc
%{_libdir}/cmake/DdeDock/
%{_libdir}/cmake/DdeTrayLoader/
%{_libdir}/pkgconfig/dde-dock.pc
%{_libdir}/pkgconfig/dde-tray-loader.pc

%changelog
%autochangelog