%global tarname GooCanvas2-CairoTypes Name: perl-GooCanvas2-CairoTypes Version: 0.001 Release: 5%{?dist} Summary: Bridge between GooCanvas2 and Cairo types # lib/GooCanvas2/CairoTypes.pm file is "GPL+ or Artistic" License: GPL+ or Artistic URL: https://metacpan.org/dist/GooCanvas2-CairoTypes Source0: https://cpan.metacpan.org/authors/id/A/AS/ASOKOLOV/GooCanvas2-CairoTypes-%{version}.tar.gz BuildRequires: coreutils BuildRequires: findutils BuildRequires: gcc BuildRequires: make BuildRequires: perl-Glib-devel BuildRequires: perl-devel BuildRequires: perl-generators BuildRequires: perl-interpreter BuildRequires: perl(ExtUtils::MakeMaker) >= 6.76 BuildRequires: perl(ExtUtils::Depends) BuildRequires: perl(ExtUtils::PkgConfig) BuildRequires: perl(Cairo::Install::Files) BuildRequires: perl(strict) BuildRequires: perl(warnings) BuildRequires: pkgconfig(goocanvas-2.0) Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) # Tests: BuildRequires: perl(File::Spec) BuildRequires: perl(Test::More) %description There is an issue in the interaction between GooCanvas, GObject Introspection, Cairo, and their Perl bindings, which causes some functionality to be unusable from Perl side. This is better described here , and there was an attempt to fix it upstream. Until it's fixed, this can serve as a workaround for it. Currently this module only "fixes" "Cairo::Pattern/GooCanvas2::CairoPattern" interop. For certain calls it just works if this module was included; for some other calls you need to explicitly convert the type. If you have any idea how to fix those cases to not require such call, or need to bridge more types, pull requests are welcome! %prep %setup -q -n %{tarname}-%{version} %build perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 NO_PERLLOCAL=1 OPTIMIZE="$RPM_OPT_FLAGS" %{make_build} %install %{make_install} find %{buildroot} -type f -name '*.bs' -size 0 -delete %{_fixperms} %{buildroot}/* %check make test %files %license LICENSE %doc README Changes %{perl_vendorarch}/auto/GooCanvas2/ %{perl_vendorarch}/GooCanvas2* %{_mandir}/man3/GooCanvas2::CairoTypes.3pm.gz %changelog * Fri Jul 09 2021 Martin Gansser - 0.001-5 - Remove the parenthesis from the License value - Remove Provides it's is created automatically - Do not create a devel subpackage * Fri Jul 09 2021 Martin Gansser - 0.001-4 - Dropped %%filter_provides_in macro - Fixed %%description must be sentence - Fixed license value to "GPL+ or Artistic" - Include unpacked directory %%dir %%{perl_vendorarch}/auto/ - Do not do %%exclude %%{perl_vendorarch}/perllocal.pod That's achieved with "Makefile.PL NO_PERLLOCAL=1" - Include %%{_mandir}/man3/GooCanvas2::CairoTypes.3pm.gz file in devel subpackage - Remove BR perl-macros - Add BR perl(strict) - Add BR perl(warnigs) - Add BR perl(File::Spec) - Remove BR perl(lib) - Corrected Requires to %%{name}%%{?_isa} * Tue Jun 29 2021 Martin Gansser - 0.001-3 - Rename package to perl-GooCanvas2-CairoTypes * Thu Jun 17 2021 Martin Gansser - 0.001-2 - Rename package to perl-goocanvas2-cairotypes * Thu Jun 10 2021 Martin Gansser - 0.001-1 - Initial package