%global	gem_name	gtk4

%global	gem_ver	4.0.3
%global	gem_ver_escaped %(v=%{gem_ver}; echo ${v} | sed -e 's|\\.|\\\\.|g')

Name:		rubygem-%{gem_name}
Version:	4.0.3
Release:	2%{?dist}

Summary:	Ruby/GTK4 is a Ruby binding of GTK+-4.x
License:	LGPL-2.1-or-later
URL:		https://ruby-gnome.github.io/

Source0:	https://rubygems.org/gems/%{gem_name}-%{version}.gem
Source1:	%{gem_name}-%{version}-test-missing-files.tar.gz
# Source1 is generated by the $ bash %%SOURCE2 %%version
Source2:	%{gem_name}-create-missing-test-files.sh

# https://github.com/ruby-gnome/ruby-gnome/pull/1512
Patch0:	%{name}-4.0.3-pr1512-hello_world_fix.patch
# https://github.com/ruby-gnome/ruby-gnome/pull/1515
Patch1:	%{name}-4.0.3-pr1515-sample-builder.patch
# https://github.com/ruby-gnome/ruby-gnome/pull/1526
Patch2:	%{name}-4.0.3-pr1526-samples-fix.patch

BuildRequires:	gcc
BuildRequires:	ruby(release)
BuildRequires:	rubygems-devel
BuildRequires:	ruby-devel
#%%check
BuildRequires:	rubygem(rake)
BuildRequires:	rubygem(atk)
BuildRequires:	rubygem(gdk4)
BuildRequires:	rubygem(test-unit)
BuildRequires:	rubygem(pkg-config)
BuildRequires:	%{_bindir}/xvfb-run
BuildRequires:	pkgconfig(gobject-introspection-1.0)
BuildRequires:	pkgconfig(gtk4)
BuildRequires:	rubygem-glib2-devel
BuildRequires:	rubygem-cairo-devel
BuildRequires:	rubygem-gobject-introspection-devel

%description
Ruby/GTK4 is a Ruby binding of GTK+-4.x.


%package	doc
Summary:	Documentation for %{name}
Requires:	%{name} = %{version}-%{release}
BuildArch:	noarch
# For embedded fonts, see https://ruby.github.io/rdoc/LEGAL_rdoc.html
License:	LGPL-2.1-or-later and  OFL-1.1

%description	doc
Documentation for %{name}.

%prep
%setup -q -n %{gem_name}-%{version} -a 1
mv ../%{gem_name}-%{version}.gemspec .

%patch0 -p2
%patch1 -p2
%patch2 -p2

# Allow higher version of other ruby-gnome suite pkgs
sed -i -e 's|= %{gem_ver_escaped}|>= %{gem_ver}|' %{gem_name}-%{version}.gemspec

%build
gem build %{gem_name}-%{version}.gemspec
%gem_install

%install
mkdir -p %{buildroot}%{gem_dir}
cp -a .%{gem_dir}/* %{buildroot}%{gem_dir}/

mkdir -p %{buildroot}%{gem_extdir_mri}
pushd .%{gem_extdir_mri}
cp -a \
	gem.build_complete \
	*.so \
	%{buildroot}%{gem_extdir_mri}/
popd

# cleanup
rm -f %{buildroot}%{gem_cache}
pushd %{buildroot}%{gem_instdir}
rm -rf \
	%{gem_name}.gemspec \
	Rakefile \
	ext/ \
	test/ \
	%{nil}
popd

%check
cp -a %{gem_name}/test .%{gem_instdir}
pushd .%{gem_instdir}

sed -i test/run-test.rb \
	-e '\@run-test@s|require_relative "../../|require "|'
xvfb-run \
	ruby -Ilib:test:ext/%{gem_name} ./test/run-test.rb
popd

%files
%license	%{gem_instdir}/COPYING.LIB
%doc	%{gem_instdir}/README.md
%dir %{gem_instdir}
%{gem_libdir}
%{gem_extdir_mri}
%{gem_spec}

%files doc
%doc	%{gem_docdir}
%{gem_instdir}/sample/

%changelog
* Mon Nov 28 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.0.3-2
- List license for embedded fonts explicitly

* Wed Nov 16 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.0.3-1
- Initial package