54a1f3b
# Perform optional tests
54a1f3b
%bcond_without perl_Inline_C_enables_optional_tests
54a1f3b
Petr Šabata 052920e
Name:           perl-Inline-C
54a1f3b
Version:        0.82
06e13f3
Release:        8%{?dist}
Petr Šabata 052920e
Summary:        Write Perl subroutines in C
d77e82e
License:        GPL-1.0-or-later OR Artistic-1.0-Perl
1eaf189
URL:            https://metacpan.org/release/Inline-C
54a1f3b
Source0:        https://cpan.metacpan.org/authors/id/E/ET/ETJ/Inline-C-%{version}.tar.gz
d2a397f
# Fix tests to work from a read-only location, proposed to an upstream,
d2a397f
# <https://github.com/ingydotnet/inline-c-pm/pull/102>
d2a397f
Patch0:         Inline-C-0.82-Use-File-Path-for-creating-temporary-directories-in-.patch
Petr Šabata 052920e
BuildArch:      noarch
54a1f3b
# Build:
1974f60
BuildRequires:  coreutils
d2a397f
BuildRequires:  findutils
Petr Šabata 1ba207c
BuildRequires:  make
3b30e9c
BuildRequires:  perl-generators
5b9191c
BuildRequires:  perl-interpreter
5845a48
BuildRequires:  perl(:VERSION) >= 5.10
d2a397f
BuildRequires:  perl(Config)
Petr Šabata 89a2cf7
BuildRequires:  perl(ExtUtils::MakeMaker) >= 7.00
Petr Šabata 89a2cf7
BuildRequires:  perl(File::ShareDir::Install)
Petr Šabata 89a2cf7
BuildRequires:  perl(strict)
Petr Šabata 89a2cf7
BuildRequires:  perl(warnings)
54a1f3b
# Runtime:
5b9191c
BuildRequires:  gcc
3b30e9c
BuildRequires:  perl-devel
Petr Šabata 052920e
BuildRequires:  perl(Carp)
Petr Šabata ef7fb22
BuildRequires:  perl(constant)
Petr Šabata 052920e
BuildRequires:  perl(Cwd)
Petr Šabata 052920e
BuildRequires:  perl(Data::Dumper)
Petr Šabata 052920e
BuildRequires:  perl(Fcntl)
Petr Šabata 1ba207c
BuildRequires:  perl(File::Spec) >= 0.8
Petr Šabata 052920e
BuildRequires:  perl(FindBin)
Petr Šabata 0b0e9be
BuildRequires:  perl(if)
54a1f3b
BuildRequires:  perl(Inline) >= 0.86
Petr Šabata 0b0e9be
# Inline::Filters and Inline::Struct are optional and introduce circular deps
Petr Šabata 1ba207c
BuildRequires:  perl(Parse::RecDescent) >= 1.967009
Petr Šabata 0b0e9be
BuildRequires:  perl(Pegex::Base)
Petr Šabata 0b0e9be
BuildRequires:  perl(Pegex::Parser)
Petr Šabata 89a2cf7
BuildRequires:  perl(Time::HiRes)
54a1f3b
# Tests only:
Petr Šabata 89a2cf7
BuildRequires:  perl(autodie)
Petr Šabata 89a2cf7
BuildRequires:  perl(base)
ad34948
# t/27inline_maker.t uses example/modules/Boo-2.01 that uses Inline::MakeMaker
ad34948
# that generated Makefile.PL with "perl -Mblib".
ad34948
BuildRequires:  perl(blib)
Petr Šabata 89a2cf7
BuildRequires:  perl(diagnostics)
Petr Šabata 89a2cf7
BuildRequires:  perl(Exporter)
Petr Šabata 89a2cf7
BuildRequires:  perl(File::Copy::Recursive)
Petr Šabata 89a2cf7
BuildRequires:  perl(File::Find)
Petr Šabata 89a2cf7
BuildRequires:  perl(File::Path)
d2a397f
BuildRequires:  perl(File::Temp) >= 0.19
ad34948
BuildRequires:  perl(Inline::MakeMaker)
Petr Šabata 2948fdd
BuildRequires:  perl(IPC::Cmd)
Petr Šabata 052920e
BuildRequires:  perl(lib)
Petr Šabata 1ba207c
BuildRequires:  perl(Test::More) >= 0.88
5845a48
# Test::Pod 1.41 not used
Petr Šabata 1ba207c
BuildRequires:  perl(version) >= 0.77
Petr Šabata ef7fb22
BuildRequires:  perl(YAML::XS)
54a1f3b
%if %{with perl_Inline_C_enables_optional_tests}
54a1f3b
# Optional tests only:
54a1f3b
BuildRequires:  perl(Test::Warn) >= 0.23
54a1f3b
%endif
5b9191c
# It executes C compiler to build generated XS code
5b9191c
Requires:       gcc
3b30e9c
# It executes make
3b30e9c
Requires:       make
3b30e9c
# It executes "perl Makefile.PL"
24ba946
Requires:       perl-interpreter
3b30e9c
# It requires Perl header files in the generated and compiled XS code
3b30e9c
Requires:       perl-devel
Petr Šabata 0b0e9be
Requires:       perl(Fcntl)
Petr Šabata 052920e
Requires:       perl(FindBin)
Petr Šabata 1ba207c
Requires:       perl(File::Spec) >= 0.8
54a1f3b
Requires:       perl(Inline) >= 0.86
Petr Šabata 1ba207c
Requires:       perl(Parse::RecDescent) >= 1.967009
Petr Šabata 89a2cf7
Requires:       perl(Time::HiRes)
Petr Šabata 052920e
# Split from Inline in 0.58
Petr Šabata 052920e
Conflicts:      perl-Inline < 0.58
Petr Šabata 052920e
d2a397f
# Remove under-specified dependencies
d2a397f
%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\((File::Spec|Test::More|Test::Warn|version)\\)$
d2a397f
d2a397f
# Remove private modules
d2a397f
%global __requires_exclude %{__requires_exclude}|^perl\\(TestInline
d2a397f
%global __provides_exclude %{?__provides_exclude:%{__requires_exclude}|}^perl\\(TestInline
Petr Šabata 1ba207c
Petr Šabata 052920e
%description
Petr Šabata 052920e
Inline::C is a module that allows you to write Perl subroutines in C. Since
Petr Šabata 052920e
version 0.30 the Inline module supports multiple programming languages and
Petr Šabata 052920e
each language has its own support module.
Petr Šabata 052920e
d2a397f
%package tests
d2a397f
Summary:        Tests for %{name}
d2a397f
Requires:       %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
d2a397f
Requires:       perl-Test-Harness
d2a397f
# t/27inline_maker.t uses example/modules/Boo-2.01 that uses Inline::MakeMaker
d2a397f
# that generated Makefile.PL with "perl -Mblib".
d2a397f
Requires:       perl(blib)
d2a397f
Requires:       perl(File::Spec) >= 0.8
d2a397f
Requires:       perl(Inline::MakeMaker)
d2a397f
Requires:       perl(Test::More) >= 0.88
d2a397f
%if %{with perl_Inline_C_enables_optional_tests}
d2a397f
Requires:       perl(Test::Warn) >= 0.23
d2a397f
%endif
d2a397f
Requires:       perl(version) >= 0.77
d2a397f
d2a397f
%description tests
d2a397f
Tests from %{name}. Execute them
d2a397f
with "%{_libexecdir}/%{name}/test".
d2a397f
Petr Šabata 052920e
%prep
d2a397f
%autosetup -p1 -n Inline-C-%{version}
d2a397f
%if !%{with perl_Inline_C_enables_optional_tests}
d2a397f
rm t/08taint.t
d2a397f
perl -i -ne 'print $_ unless m{^t/08taint\.t}' MANIFEST
d2a397f
%endif
d2a397f
# Remove author tests
d2a397f
rm t/author-pod-syntax.t
d2a397f
perl -i -ne 'print $_ unless m{^t/author-pod-syntax\.t}' MANIFEST
d2a397f
# Fix permissions
d2a397f
find example t -type f -exec chmod -x {} +
d2a397f
# Help generators to recognize Perl scripts
d2a397f
for F in t/*.t; do
d2a397f
    perl -i -MConfig -ple 'print $Config{startperl} if $. == 1 && !s{\A#!\s*perl}{$Config{startperl}}' "$F"
d2a397f
    chmod +x "$F"
d2a397f
done
Petr Šabata 052920e
Petr Šabata 052920e
%build
522b0c6
perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 NO_PERLLOCAL=1 OPTIMIZE="%{optflags}"
522b0c6
%{make_build}
Petr Šabata 052920e
Petr Šabata 052920e
%install
522b0c6
%{make_install}
Petr Šabata 052920e
%{_fixperms} %{buildroot}/*
d2a397f
# Install tests
d2a397f
mkdir -p %{buildroot}%{_libexecdir}/%{name}
d2a397f
cp -a example t %{buildroot}%{_libexecdir}/%{name}
10d05dc
# t/000-require-modules.t operates on modules in ./lib, do not symlink the tree
10d05dc
# to prevent from generating RPM dependencies on them. Remove the test inestead.
10d05dc
rm %{buildroot}%{_libexecdir}/%{name}/t/000-require-modules.t
d2a397f
cat > %{buildroot}%{_libexecdir}/%{name}/test << 'EOF'
d2a397f
#!/bin/sh
d2a397f
unset ACTIVEPERL_CONFIG_SILENT AUTHOR_TESTING CPATH DEBUG INCLUDE MAKEFLAGS \
d2a397f
    PERL_INLINE_BUILD_NOISY PERL_INLINE_DEVELOPER_TEST PERL_INSTALL_ROOT \
d2a397f
    PERL_PEGEX_AUTO_COMPILE NO_INSANE_DIRNAMES
d2a397f
cd %{_libexecdir}/%{name} && exec prove -I . -j "$(getconf _NPROCESSORS_ONLN)"
d2a397f
EOF
d2a397f
chmod +x %{buildroot}%{_libexecdir}/%{name}/test
Petr Šabata 052920e
Petr Šabata 052920e
%check
522b0c6
unset ACTIVEPERL_CONFIG_SILENT AUTHOR_TESTING CPATH DEBUG INCLUDE MAKEFLAGS \
522b0c6
    PERL_INLINE_BUILD_NOISY PERL_INLINE_DEVELOPER_TEST PERL_INSTALL_ROOT \
522b0c6
    PERL_PEGEX_AUTO_COMPILE NO_INSANE_DIRNAMES
d2a397f
export HARNESS_OPTIONS=j$(perl -e 'if ($ARGV[0] =~ /.*-j([0-9][0-9]*).*/) {print $1} else {print 1}' -- '%{?_smp_mflags}')
Petr Šabata 052920e
make test
Petr Šabata 052920e
Petr Šabata 052920e
%files
Petr Šabata 89a2cf7
%license LICENSE
Petr Šabata 89a2cf7
%doc Changes README
78a20ce
%dir %{perl_vendorlib}/auto/share
78a20ce
%dir %{perl_vendorlib}/auto/share/dist
78a20ce
%{perl_vendorlib}/auto/share/dist/Inline-C
78a20ce
%dir %{perl_vendorlib}/Inline
78a20ce
%{perl_vendorlib}/Inline/C
78a20ce
%{perl_vendorlib}/Inline/C.pod
78a20ce
%{perl_vendorlib}/Inline/C.pm
78a20ce
%{_mandir}/man3/Inline::C::*
78a20ce
%{_mandir}/man3/Inline::C.*
Petr Šabata 052920e
d2a397f
%files tests
d2a397f
%{_libexecdir}/%{name}
d2a397f
Petr Šabata 052920e
%changelog
06e13f3
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.82-8
06e13f3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
06e13f3
78a20ce
* Tue Jan 31 2023 Petr Pisar <ppisar@redhat.com> - 0.82-7
78a20ce
- Explicit file list
78a20ce
61cfbb0
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.82-6
61cfbb0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
61cfbb0
10d05dc
* Wed Dec 07 2022 Petr Pisar <ppisar@redhat.com> - 0.82-5
10d05dc
- Stop providing symlinked modules from perl-Inline-C-tests
10d05dc
d77e82e
* Thu Sep 29 2022 Petr Pisar <ppisar@redhat.com> - 0.82-4
d77e82e
- Convert a License tag to an SPDX format
d77e82e
d3eabe1
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.82-3
d3eabe1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
d3eabe1
6693c45
* Wed Jun 01 2022 Jitka Plesnikova <jplesnik@redhat.com> - 0.82-2
6693c45
- Perl 5.36 rebuild
6693c45
54a1f3b
* Wed Mar 02 2022 Petr Pisar <ppisar@redhat.com> - 0.82-1
54a1f3b
- 0.82 bump
d2a397f
- Package the tests
54a1f3b
3d909b7
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.81-12
3d909b7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
3d909b7
d381320
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.81-11
d381320
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
d381320
fa97224
* Sun May 23 2021 Jitka Plesnikova <jplesnik@redhat.com> - 0.81-10
fa97224
- Perl 5.34 rebuild
fa97224
95cc870
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.81-9
95cc870
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
95cc870
1974f60
* Mon Nov 02 2020 Petr Pisar <ppisar@redhat.com> - 0.81-8
1974f60
- Modernize a spec file
1974f60
0d11780
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.81-7
0d11780
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
0d11780
6493c42
* Tue Jun 23 2020 Jitka Plesnikova <jplesnik@redhat.com> - 0.81-6
6493c42
- Perl 5.32 rebuild
6493c42
ad34948
* Thu Feb 06 2020 Petr Pisar <ppisar@redhat.com> - 0.81-5
ad34948
- Build-require Inline::MakeMaker and blib for tests
ad34948
0e80cfe
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.81-4
0e80cfe
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
0e80cfe
f5e314c
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.81-3
f5e314c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
f5e314c
a686412
* Fri May 31 2019 Jitka Plesnikova <jplesnik@redhat.com> - 0.81-2
a686412
- Perl 5.30 rebuild
a686412
572d689
* Mon May 13 2019 Petr Pisar <ppisar@redhat.com> - 0.81-1
572d689
- 0.81 bump
572d689
fef12be
* Tue Apr 30 2019 Petr Pisar <ppisar@redhat.com> - 0.80-2
fef12be
- Adjust a test to changes in Inline-C-0.82_001
fef12be
522b0c6
* Thu Apr 18 2019 Petr Pisar <ppisar@redhat.com> - 0.80-1
b26fb3a
- 0.80 bump
522b0c6
358108c
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.78-9
358108c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
358108c
84b27be
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.78-8
84b27be
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
84b27be
3696806
* Fri Jun 29 2018 Jitka Plesnikova <jplesnik@redhat.com> - 0.78-7
3696806
- Perl 5.28 rebuild
3696806
5b9191c
* Tue Mar 06 2018 Petr Pisar <ppisar@redhat.com> - 0.78-6
5b9191c
- Modernize spec file
5b9191c
32baf15
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.78-5
32baf15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
32baf15
32e6d7a
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.78-4
32e6d7a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
32e6d7a
24ba946
* Thu Jul 13 2017 Petr Pisar <ppisar@redhat.com> - 0.78-3
24ba946
- perl dependency renamed to perl-interpreter
24ba946
  <https://fedoraproject.org/wiki/Changes/perl_Package_to_Install_Core_Modules>
24ba946
6a0c32e
* Mon Jun 05 2017 Jitka Plesnikova <jplesnik@redhat.com> - 0.78-2
6a0c32e
- Perl 5.26 rebuild
6a0c32e
7b3b15a
* Wed May 31 2017 Petr Pisar <ppisar@redhat.com> - 0.78-1
7b3b15a
- 0.78 bump
7b3b15a
5845a48
* Mon May 15 2017 Petr Pisar <ppisar@redhat.com> - 0.77-1
5845a48
- 0.77 bump
5845a48
ce56653
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.76-5
ce56653
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
ce56653
7a83b34
* Mon May 16 2016 Jitka Plesnikova <jplesnik@redhat.com> - 0.76-4
7a83b34
- Perl 5.24 rebuild
7a83b34
3b30e9c
* Wed Apr 20 2016 Petr Pisar <ppisar@redhat.com> - 0.76-3
3b30e9c
- Require packages needed for building XS code
3b30e9c
2954d30
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.76-2
2954d30
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
2954d30
Petr Šabata 1ba207c
* Thu Jul 02 2015 Petr Šabata <contyk@redhat.com> - 0.76-1
Petr Šabata 1ba207c
- 0.76 bump
Petr Šabata 1ba207c
137e479
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.75-3
137e479
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
137e479
e9ccc58
* Sat Jun 06 2015 Jitka Plesnikova <jplesnik@redhat.com> - 0.75-2
e9ccc58
- Perl 5.22 rebuild
e9ccc58
Petr Šabata b9ac109
* Wed Mar 18 2015 Petr Šabata <contyk@redhat.com> - 0.75-1
Petr Šabata b9ac109
- 0.75 bump, documentation fixes
Petr Šabata b9ac109
Petr Šabata a251c70
* Wed Feb 18 2015 Petr Šabata <contyk@redhat.com> - 0.74-1
Petr Šabata a251c70
- 0.74 bump, Win32 fixes only
Petr Šabata a251c70
Petr Šabata 0b0e9be
* Thu Jan 08 2015 Petr Šabata <contyk@redhat.com> - 0.73-1
Petr Šabata 0b0e9be
- 0.73 bump
Petr Šabata 0b0e9be
Petr Šabata 89a2cf7
* Wed Nov 26 2014 Petr Šabata <contyk@redhat.com> - 0.67-1
Petr Šabata 89a2cf7
- 0.67 bump
Petr Šabata 89a2cf7
Petr Šabata e462ba4
* Wed Nov 05 2014 Petr Šabata <contyk@redhat.com> - 0.64-2
Petr Šabata e462ba4
- Backport "PERL IN SPACE" changes from ETJ's 0.65,
Petr Šabata e462ba4
  fixing FTBFS with EE::UU 7.00 (#1158390)
Petr Šabata e462ba4
Petr Šabata ef7fb22
* Mon Sep 29 2014 Petr Šabata <contyk@redhat.com> - 0.64-1
Petr Šabata ef7fb22
- 0.64 bump, include Cookbook.pod again
Petr Šabata ef7fb22
Petr Šabata 2948fdd
* Fri Sep 19 2014 Petr Šabata <contyk@redhat.com> - 0.62-1
Petr Šabata 2948fdd
- 0.62 bump, test suite and documentation changes
Petr Šabata 2948fdd
f646701
* Thu Aug 28 2014 Jitka Plesnikova <jplesnik@redhat.com> - 0.60-2
f646701
- Perl 5.20 rebuild
f646701
Petr Šabata 052920e
* Wed Jul 16 2014 Petr Šabata <contyk@redhat.com> 0.60-1
Petr Šabata 052920e
- Initial packaging