Compare commits

...

32 Commits
f26 ... rawhide

Author SHA1 Message Date
Fedora Release Engineering a3aa075ad2 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-22 08:51:14 +00:00
Jitka Plesnikova 987b364d41 Perl 5.36 re-rebuild of bootstrapped packages 2022-06-03 12:22:43 +02:00
Jitka Plesnikova 0cfd48ce8d Perl 5.36 rebuild 2022-05-31 08:24:43 +02:00
Petr Písař 44420066ef Handle missing ExtUtils::CBuilder as a missing compiler 2022-03-28 11:27:31 +02:00
Fedora Release Engineering cd5b9241d8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-21 03:19:25 +00:00
Fedora Release Engineering 36975517ab - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-22 21:54:42 +00:00
Jitka Plesnikova 26fe4c1bc5 Perl 5.34 re-rebuild of bootstrapped packages 2021-05-24 09:43:34 +02:00
Jitka Plesnikova fac2e35c6a Perl 5.34 rebuild 2021-05-21 22:08:53 +02:00
Fedora Release Engineering 0f478f86c2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-27 02:49:10 +00:00
Jitka Plesnikova 71e1c2cf5a Disable optional tests on RHEL 2020-12-11 14:16:39 +01:00
Fedora Release Engineering c4bda225c3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-28 17:05:16 +00:00
Jitka Plesnikova 8c9c59f3d0 Perl 5.32 re-rebuild of bootstrapped packages 2020-06-26 16:20:55 +02:00
Jitka Plesnikova b0741f1551 Perl 5.32 rebuild 2020-06-23 11:26:46 +02:00
Paul Howarth a4e2b82b10 BR: perl(blib), needed for t/xs.t 2020-03-10 09:12:42 +00:00
Jitka Plesnikova 69f0db8cee 0.4231 bump 2020-01-29 11:19:16 +01:00
Fedora Release Engineering 78b3ca7f16 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-26 04:39:06 +00:00
Jitka Plesnikova 640655c2b1 Perl 5.30 re-rebuild of bootstrapped packages 2019-06-02 23:03:46 +02:00
Jitka Plesnikova 8a8e411694 Perl 5.30 rebuild 2019-05-31 06:48:01 +02:00
Jitka Plesnikova ec7a14a788 0.4229 bump 2019-04-16 10:12:26 +02:00
Fedora Release Engineering 7c505ab394 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-01 22:14:57 +00:00
Fedora Release Engineering f95edb0275 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-13 18:29:52 +00:00
Jitka Plesnikova dcc09e3867 Perl 5.28 re-rebuild of bootstrapped packages 2018-07-01 09:03:33 +02:00
Jitka Plesnikova 06e9d001a4 Perl 5.28 rebuild 2018-06-28 06:18:07 +02:00
Petr Písař 57605764b0 cpan.org addresses moved to MetaCPAN <https://fedoraproject.org/wiki/Changes/Perl_Move_to_MetaCPAN> 2018-06-04 14:12:23 +02:00
Petr Písař 6036a8f3df Do not require a compiler if c_source is an empty list 2018-03-01 15:32:49 +01:00
Petr Písař 5f3f7cc560 Do not hard-require ExtUtils::CBuilder 2018-02-23 13:39:40 +01:00
Fedora Release Engineering 8182aa3546 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-08 22:50:02 +00:00
Fedora Release Engineering 27620a0ff7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-27 04:56:33 +00:00
Petr Písař 9a1e89eac3 perl dependency renamed to perl-interpreter <https://fedoraproject.org/wiki/Changes/perl_Package_to_Install_Core_Modules> 2017-07-12 15:04:16 +02:00
Jitka Plesnikova 5eecfdbc54 Perl 5.26 re-rebuild of bootstrapped packages 2017-06-07 16:23:32 +02:00
Jitka Plesnikova d6cba179ca Perl 5.26 rebuild 2017-06-04 19:03:58 +02:00
Jitka Plesnikova ce44cf9391 0.4224 bump 2017-05-31 10:20:49 +02:00
5 changed files with 300 additions and 8 deletions

3
.gitignore vendored
View File

@ -25,3 +25,6 @@ Module-Build-0.2808.tar.gz
/Module-Build-0.4218.tar.gz
/Module-Build-0.4220.tar.gz
/Module-Build-0.4222.tar.gz
/Module-Build-0.4224.tar.gz
/Module-Build-0.4229.tar.gz
/Module-Build-0.4231.tar.gz

View File

@ -0,0 +1,145 @@
From 6b096ea5670ed291abac632b296222b56d9fadb4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
Date: Thu, 1 Mar 2018 14:44:40 +0100
Subject: [PATCH] Do not need a compiler if c_source is an empty list
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
c_source used to be string, then it allowed a reference to an array.
But in case the array was empty, auto_require() still enabled
needs_compiler property and thus implied probing a compiler and
a failure if none was available.
Minilla generates these Build.PLs for pure-Perl distributions. See
KAZUHO/Server-Starter-0.34.
This patch makes Module::Build not require C compiler for
c_source = [].
Petr Písař: Ported to 0.4224.
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
lib/Module/Build/API.pod | 8 ++++----
lib/Module/Build/Base.pm | 6 +++++-
t/properties/needs_compiler.t | 46 ++++++++++++++++++++++++++++++++++++++++---
3 files changed, 52 insertions(+), 8 deletions(-)
diff --git a/lib/Module/Build/API.pod b/lib/Module/Build/API.pod
index cd2021a..c9be539 100644
--- a/lib/Module/Build/API.pod
+++ b/lib/Module/Build/API.pod
@@ -209,10 +209,10 @@ created by Module::Build.
[version 0.04]
-An optional C<c_source> argument specifies a directory which contains
-C source files that the rest of the build may depend on. Any C<.c>
-files in the directory will be compiled to object files. The
-directory will be added to the search path during the compilation and
+An optional C<c_source> argument specifies a directory or a reference to array
+of directories which contain C source files that the rest of the build may
+depend on. Any C<.c> files in the directory will be compiled to object files.
+The directory will be added to the search path during the compilation and
linking phases of any C or XS files.
[version 0.3604]
diff --git a/lib/Module/Build/Base.pm b/lib/Module/Build/Base.pm
index 984810a..a29c664 100644
--- a/lib/Module/Build/Base.pm
+++ b/lib/Module/Build/Base.pm
@@ -1520,7 +1520,11 @@ sub auto_require {
if ( $self->pureperl_only && $self->allow_pureperl ) {
$self->needs_compiler( 0 );
} else {
- $self->needs_compiler( keys %$xs_files || defined $self->c_source );
+ $self->needs_compiler( keys %$xs_files ||
+ ( defined $self->c_source &&
+ ( ref($self->c_source) ne 'ARRAY' || @{$self->c_source} )
+ )
+ );
}
}
if ($self->needs_compiler) {
diff --git a/t/properties/needs_compiler.t b/t/properties/needs_compiler.t
index f616dfc..c76d38f 100644
--- a/t/properties/needs_compiler.t
+++ b/t/properties/needs_compiler.t
@@ -5,7 +5,7 @@ use lib 't/lib';
use MBTest;
use DistGen;
-plan tests => 19;
+plan tests => 27;
# Ensure any Module::Build modules are loaded from correct directory
blib_load('Module::Build');
@@ -24,7 +24,7 @@ ok( ! exists $mb->{properties}{build_requires}{'ExtUtils::CBuilder'},
);
#--------------------------------------------------------------------------#
-# try with c_source
+# try with c_source as a string
#--------------------------------------------------------------------------#
$dist->change_build_pl({
module_name => $dist->name,
@@ -34,7 +34,7 @@ $dist->change_build_pl({
$dist->regen;
stderr_of(sub {
ok( $mb = $dist->new_from_context,
- "Build.PL with c_source"
+ "Build.PL with string c_source"
);
});
is( $mb->c_source, 'src', "c_source is set" );
@@ -44,6 +44,46 @@ ok( exists $mb->{properties}{build_requires}{'ExtUtils::CBuilder'},
);
#--------------------------------------------------------------------------#
+# try with c_source as an array
+#--------------------------------------------------------------------------#
+$dist->change_build_pl({
+ module_name => $dist->name,
+ license => 'perl',
+ c_source => ['src'],
+});
+$dist->regen;
+stderr_of(sub {
+ ok( $mb = $dist->new_from_context,
+ "Build.PL with non-empty array c_source"
+ );
+});
+is_deeply( $mb->c_source, ['src'], "c_source is set" );
+ok( $mb->needs_compiler, "needs_compiler is true" );
+ok( exists $mb->{properties}{build_requires}{'ExtUtils::CBuilder'},
+ "ExtUtils::CBuilder was added to build_requires"
+);
+
+#--------------------------------------------------------------------------#
+# try with c_source as an empty array
+#--------------------------------------------------------------------------#
+$dist->change_build_pl({
+ module_name => $dist->name,
+ license => 'perl',
+ c_source => [],
+});
+$dist->regen;
+stderr_of(sub {
+ ok( $mb = $dist->new_from_context,
+ "Build.PL with empty array c_source"
+ );
+});
+is_deeply( $mb->c_source, [], "c_source is set" );
+ok( ! $mb->needs_compiler, "needs_compiler is false" );
+ok( ! exists $mb->{properties}{build_requires}{'ExtUtils::CBuilder'},
+ "ExtUtils::CBuilder is not in build_requires"
+);
+
+#--------------------------------------------------------------------------#
# try with xs files
#--------------------------------------------------------------------------#
$dist = DistGen->new(dir => 'MBTest', xs => 1);
--
2.13.6

View File

@ -0,0 +1,39 @@
From 043add527dd6bc05d5ef5750839ab21c2fdab9e6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
Date: Mon, 28 Mar 2022 11:18:38 +0200
Subject: [PATCH] Do not die on missing ExtUtils::CBuilder in have_c_compiler()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
In Fedora, ExtUtils::CBuilder is optional to allow installing perl
without gcc (bug #1547165). Module::Build::have_c_compiler() uses
ExtUtils::CBuilder to detect a presence of a C compiler. If
ExtUtils::CBuilder was not installed, have_c_compiler() died instead
of returning a false value.
This error manifested in perl-Alien-Base-ModuleBuild tests. This patch
changes have_c_compiler() to return true if ExtUtils::CBuilder is not
available.
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
lib/Module/Build/Base.pm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/Module/Build/Base.pm b/lib/Module/Build/Base.pm
index 1352fcf..4e0f843 100644
--- a/lib/Module/Build/Base.pm
+++ b/lib/Module/Build/Base.pm
@@ -5315,7 +5315,7 @@ sub have_c_compiler {
return $p->{_have_c_compiler} if defined $p->{_have_c_compiler};
$self->log_verbose("Checking if compiler tools configured... ");
- my $b = $self->cbuilder;
+ my $b = eval { $self->cbuilder };
my $have = $b && eval { $b->have_compiler };
$self->log_verbose($have ? "ok.\n" : "failed.\n");
return $p->{_have_c_compiler} = $have;
--
2.34.1

View File

@ -1,26 +1,37 @@
%global cpan_version_major 0.42
%global cpan_version_minor 22
%global cpan_version_minor 31
%global cpan_version %{cpan_version_major}%{?cpan_version_minor}
# Run optional tests
%if ! (0%{?rhel})
%bcond_without perl_Module_Build_enables_optional_test
%else
%bcond_with perl_Module_Build_enables_optional_test
%endif
Name: perl-Module-Build
Epoch: 2
Version: %{cpan_version_major}%{?cpan_version_minor:.%cpan_version_minor}
Release: 1%{?dist}
Release: 15%{?dist}
Summary: Build and install Perl modules
License: GPL+ or Artistic
URL: http://search.cpan.org/dist/Module-Build/
Source0: http://www.cpan.org/authors/id/L/LE/LEONT/Module-Build-%{cpan_version}.tar.gz
URL: https://metacpan.org/release/Module-Build
Source0: https://cpan.metacpan.org/authors/id/L/LE/LEONT/Module-Build-%{cpan_version}.tar.gz
# Do not require a compiler if c_source is an empty list, bug #1547165,
# CPAN RT#124625,
# <https://lists.fedoraproject.org/archives/list/perl-devel@lists.fedoraproject.org/message/UWQ6SDRKNTX6SM6RBJ35CDBGRCV3ZSKP/>
Patch0: Module-Build-0.4224-Do-not-need-a-compiler-if-c_source-is-an-empty-list.patch
# Handle missing ExtUtils::CBuilder as a missing compiler, bug #1547165.
Patch1: Module-Build-0.4231-Do-not-die-on-missing-ExtUtils-CBuilder-in-have_c_co.patch
BuildArch: noarch
BuildRequires: coreutils
BuildRequires: perl
BuildRequires: perl-interpreter
BuildRequires: perl-devel
BuildRequires: perl-generators
BuildRequires: perl(Archive::Tar)
BuildRequires: perl(AutoSplit)
BuildRequires: perl(base)
BuildRequires: perl(blib)
BuildRequires: perl(Carp)
BuildRequires: perl(Config)
BuildRequires: perl(CPAN::Meta) >= 2.142060
@ -78,7 +89,11 @@ Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
Requires: perl(CPAN::Meta) >= 2.142060
Requires: perl(CPAN::Meta::Converter) >= 2.141170
Requires: perl(CPAN::Meta::Merge)
Requires: perl(ExtUtils::CBuilder) >= 0.27
# Do not hard-require ExtUtils::CBuilder to allow installing Module::Build
# without gcc, bug #1547165. Module::Build users have to require
# ExtUtils::CBuilder explicitly according to "XS Extensions" section in
# Module::Build::Authoring POD.
Recommends: perl(ExtUtils::CBuilder) >= 0.27
Requires: perl(ExtUtils::Install) >= 0.3
Requires: perl(ExtUtils::Manifest) >= 1.54
Requires: perl(ExtUtils::Mkbootstrap)
@ -123,7 +138,7 @@ only prerequisites are modules that are included with perl 5.6.0, and it
works fine on perl 5.005 if you can install a few additional modules.
%prep
%setup -q -n Module-Build-%{cpan_version}
%autosetup -p1 -n Module-Build-%{cpan_version}
%build
perl Build.PL installdirs=vendor
@ -146,6 +161,96 @@ LANG=C TEST_SIGNATURE=1 MB_TEST_EXPERIMENTAL=1 ./Build test
%{_mandir}/man3/*
%changelog
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2:0.42.31-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Fri Jun 03 2022 Jitka Plesnikova <jplesnik@redhat.com> - 2:0.42.31-14
- Perl 5.36 re-rebuild of bootstrapped packages
* Tue May 31 2022 Jitka Plesnikova <jplesnik@redhat.com> - 2:0.42.31-13
- Perl 5.36 rebuild
* Mon Mar 28 2022 Petr Pisar <ppisar@redhat.com> - 2:0.42.31-12
- Handle missing ExtUtils::CBuilder as a missing compiler (bug #1547165)
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2:0.42.31-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2:0.42.31-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Mon May 24 2021 Jitka Plesnikova <jplesnik@redhat.com> - 2:0.42.31-9
- Perl 5.34 re-rebuild of bootstrapped packages
* Fri May 21 2021 Jitka Plesnikova <jplesnik@redhat.com> - 2:0.42.31-8
- Perl 5.34 rebuild
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2:0.42.31-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Fri Dec 11 2020 Jitka Plesnikova <jplesnik@redhat.com> - 2:0.42.31-6
- Disable optional tests on RHEL
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2:0.42.31-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jun 26 2020 Jitka Plesnikova <jplesnik@redhat.com> - 2:0.42.31-4
- Perl 5.32 re-rebuild of bootstrapped packages
* Tue Jun 23 2020 Jitka Plesnikova <jplesnik@redhat.com> - 2:0.42.31-3
- Perl 5.32 rebuild
* Tue Mar 10 2020 Paul Howarth <paul@city-fan.org> - 2:0.42.31-2
- BR: perl(blib), needed for t/xs.t
* Wed Jan 29 2020 Jitka Plesnikova <jplesnik@redhat.com> - 2:0.42.31-1
- 0.4231 bump
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2:0.42.29-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun Jun 02 2019 Jitka Plesnikova <jplesnik@redhat.com> - 2:0.42.29-3
- Perl 5.30 re-rebuild of bootstrapped packages
* Fri May 31 2019 Jitka Plesnikova <jplesnik@redhat.com> - 2:0.42.29-2
- Perl 5.30 rebuild
* Tue Apr 16 2019 Jitka Plesnikova <jplesnik@redhat.com> - 2:0.42.29-1
- 0.4229 bump
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2:0.42.24-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2:0.42.24-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Sun Jul 01 2018 Jitka Plesnikova <jplesnik@redhat.com> - 2:0.42.24-9
- Perl 5.28 re-rebuild of bootstrapped packages
* Thu Jun 28 2018 Jitka Plesnikova <jplesnik@redhat.com> - 2:0.42.24-8
- Perl 5.28 rebuild
* Thu Mar 01 2018 Petr Pisar <ppisar@redhat.com> - 2:0.42.24-7
- Do not require a compiler if c_source is an empty list (bug #1547165)
* Fri Feb 23 2018 Petr Pisar <ppisar@redhat.com> - 2:0.42.24-6
- Do not hard-require ExtUtils::CBuilder (bug #1547165)
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2:0.42.24-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2:0.42.24-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Wed Jun 07 2017 Jitka Plesnikova <jplesnik@redhat.com> - 2:0.42.24-3
- Perl 5.26 re-rebuild of bootstrapped packages
* Sun Jun 04 2017 Jitka Plesnikova <jplesnik@redhat.com> - 2:0.42.24-2
- Perl 5.26 rebuild
* Wed May 31 2017 Jitka Plesnikova <jplesnik@redhat.com> - 2:0.42.24-1
- 0.4224 bump
* Fri Mar 31 2017 Petr Pisar <ppisar@redhat.com> - 2:0.42.22-1
- 0.4222 bump

View File

@ -1 +1 @@
SHA512 (Module-Build-0.4222.tar.gz) = 348c8495df5e665a7dc61c37c9c612ec20f7dbeb6d6692e40c57e44cd5f2a4c0ba538ed24f8d88d8a83fe85b3039dd874d9f6681d31b985429b27123def374c6
SHA512 (Module-Build-0.4231.tar.gz) = ee1dc18a7df3fe67e7f954d5e1e071aa0a6f5bce6783b768bceb01f071e64ac8be63f410c932c7c16764e5d4f52fc664ce11a12f26f6afc75a26f79883efad70