diff --git a/.gitignore b/.gitignore index 6ed40e1..383ae78 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,4 @@ Module-Build-0.2808.tar.gz /Module-Build-0.4229.tar.gz /Module-Build-0.4231.tar.gz /Module-Build-0.4232.tar.gz +/Module-Build-0.4234.tar.gz diff --git a/Module-Build-0.4224-Do-not-need-a-compiler-if-c_source-is-an-empty-list.patch b/Module-Build-0.4224-Do-not-need-a-compiler-if-c_source-is-an-empty-list.patch deleted file mode 100644 index 473d8c8..0000000 --- a/Module-Build-0.4224-Do-not-need-a-compiler-if-c_source-is-an-empty-list.patch +++ /dev/null @@ -1,145 +0,0 @@ -From 6b096ea5670ed291abac632b296222b56d9fadb4 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= -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ř ---- - 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 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 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 - diff --git a/perl-Module-Build.spec b/perl-Module-Build.spec index b7b7af2..eb161b6 100644 --- a/perl-Module-Build.spec +++ b/perl-Module-Build.spec @@ -1,5 +1,5 @@ %global cpan_version_major 0.42 -%global cpan_version_minor 32 +%global cpan_version_minor 34 %global cpan_version %{cpan_version_major}%{?cpan_version_minor} # Run optional tests @@ -12,15 +12,11 @@ Name: perl-Module-Build Epoch: 2 Version: %{cpan_version_major}%{?cpan_version_minor:.%cpan_version_minor} -Release: 2%{?dist} +Release: 1%{?dist} Summary: Build and install Perl modules License: GPL-1.0-or-later OR Artistic-1.0-Perl 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, -# -Patch0: Module-Build-0.4224-Do-not-need-a-compiler-if-c_source-is-an-empty-list.patch +Source0: https://cpan.metacpan.org/modules/by-module/Module/Module-Build-%{cpan_version}.tar.gz # 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 @@ -140,12 +136,12 @@ works fine on perl 5.005 if you can install a few additional modules. %autosetup -p1 -n Module-Build-%{cpan_version} %build -perl Build.PL installdirs=vendor +perl Build.PL --installdirs=vendor ./Build %install -./Build install destdir=%{buildroot} create_packlist=0 -%{_fixperms} %{buildroot}/* +./Build install --destdir=%{buildroot} --create_packlist=0 +%{_fixperms} -c %{buildroot} %check rm t/signature.t @@ -153,13 +149,19 @@ LANG=C TEST_SIGNATURE=1 MB_TEST_EXPERIMENTAL=1 ./Build test %files %license LICENSE -%doc Changes contrib README +%doc Changes contrib/ README %{_bindir}/config_data -%{perl_vendorlib}/* -%{_mandir}/man1/* -%{_mandir}/man3/* +%{perl_vendorlib}/Module/ +%{_mandir}/man1/config_data.1* +%{_mandir}/man3/Module::Build*.3* %changelog +* Fri Apr 28 2023 Paul Howarth - 2:0.42.34-1 +- 0.4234 bump +- Use author-independent source URL +- Fix permissions verbosely +- Make %%files list more explicit + * Fri Jan 20 2023 Fedora Release Engineering - 2:0.42.32-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild diff --git a/sources b/sources index 0df16ab..d1be1d0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (Module-Build-0.4232.tar.gz) = f8ff0aa918e1627af59417eb3d6cf63df52c452195905596f5a88482fc094c31b1963b0215627826b1cd33fa74893cadce138e5fd705adc14d9968f586da333c +SHA512 (Module-Build-0.4234.tar.gz) = e2bbdd64f98b424ea7fd20e2ba301d34b77c9f2ecec28e3191fda63a056a12c0fb1cab1496419e9e9b8054db1a8d3fe92e1f033cdcdf021e1a086c8859905eca