## START: Set by rpmautospec
## (rpmautospec version 0.3.0)
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
    release_number = 1;
    base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
    print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec

%global apiver 2.68
# first two digits of version
%define release_version %(echo %{version} | awk -F. '{print $1"."$2}')

%global libsigc_version 3.0.0
%global glib2_version 2.73.2

Name:           glibmm2.68
Version:        2.74.0
Release:        %autorelease
Summary:        C++ interface for the GLib library

License:        LGPLv2+
URL:            http://www.gtkmm.org/
Source0:        https://download.gnome.org/sources/glibmm/%{release_version}/glibmm-%{version}.tar.xz

Patch0:         glibmm24-gcc11.patch

BuildRequires:  doxygen
BuildRequires:  gcc-c++
BuildRequires:  pkgconfig(glib-2.0) >= %{glib2_version}
BuildRequires:  pkgconfig(sigc++-3.0) >= %{libsigc_version}
BuildRequires:  libxslt
BuildRequires:  m4
BuildRequires:  meson
BuildRequires:  mm-common
BuildRequires:  perl-generators
BuildRequires:  perl-interpreter
BuildRequires:  perl(Getopt::Long)

Requires:       glib2%{?_isa} >= %{glib2_version}
Requires:       libsigc++30%{?_isa} >= %{libsigc_version}

# Do not export private Perl modules
%global __provides_exclude %{?__provides_exclude:%{__provides_exclude}|}^perl\\(
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\((DocsParser|Enum|Function|FunctionBase|GtkDefs|Object|Output|Property|Util|WrapParser)\\)

%description
glibmm is the official C++ interface for the popular cross-platform
library GLib. It provides non-UI API that is not available in standard
C++ and makes it possible for gtkmm to wrap GObject-based APIs.


%package devel
Summary:        Headers for developing programs that will use %{name}
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description devel
This package contains the static libraries and header files needed for
developing glibmm applications.


%package        doc
Summary:        Documentation for %{name}, includes full API docs
BuildArch:      noarch
Requires:       %{name} = %{version}-%{release}
Requires:       libsigc++20-doc

%description    doc
This package contains the full API documentation for %{name}.


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


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


%install
%meson_install

chmod +x $RPM_BUILD_ROOT%{_libdir}/glibmm-%{apiver}/proc/generate_wrap_init.pl
chmod +x $RPM_BUILD_ROOT%{_libdir}/glibmm-%{apiver}/proc/gmmproc


%files
%license COPYING
%doc AUTHORS NEWS README.md
%{_libdir}/libgiomm-%{apiver}.so.1*
%{_libdir}/libglibmm-%{apiver}.so.1*
%{_libdir}/libglibmm_generate_extra_defs-%{apiver}.so.1*

%files devel
%{_includedir}/glibmm-%{apiver}/
%{_includedir}/giomm-%{apiver}/
%{_libdir}/*.so
%{_libdir}/glibmm-%{apiver}/
%{_libdir}/giomm-%{apiver}/
%{_libdir}/pkgconfig/*.pc

%files doc
%doc %{_datadir}/devhelp/
%doc %{_docdir}/glibmm-%{apiver}/


%changelog
* Mon Sep 19 2022 Kalev Lember <klember@redhat.com> 2.74.0-1
- Update to 2.74.0

* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> 2.72.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

* Thu May 05 2022 David King <amigadave@amigadave.com> 2.72.1-1
- Update to 2.72.1

* Sat Apr 09 2022 David King <amigadave@amigadave.com> 2.72.0-1
- Update to 2.72.0

* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> 2.70.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

* Wed Oct 27 2021 Kalev Lember <klember@redhat.com> 2.70.0-1
- Update to 2.70.0

* Tue Sep 14 2021 Kalev Lember <klember@redhat.com> 2.68.1-1
- Initial build of the new parallel installable glibmm-2.68 ABI version