# Generated from fxruby-1.6.44.gem by gem2rpm -*- rpm-spec -*-
%global gem_name fxruby

%if 0%{fedora} < 38
%global use_x11_tests 1
%else
%global use_x11_tests 0
%endif

Name: rubygem-%{gem_name}
Version: 1.6.45
Release: 6%{?dist}
Summary: FXRuby is the Ruby binding to the FOX GUI toolkit
License: LGPL-2.1
URL: https://www.github.com/larskanis/fxruby
Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem
BuildRequires: ruby(release)
BuildRequires: rubygems-devel
BuildRequires: ruby-devel >= 2.3
BuildRequires: fox-devel
BuildRequires: libjpeg-turbo-devel
BuildRequires: libpng-devel
BuildRequires: libtiff-devel
BuildRequires: zlib-devel
BuildRequires: libGL-devel
BuildRequires: libGLU-devel
BuildRequires: libX11-devel
BuildRequires: libXcursor-devel
BuildRequires: libXext-devel
BuildRequires: libXft-devel
BuildRequires: libXrandr-devel
BuildRequires: rubygem(mini_portile2)

# Compiler is required for build of gem binary extension.
# https://fedoraproject.org/wiki/Packaging:C_and_C++#BuildRequires_and_Requires
BuildRequires: gcc-c++
%if %{use_x11_tests}
# X11 tests:
BuildRequires: xorg-x11-server-Xvfb
BuildRequires: font(:lang=en)
BuildRequires: rubygem(test-unit)
BuildRequires: rubygem(opengl)
BuildRequires: rubygem(glu)
%endif

# There are classes using OpenGL but they are not hard require for running FXRuby applications.
Recommends: rubygem(opengl)
Recommends: rubygem(glu)

%description
FXRuby is the Ruby binding to the FOX GUI toolkit.


%package doc
Summary: Documentation for %{name}
Requires: %{name} = %{version}-%{release}
BuildArch: noarch

%description doc
Documentation for %{name}.

%prep
%setup -q -n %{gem_name}-%{version}

%gemspec_remove_dep -g mini_portile2

%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}
cp -a .%{gem_extdir_mri}/{gem.build_complete,*.so} %{buildroot}%{gem_extdir_mri}/

mv %{buildroot}%{gem_instdir}/docs %{buildroot}%{gem_docdir}/
mv %{buildroot}%{gem_instdir}/index.html %{buildroot}%{gem_docdir}/

# Prevent dangling symlink in -debuginfo (rhbz#878863).
rm -rf %{buildroot}%{gem_instdir}/ext/


%check
pushd .%{gem_instdir}
%if %{use_x11_tests}
    # The builders might not have enough resource for this, let's comment it out.
    mv test/TC_FXJPGImage.rb{,.disabled}

    # xvfb does not create a GL able server, let's disable the test.
    mv test/TC_FXGLViewer.rb{,.disabled}

    xvfb-run -d ruby -Ilib -Iext/fox16_c test/TS_All.rb
%else
    echo "No tests to run..."
%endif
popd

%files
%dir %{gem_instdir}
%{gem_extdir_mri}
%exclude %{gem_instdir}/.*
%exclude %{gem_instdir}/appveyor.yml
%{gem_libdir}
%doc %{gem_instdir}/History.md
%doc %{gem_instdir}/README.rdoc
%exclude %{gem_instdir}/scripts
%exclude %{gem_instdir}/swig-interfaces
%exclude %{gem_cache}
%{gem_spec}
%{gem_instdir}/fxruby.gemspec

%files doc
%doc %{gem_docdir}
%exclude %{gem_instdir}/rdoc-sources
%{gem_instdir}/doap.rdf
%{gem_instdir}/doap.rdf.erb
%{gem_instdir}/TODO
%{gem_instdir}/Gemfile
%{gem_instdir}/Rakefile
%{gem_instdir}/examples
%{gem_instdir}/test

%changelog
* Mon Jan 30 2023 Jarek Prokop <jprokop@redhat.com> - 1.6.45-6
- Rebuild for Ruby 3.2, disable tests for Fedora >= 38
  until there is time to investigate.

* Fri Jan 13 2023 Jarek Prokop <jprokop@redhat.com> - 1.6.45-5
- Rebuild for Ruby 3.2.

* Sun Apr 24 2022 Jarek Prokop <jprokop@redhat.com> - 1.6.45-4
- Upgrade to rubygem-fxruby 1.6.45.

* Tue Mar 08 2022 Jarek Prokop <jprokop@redhat.com> - 1.6.44-3
- Rebuild for Ruby 3.1

* Tue May 25 2021 Jarek Prokop <jprokop@redhat.com> - 1.6.44-2
- Compile against OpenGL, image libraries and more X11 deps.
- Enable tests

* Tue Apr 20 2021 Jarek Prokop <jprokop@redhat.com> - 1.6.44-1
- Initial package