# This file is licensed under the terms of GNU GPLv2+. # Run optional test %if ! (0%{?rhel}) %bcond_without perl_Devel_CallChecker_enables_optional_test %else %bcond_with perl_Devel_CallChecker_enables_optional_test %endif Name: perl-Devel-CallChecker Version: 0.009 Release: 5%{?dist} Summary: Custom op checking attached to subroutines License: GPL-1.0-or-later OR Artistic-1.0-Perl URL: https://metacpan.org/release/Devel-CallChecker Source0: https://cpan.metacpan.org/modules/by-module/Devel/Devel-CallChecker-%{version}.tar.gz # Build BuildRequires: coreutils BuildRequires: findutils BuildRequires: gcc BuildRequires: perl-devel BuildRequires: perl-generators BuildRequires: perl-interpreter BuildRequires: perl(ExtUtils::CBuilder) >= 0.15 BuildRequires: perl(Module::Build) BuildRequires: perl(strict) BuildRequires: perl(warnings) # Run-time BuildRequires: perl(DynaLoader) BuildRequires: perl(DynaLoader::Functions) >= 0.001 BuildRequires: perl(Exporter) BuildRequires: perl(parent) # Tests BuildRequires: perl(ExtUtils::ParseXS) BuildRequires: perl(File::Spec) BuildRequires: perl(IO::File) >= 1.03 BuildRequires: perl(Test::More) %if %{with perl_Devel_CallChecker_enables_optional_test} # Optional tests BuildRequires: perl(Test::Pod) >= 1.00 BuildRequires: perl(Test::Pod::Coverage) BuildRequires: perl(threads) BuildRequires: perl(threads::shared) BuildRequires: perl(Thread::Semaphore) %endif # Dependencies Requires: perl(DynaLoader) Requires: perl(DynaLoader::Functions) >= 0.001 %{?perl_default_filter} # Remove private modules %global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\((t::LoadXS|t::WriteHeader)\\)$ %global __provides_exclude_from %{?__provides_exclude_from:%__provides_exclude_from|}^%{_libexecdir} %description This module makes some new features of the Perl 5.14.0 C API available to XS modules running on older versions of Perl. The features are centered around the function cv_set_call_checker, which allows XS code to attach a magical annotation to a Perl subroutine, resulting in resolvable calls to that subroutine being mutated at compile time by arbitrary C code. This module makes cv_set_call_checker and several supporting functions available. (It is possible to achieve the effect of cv_set_call_checker from XS code on much earlier Perl versions, but it is painful to achieve without the centralized facility.) %package tests Summary: Tests for %{name} BuildArch: noarch Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: coreutils Requires: perl-Test-Harness %description tests Tests from %{name}. Execute them with "%{_libexecdir}/%{name}/test". %prep %setup -q -n Devel-CallChecker-%{version} # Help generators to recognize Perl scripts for F in t/*.t; do perl -i -MConfig -ple 'print $Config{startperl} if $. == 1 && !s{\A#!\s*perl}{$Config{startperl}}' "$F" chmod +x "$F" done %build perl Build.PL --installdirs=vendor --optimize="%{optflags}" ./Build %install ./Build install --destdir=%{buildroot} --create_packlist=0 find %{buildroot} -type f -name '*.bs' -empty -delete %{_fixperms} -c %{buildroot} # Install tests mkdir -p %{buildroot}%{_libexecdir}/%{name} cp -a t %{buildroot}%{_libexecdir}/%{name} rm -fr %{buildroot}%{_libexecdir}/%{name}/t/pod* cat > %{buildroot}%{_libexecdir}/%{name}/test << 'EOF' #!/bin/bash set -e # Test t/rules-dbm.t write into CWD DIR=$(mktemp -d) cp -a %{_libexecdir}/%{name}/* "$DIR" pushd "$DIR" prove -I . -j "$(getconf _NPROCESSORS_ONLN)" popd rm -r "$DIR" EOF chmod +x %{buildroot}%{_libexecdir}/%{name}/test %check ./Build test %files %doc Changes README %{perl_vendorarch}/auto/Devel/ %{perl_vendorarch}/Devel/ %{_mandir}/man3/Devel::CallChecker.3* %files tests %{_libexecdir}/%{name} %changelog * Thu Jan 25 2024 Fedora Release Engineering - 0.009-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Sun Jan 21 2024 Fedora Release Engineering - 0.009-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Thu Jul 20 2023 Fedora Release Engineering - 0.009-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Tue Jul 11 2023 Jitka Plesnikova - 0.009-2 - Perl 5.38 rebuild * Tue Apr 11 2023 Paul Howarth - 0.009-1 - 0.009 bump (rhbz#2185631) - Use author-independent source URL - Fix permissions verbosely - Make %%files list more explicit * Fri Jan 20 2023 Fedora Release Engineering - 0.008-19 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Fri Dec 16 2022 Michal Josef Špaček - 0.008-18 - Package tests - Update license to SPDX format * Fri Jul 22 2022 Fedora Release Engineering - 0.008-17 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Tue May 31 2022 Jitka Plesnikova - 0.008-16 - Perl 5.36 rebuild * Fri Jan 21 2022 Fedora Release Engineering - 0.008-15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Thu Jul 22 2021 Fedora Release Engineering - 0.008-14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Fri May 21 2021 Jitka Plesnikova - 0.008-13 - Perl 5.34 rebuild * Wed Jan 27 2021 Fedora Release Engineering - 0.008-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Tue Jul 28 2020 Fedora Release Engineering - 0.008-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Tue Jun 23 2020 Jitka Plesnikova - 0.008-10 - Perl 5.32 rebuild * Wed Jan 29 2020 Fedora Release Engineering - 0.008-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Fri Jul 26 2019 Fedora Release Engineering - 0.008-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Fri May 31 2019 Jitka Plesnikova - 0.008-7 - Perl 5.30 rebuild * Fri Feb 01 2019 Fedora Release Engineering - 0.008-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Fri Jul 13 2018 Fedora Release Engineering - 0.008-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Thu Jun 28 2018 Jitka Plesnikova - 0.008-4 - Perl 5.28 rebuild * Thu Feb 08 2018 Fedora Release Engineering - 0.008-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Thu Aug 03 2017 Fedora Release Engineering - 0.008-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Wed Jul 26 2017 Petr Pisar - 0.008-1 - 0.008 bump * Mon Jun 05 2017 Jitka Plesnikova - 0.007-7 - Perl 5.26 rebuild * Sat Feb 11 2017 Fedora Release Engineering - 0.007-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Sun May 15 2016 Jitka Plesnikova - 0.007-5 - Perl 5.24 rebuild * Thu Feb 04 2016 Fedora Release Engineering - 0.007-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Thu Jun 18 2015 Fedora Release Engineering - 0.007-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Fri Jun 05 2015 Jitka Plesnikova - 0.007-2 - Perl 5.22 rebuild * Mon Mar 23 2015 Petr Pisar - 0.007-1 - 0.007 bump * Thu Aug 28 2014 Jitka Plesnikova - 0.006-4 - Perl 5.20 rebuild * Sun Aug 17 2014 Fedora Release Engineering - 0.006-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Sat Jun 07 2014 Fedora Release Engineering - 0.006-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Mon Sep 23 2013 Petr Pisar - 0.006-1 - 0.006 bump - This version should be compatible with any binary compatible perl version (bug #754159) * Sat Aug 03 2013 Fedora Release Engineering - 0.005-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Sun Jul 21 2013 Petr Pisar - 0.005-5 - Perl 5.18 rebuild * Thu Feb 14 2013 Fedora Release Engineering - 0.005-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Fri Jul 20 2012 Fedora Release Engineering - 0.005-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Thu Jun 28 2012 Petr Pisar - 0.005-2 - Perl 5.16 rebuild * Mon Feb 13 2012 Petr Pisar - 0.005-1 - 0.005 bump * Thu Feb 02 2012 Petr Pisar - 0.004-1 - 0.004 bump * Fri Jan 13 2012 Fedora Release Engineering - 0.003-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Tue Nov 15 2011 Petr Pisar - 0.003-2 - Rebuild against Perl 5.14.2 (bug #754159) * Mon Jul 11 2011 Petr Pisar 0.003-1 - Specfile autogenerated by cpanspec 1.78. - Remove BuildRoot and defattr