%global distributor_name openEuler
%global distributor_version %{openEuler}
%global major_version %%(echo %%{version} | cut -d. -f1)

%global __provides_exclude_from ^%{_libdir}/gnome-boxes/
%global __requires_exclude ^(%%(find %{buildroot}%{_libdir}/gnome-boxes/ -name '*.so' | xargs -n1 basename | sort -u | paste -s -d '|' -))

Name:           gnome-boxes
Version:        44.3
Release:        2
Summary:        An application of the GNOME Desktop Environment
License:        LGPL-2.0-or-later AND CC0-1.0 AND CC-BY-SA-3.0
URL:            https://wiki.gnome.org/Apps/Boxes
Source0:        https://download.gnome.org/sources/%{name}/%{major_version}/%{name}-%{version}.tar.xz

BuildRequires:  meson >= 0.59.0
BuildRequires:  gcc
BuildRequires:  pkgconfig(gio-2.0) >= 2.44.0
BuildRequires:  pkgconfig(glib-2.0) >= 2.44.0
BuildRequires:  pkgconfig(gobject-2.0) >= 2.44.0
BuildRequires:  pkgconfig(gobject-introspection-1.0)
BuildRequires:  pkgconfig(gtk+-3.0) >= 3.22.20
BuildRequires:  pkgconfig(gudev-1.0) >= 165
BuildRequires:  pkgconfig(libarchive) >= 3.0.0
BuildRequires:  pkgconfig(libhandy-1) >= 1.5.0
BuildRequires:  pkgconfig(libosinfo-1.0) >= 1.10.0
BuildRequires:  pkgconfig(libsoup-3.0)
BuildRequires:  pkgconfig(libusb-1.0) >= 1.0.9
BuildRequires:  pkgconfig(libvirt-gconfig-1.0) >= 4.0.0
BuildRequires:  pkgconfig(libvirt-gobject-1.0) >= 4.0.0
BuildRequires:  pkgconfig(libxml-2.0) >= 2.7.8
BuildRequires:  pkgconfig(spice-client-gtk-3.0) >= 0.32
BuildRequires:  pkgconfig(webkit2gtk-4.1)
BuildRequires:  vala
BuildRequires:  yelp-tools
BuildRequires:  desktop-file-utils
Requires:       libvirt-daemon-kvm libvirt-daemon-config-network mtools genisoimage adwaita-icon-theme
Requires:       /usr/bin/virsh

%description
An application of the GNOME Desktop Environment,used to access remote or virtual systems.

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

%build
%meson -D distributor_name=%{distributor_name} -D distributor_version=%{distributor_version}
%meson_build

%install
%meson_install
%find_lang %{name} --with-gnome

mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d
echo "%{_libdir}/gnome-boxes" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf

rm -rf %{buildroot}%{_includedir}/gnome-boxes/
rm -rf %{buildroot}%{_libdir}/gnome-boxes/girepository-1.0/
rm -rf %{buildroot}%{_libdir}/gnome-boxes/pkgconfig/
rm -rf %{buildroot}%{_datadir}/gnome-boxes/gir-1.0/
rm -rf %{buildroot}%{_datadir}/gnome-boxes/vapi/

%post
/sbin/ldconfig

%postun
/sbin/ldconfig

%check
desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Boxes.desktop

%files -f %{name}.lang
%license COPYING copyright
%doc README.md NEWS
%{_bindir}/gnome-boxes
%{_libdir}/gnome-boxes
%{_libexecdir}/gnome-boxes-search-provider
%{_datadir}/applications/org.gnome.Boxes.desktop
%{_datadir}/glib-2.0/schemas/org.gnome.boxes.gschema.xml
%{_datadir}/gnome-boxes/
%dir %{_datadir}/gnome-shell
%dir %{_datadir}/gnome-shell/search-providers
%{_datadir}/gnome-shell/search-providers/org.gnome.Boxes.SearchProvider.ini
%{_datadir}/icons/hicolor/*/apps/org.gnome.Boxes.svg
%{_datadir}/icons/hicolor/symbolic/apps/org.gnome.Boxes-symbolic.svg
%{_datadir}/dbus-1/services/org.gnome.Boxes.SearchProvider.service
%{_datadir}/dbus-1/services/org.gnome.Boxes.service
%{_datadir}/metainfo/org.gnome.Boxes.appdata.xml
%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf

%changelog
* Mon Jul 14 2025 Funda Wang <fundawang@yeah.net> - 44.3-2
- cleanup unused build requirements

* Mon Nov 27 2023 lwg <liweiganga@uniontech.com> - 44.3-1
- update to version 44.3

* Mon Mar 27 2023 lin zhang <lin.zhang@turbolinux.com.cn> - 43.2-2
- Require virsh for fix issue:I6QG6Z

* Mon Jan 02 2023 lin zhang <lin.zhang@turbolinux.com.cn> - 43.2-1
- Update to 43.2

* Tue Jun 21 2022 weijin deng <weijin.deng@turbolinux.com.cn> - 42.1-1
- Update to 42.1

* Mon Mar 28 2022 lin zhang <lin.zhang@turbolinux.com.cn> - 42.0.1-1
- Update to 42.0.1, Update four patches

* Tue Mar 15 2022 weijin deng <weijin.deng@turbolinux.com.cn> - 3.38.2-4
- Add four patches to make gome-boxes avoid setting qemu unsupported modules
  add vnc instead of spice

* Mon Oct 11 2021 weijin deng <weijin.deng@turbolinux.com.cn> - 3.38.2-3
- Add 0001-make-gnome-boxes-correctly-select-virtualization-cpu-mode.patch

* Fri Sep 10 2021 lingsheng <lingsheng@huawei.com> - 3.38.2-2
- Delete rpath setting

* Tue Jun 22 2021 weijin deng <weijin.deng@turbolinux.com.cn> - 3.38.2-1
- Upgrade to 3.38.2
- Delete two patches whoes content existed in this version 3.38.2

* Mon Apr 27 2020 wangyue<wangyue92@huawei.com> - 3.30.3-5
- Package init and fix build error