%global glib_version 2.70
%global gtk_version 4.4
%global src_name gtksourceview
%global api_ver 5

Name:           gtksourceview5
Version:        5.4.1
Release:        1
Summary:        Source code editing widget

License:        LGPLv2+
URL:            https://wiki.gnome.org/Projects/GtkSourceView
Source0:        https://download.gnome.org/sources/gtksourceview/5.4/%{src_name}-%{version}.tar.xz

BuildRequires:  gcc
BuildRequires:  gettext
BuildRequires:  gi-docgen
BuildRequires:  itstool
BuildRequires:  meson >= 0.59.0
BuildRequires:  gobject-introspection-devel >= 1.70
BuildRequires:  pkgconfig(fontconfig)
BuildRequires:  pkgconfig(fribidi)
BuildRequires:  pkgconfig(gio-2.0) >= %{glib_version}
BuildRequires:  pkgconfig(glib-2.0) >= %{glib_version}
BuildRequires:  pkgconfig(gobject-2.0) >= %{glib_version}
BuildRequires:  pkgconfig(gtk4) >= %{gtk_version}
BuildRequires:  pkgconfig(libxml-2.0) >= 2.6
BuildRequires:  pkgconfig(pangoft2)
BuildRequires:  pkgconfig(libpcre2-8)
BuildRequires:  vala
BuildRequires:  valgrind

Requires: glib2%{?_isa} >= %{glib_version}
Requires: gtk4%{?_isa} >= %{gtk_version}
Requires: hicolor-icon-theme

%description
GtkSourceView is a GNOME library that extends GtkTextView, the standard GTK+
widget for multiline text editing. GtkSourceView adds support for syntax
highlighting, undo/redo, file loading and saving, search and replace, a
completion system, printing, displaying line numbers, and other features
typical of a source code editor.

This package contains version %{api_ver} of GtkSourceView.

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

%description    devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.

%package        tests
Summary:        Tests for the %{name} package
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description    tests
The %{name}-tests package contains tests that can be used to verify
the functionality of the installed %{name} package.

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

%build
%meson -Dgtk_doc=true -Dsysprof=true -Dinstall_tests=true
%meson_build

%install
%meson_install

%find_lang gtksourceview-%{api_ver}

%files -f gtksourceview-%{api_ver}.lang
%license COPYING
%doc NEWS README.md
%dir %{_libdir}/girepository-1.0
%{_libdir}/girepository-1.0/GtkSource-%{api_ver}.typelib
%{_libdir}/libgtksourceview-%{api_ver}.so.0*
%{_datadir}/gtksourceview-%{api_ver}/
%{_datadir}/icons/hicolor/scalable/actions/*

%files devel
%{_includedir}/gtksourceview-%{api_ver}/
%{_libdir}/pkgconfig/*.pc
%{_libdir}/libgtksourceview-%{api_ver}.so
%dir %{_datadir}/gir-1.0
%{_datadir}/gir-1.0/GtkSource-%{api_ver}.gir
%{_datadir}/doc/gtksourceview5
%{_datadir}/vala

%files tests
%{_bindir}/gtksourceview%{api_ver}-widget
%{_libexecdir}/installed-tests
%{_datadir}/installed-tests

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

* Mon Mar 28 2022 lin zhang <lin.zhang@turbolinux.com.cn> - 5.4.0-1
- Initial packaging of GtkSourceView 5
