%global apiver 3.0
%global glibmm24_version 2.54.0
%global gtk3_version 3.24.0
%global cairomm_version 1.12.0
%global pangomm_version 2.38.2
%global gdk_pixbuf2_version 2.35.5
%global atkmm_version 2.24.2

Name:           gtkmm30
Version:        3.24.6
Release:        1
Summary:        C++ Interfaces for GTK+ and GNOME
License:        LGPLv2+
URL:            https://www.gtkmm.org/
Source0:        https://download.gnome.org/sources/gtkmm/3.24/gtkmm-%{version}.tar.xz

BuildRequires:  meson gcc-c++ m4 doxygen mm-common libxslt
BuildRequires:  gdk-pixbuf2-devel >= %{gdk_pixbuf2_version}
BuildRequires:  glibmm24-devel >= %{glibmm24_version}
BuildRequires:  gtk3-devel >= %{gtk3_version}
BuildRequires:  atkmm-devel >= %{atkmm_version}
BuildRequires:  cairomm-devel >= %{cairomm_version}
BuildRequires:  pangomm-devel >= %{pangomm_version}

Requires:       atkmm%{?_isa} >= %{atkmm_version}
Requires:       cairomm%{?_isa} >= %{cairomm_version}
Requires:       gdk-pixbuf2%{?_isa} >= %{gdk_pixbuf2_version}
Requires:       glibmm24%{?_isa} >= %{glibmm24_version}
Requires:       gtk3%{?_isa} >= %{gtk3_version}
Requires:       pangomm%{?_isa} >= %{pangomm_version}
Requires:       glibmm24-doc

Provides:       %{name}-doc = %{version}-%{release}
Obsoletes:      %{name}-doc < %{version}-%{release}

%description
gtkmm is the official C++ interface for the popular GUI library GTK+. Highlights include typesafe
callbacks, and a comprehensive set of widgets that are easily extensible via inheritance. You can
create user interfaces either in code or with the Glade User Interface designer, using Gtk::Builder.
There's extensive documentation, including API reference and a tutorial.

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

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

%prep
%autosetup -n gtkmm-%{version}
mkdir -p _docs
cp -a demos/ _docs/

%build
%meson -Dbuild-documentation=true
%meson_build

%install
%meson_install
%delete_la_and_a

%files
%license COPYING
%doc AUTHORS NEWS README
%{_libdir}/libgdkmm-%{apiver}.so.1*
%{_libdir}/libgtkmm-%{apiver}.so.1*
%doc %{_docdir}/gtkmm-%{apiver}/
%doc %{_datadir}/devhelp/
%doc _docs/*

%files devel
%{_includedir}/gtkmm-%{apiver}/
%{_includedir}/gdkmm-%{apiver}/
%{_libdir}/libgdkmm-%{apiver}.so
%{_libdir}/libgtkmm-%{apiver}.so
%{_libdir}/gtkmm-%{apiver}/
%{_libdir}/gdkmm-%{apiver}/
%{_libdir}/pkgconfig/*.pc

%changelog
* Mon Jun 6 2022 lin zhang <lin.zhang@turbolinux.com.cn> - 3.24.6-1
- Update to 3.24.6

* Mon Mar 28 2022 lin zhang <lin.zhang@turbolinux.com.cn> - 3.24.5-1
- Update to 3.24.5

* Fri Jun 18 2021 weijin deng <weijin.deng@turbolinux.com.cn> - 3.24.4-1
- Upgrade to 3.24.4
- Use meson rebuild

* Fri Dec 13 2019 openEuler Buildteam <buildteam@openeuler.org> - 3.22.2-4
- Package init
