public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/perl-Alien-Build] rawhide: Support CMake with Alien::cmake4
@ 2026-07-27 13:35 
  0 siblings, 0 replies; only message in thread
From:  @ 2026-07-27 13:35 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/perl-Alien-Build
Branch : rawhide
Commit : e1f24d0f36d0c1ea761371231c25928a4ca49444
Author : Petr Písař <ppisar@redhat.com>
Date   : 2026-07-27T15:32:47+02:00
Stats  : +179/-3 in 2 file(s)
URL    : https://src.fedoraproject.org/rpms/perl-Alien-Build/c/e1f24d0f36d0c1ea761371231c25928a4ca49444?branch=rawhide

Log:
Support CMake with Alien::cmake4

---
diff --git a/Alien-Build-2.84-Replace-Alien-cmake3-with-Alien-cmake4.patch b/Alien-Build-2.84-Replace-Alien-cmake3-with-Alien-cmake4.patch
new file mode 100644
index 0000000..2f8ff8e
--- /dev/null
+++ b/Alien-Build-2.84-Replace-Alien-cmake3-with-Alien-cmake4.patch
@@ -0,0 +1,156 @@
+From 9dde8afffcf086bacc2503b5bd83d925c0009bae Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
+Date: Mon, 27 Jul 2026 14:10:06 +0200
+Subject: [PATCH] Replace Alien::cmake3 with Alien::cmake4
+
+In order to use system CMake which nowadays is CMake 4, incompatible
+with CMake 3.
+
+Related: https://github.com/PerlAlien/Alien-Build/issues/432
+---
+ corpus/cmake-libpalindrome/CMakeLists.txt | 2 +-
+ dist.ini                                  | 4 ++--
+ lib/Alien/Build/Interpolate/Default.pm    | 2 +-
+ lib/Alien/Build/Manual/FAQ.pod            | 4 ++--
+ lib/Alien/Build/Plugin/Build/CMake.pm     | 6 +++---
+ maint/cip-before-install                  | 2 --
+ t/00_diag.t                               | 2 +-
+ t/alien_build_plugin_build_cmake.t        | 4 ++--
+ 8 files changed, 12 insertions(+), 14 deletions(-)
+
+diff --git a/corpus/cmake-libpalindrome/CMakeLists.txt b/corpus/cmake-libpalindrome/CMakeLists.txt
+index 09527c3..da2c69a 100644
+--- a/corpus/cmake-libpalindrome/CMakeLists.txt
++++ b/corpus/cmake-libpalindrome/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-cmake_minimum_required (VERSION 3.0.0)
++cmake_minimum_required (VERSION 3.5.0)
+ project (libpalindrome C)
+ add_subdirectory (libpalindrome)
+ add_subdirectory (palx)
+diff --git a/dist.ini b/dist.ini
+index 2ee981c..76202c2 100644
+--- a/dist.ini
++++ b/dist.ini
+@@ -78,7 +78,7 @@ diag = +Alien::gzip
+ diag = +IO::Socket::SSL
+ diag = +Net::SSLeay
+ diag = +LWP::Protocol::https
+-diag = +Alien::cmake3
++diag = +Alien::cmake4
+ diag = +Readonly
+ diag = +Env::ShellWords
+ diag = +Mojo::DOM58
+@@ -182,7 +182,7 @@ remove = URI::Escape
+ remove = Archive::Tar
+ remove = Archive::Zip
+ remove = Alien::gmake
+-remove = Alien::cmake3
++remove = Alien::cmake4
+ remove = Devel::Hide
+ remove = Net::SSLeay
+ remove = IO::Socket::SSL
+diff --git a/lib/Alien/Build/Interpolate/Default.pm b/lib/Alien/Build/Interpolate/Default.pm
+index eb78ae8..46e5eb5 100644
+--- a/lib/Alien/Build/Interpolate/Default.pm
++++ b/lib/Alien/Build/Interpolate/Default.pm
+@@ -291,7 +291,7 @@ The C Compiler used to build Perl
+ Requires: L<Alien::CMake> 0.07 if cmake is not already in C<PATH>.
+ 
+ Deprecated: Use the L<Alien::Build::Plugin::Build::CMake> plugin instead (which will replace
+-this helper with one that works with L<Alien::cmake3> that works better).
++this helper with one that works with L<Alien::cmake4> that works better).
+ 
+ =head2 cp
+ 
+diff --git a/lib/Alien/Build/Manual/FAQ.pod b/lib/Alien/Build/Manual/FAQ.pod
+index a545dfb..469b5f5 100644
+--- a/lib/Alien/Build/Manual/FAQ.pod
++++ b/lib/Alien/Build/Manual/FAQ.pod
+@@ -138,9 +138,9 @@ MSYS plugin and use a command sequence to do the build like this:
+ 
+ =head3 CMake
+ 
+-There is an alien L<Alien::cmake3> that provides C<cmake> 3.x or better (It is preferred to the
++There is an alien L<Alien::cmake4> that provides C<cmake> 4.x or better (It is preferred to the
+ older L<Alien::CMake>).  Though it is recommended that you use the C<cmake>
+-(L<Alien::Build::Plugin::Build::CMake>) plugin instead of using L<Alien::cmake3>.
++(L<Alien::Build::Plugin::Build::CMake>) plugin instead of using L<Alien::cmake4>.
+ 
+  use alienfile;
+  
+diff --git a/lib/Alien/Build/Plugin/Build/CMake.pm b/lib/Alien/Build/Plugin/Build/CMake.pm
+index ce7b533..a5c822f 100644
+--- a/lib/Alien/Build/Plugin/Build/CMake.pm
++++ b/lib/Alien/Build/Plugin/Build/CMake.pm
+@@ -42,7 +42,7 @@ sub init
+   $meta->prop->{destdir} = $^O eq 'MSWin32' ? 0 : 1;
+ 
+   $meta->add_requires('configure' => 'Alien::Build::Plugin::Build::CMake' => '0.99');
+-  $meta->add_requires('share'     => 'Alien::cmake3' => '0.02');
++  $meta->add_requires('share'     => 'Alien::cmake4' => '0');
+ 
+   if(is_dmake())
+   {
+@@ -70,7 +70,7 @@ sub init
+     }
+   }
+ 
+-  $meta->interpolator->replace_helper('cmake' => sub { require Alien::cmake3; Alien::cmake3->exe });
++  $meta->interpolator->replace_helper('cmake' => sub { require Alien::cmake4; Alien::cmake4->exe });
+   $meta->interpolator->add_helper('cmake_generator' => \&cmake_generator);
+ 
+   my @args = (
+@@ -179,7 +179,7 @@ Returns true if your Perls C<make> appears to be C<dmake>.
+ 
+ =head2 cmake
+ 
+-This plugin replaces the default C<cmake> helper with the one that comes from L<Alien::cmake3>.
++This plugin replaces the default C<cmake> helper with the one that comes from L<Alien::cmake4>.
+ 
+ =head2 cmake_generator
+ 
+diff --git a/maint/cip-before-install b/maint/cip-before-install
+index 41417f2..4e6c494 100755
+--- a/maint/cip-before-install
++++ b/maint/cip-before-install
+@@ -21,8 +21,6 @@ fi
+ 
+ if [ "x$ALIEN_BUILD_INSTALL_EXTRA" == "x1" ]; then
+ 
+-  cip exec env PERL_ALT_INSTALL=OVERWRITE cpanm -n Alt::Alien::cmake3::System
+-
+   cip exec cpanm -n \
+     Test2::Harness \
+     File::Listing \
+diff --git a/t/00_diag.t b/t/00_diag.t
+index 55c296f..c1d5b8d 100755
+--- a/t/00_diag.t
++++ b/t/00_diag.t
+@@ -14,7 +14,7 @@ $modules{$_} = $_ for qw(
+   Acme::Alien::DontPanic
+   Alien::Base::ModuleBuild
+   Alien::Libbz2
+-  Alien::cmake3
++  Alien::cmake4
+   Alien::gzip
+   Alien::xz
+   Archive::Tar
+diff --git a/t/alien_build_plugin_build_cmake.t b/t/alien_build_plugin_build_cmake.t
+index dbcee35..75d7236 100755
+--- a/t/alien_build_plugin_build_cmake.t
++++ b/t/alien_build_plugin_build_cmake.t
+@@ -6,8 +6,8 @@ use Test::Alien::Build;
+ use Alien::Build::Plugin::Build::CMake;
+ use Path::Tiny ();
+ 
+-eval { require Alien::cmake3 };
+-skip_all 'test requires Alien::cmake3' if $@;
++eval { require Alien::cmake4 };
++skip_all 'test requires Alien::cmake4' if $@;
+ 
+ # To see the actual commands being executed
+ $ENV{VERBOSE} = 1;
+-- 
+2.55.0
+

diff --git a/perl-Alien-Build.spec b/perl-Alien-Build.spec
index 7b897cb..75f53a9 100644
--- a/perl-Alien-Build.spec
+++ b/perl-Alien-Build.spec
@@ -1,8 +1,9 @@
 # Run optional test
 %{bcond_without perl_Alien_Build_enables_optional_test}
 # Support Alien::cmake3, this works only with cmake < 4,
+# or support Alien::cmake4, this works only with cmake >= 4,
 # <https://github.com/PerlAlien/Alien-Build/issues/432>.
-%if 0%{?fedora} < 44
+%if 0%{?fedora} != 44
 %{bcond_without perl_Alien_Build_enables_cmake}
 %else
 %{bcond_with perl_Alien_Build_enables_cmake}
@@ -15,7 +16,7 @@
 
 Name:           perl-Alien-Build
 Version:        2.84
-Release:        6%{?dist}
+Release:        7%{?dist}
 Summary:        Build external dependencies for use in CPAN
 # lib/Alien/Build/Plugin/Test/Mock.pm contains Base64-encoded files for tests
 # (a bash script, C source file, a gzipped tar archive, Mach-O 64-bit x86_64
@@ -29,6 +30,9 @@ Patch0:         Alien-Build-2.83-Remove-redundant-pkgconfig-implementations.patc
 # Support only the most common SHA implementation,
 # the files are deleted in prep section
 Patch1:         Alien-Build-2.65-Remove-redundant-SHA-implementations.patch
+# Replace Alien::cmake3 with Alien::cmake4, proposed upstream
+# <https://github.com/PerlAlien/Alien-Build/pull/435>
+Patch2:         Alien-Build-2.84-Replace-Alien-cmake3-with-Alien-cmake4.patch
 BuildArch:      noarch
 BuildRequires:  coreutils
 BuildRequires:  make
@@ -50,8 +54,13 @@ BuildRequires:  perl(warnings)
 # Run-time:
 %if %{with perl_Alien_Build_enables_cmake} && !%{defined perl_bootstrap}
 # t/alien_build_plugin_build_cmake.t executes gcc via cmake (bug #923024)
+%if 0%{?fedora} < 44
 # Build cycle: perl-Alien-cmake3 → perl-Alien-Build
 BuildRequires:  perl(Alien::cmake3) >= 0.02
+%else
+# Build cycle: perl-Alien-cmake4 → perl-Alien-Build
+BuildRequires:  perl(Alien::cmake4)
+%endif
 %endif
 # Archive::Tar or (tar and bzip2 and gzip and xz)
 BuildRequires:  perl(Archive::Tar)
@@ -150,8 +159,13 @@ Requires:       make
 # dependencies.
 Requires:       perl-Alien-Base = %{?epoch:%{epoch}:}%{version}-%{release}
 %if %{with perl_Alien_Build_enables_cmake} && !%{defined perl_bootstrap}
+%if 0%{?fedora} < 44
 # Build cycle: perl-Alien-cmake3 → perl-Alien-Build
 Requires:       perl(Alien::cmake3) >= 0.02
+%else
+# Build cycle: perl-Alien-cmake4 → perl-Alien-Build
+Requires:       perl(Alien::cmake4)
+%endif
 %endif
 # Alien::Build::Plugin::Download::Negotiate defaults to Decode::Mojo instead
 # of Decode::HTML
@@ -308,7 +322,10 @@ rm t/alien_build_plugin_pkgconfig_{commandline,makestatic,pp}.t
 %patch -p1 -P 1
 rm lib/Alien/Build/Plugin/Digest/SHAPP.pm
 rm t/alien_build_plugin_digest_shapp.t
-%if !%{with perl_Alien_Build_enables_cmake} && !%{defined perl_bootstrap}
+%if ! (0%{?fedora} < 44)
+%patch -p1 -P 2
+%endif
+%if !%{with perl_Alien_Build_enables_cmake} || %{defined perl_bootstrap}
     # Remove CMake support
     rm lib/Alien/Build/Plugin/Build/CMake.pm
     perl -i -ne 'print $_ unless m{\b\Qlib/Alien/Build/Plugin/Build/CMake.pm\E\b}' Makefile.PL MANIFEST
@@ -460,6 +477,9 @@ make test
 %{_libexecdir}/%{name}
 
 %changelog
+* Mon Jul 27 2026 Petr Pisar <ppisar@redhat.com> - 2.84-7
+- Support CMake with Alien::cmake4 (bug #2507309)
+
 * Thu Jul 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 2.84-6
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
 

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-07-27 13:35 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-27 13:35 [rpms/perl-Alien-Build] rawhide: Support CMake with Alien::cmake4 

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox