Perl 7 in Fedora

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello packagers,

have you noticed an announcement about Perl 7
<https://www.nntp.perl.org/group/perl.perl5.porters/2020/06/msg257565.html>
on a Perl5 Porters list? Saywer X presented an idea that now, when Perl 6 is
called Raku, Perl 5 can resume using the higher numbers and that the next Perl
will be Perl 7.

That part of the announcement wouldn't be exciting at all if there wasn't
the second part that Perl since now will be more aggressive in adding new
features and removing old ones and that Perl will enable all the new
stabilized features by default (without "use v7;").

To comfort conservative users there was a third part that Perl 5 will move
into a maintance mode and it will be supported for the next 5 (up to 10)
years.

That second part provoked many reactions. Especially about a feasibility of
such undertaking. The third part raised questions about compatibility with
a third-party code, especially CPAN, and a coexistence of two Perls on one
system.

A similarity with Python upgrading from version 2 to version 3 is extensive.
Because I observered the Python move in Fedora from a close proximity, I can
tell you that I do not want to experience it again. (It took many years,
cost at least 5 full-time Red Hat employes, and meant significant overhaul in
packaging.)

Then Sawyer X sent an update
<https://www.nntp.perl.org/group/perl.perl5.porters/2020/07/msg257817.html>
that addressed the people's reactions. It introduced a mandatory Perl API
versioning ("use v5", "use v7", "use v8") in every Perl script, a prospect
that each perl release will support at most 3 APIs (old, current, future) and
that the interpreter executable will be called /usr/bin/perl7 while
/usr/bin/perl will be kept unused.

In the mean time, core-p7 branch was revelead in the Perl git tree that
started migrating Perl 5 sources to Perl 7 version and introduced "use p5" and
"use p7"
<https://github.com/Perl/perl5/commit/5325aebf3977452a47bf08f473f8ebb107843ea7>
for enforcing Perl 5 and Perl 7 compatibility mode in the interpreter.

Yesterday Perl 5.33.0
<https://www.nntp.perl.org/group/perl.perl5.porters/2020/07/msg257941.html>
was released with an unclear prospect whether it will lead to 5.34 or 7.0. So
far it seems it will contain changes from core-p7 branch that assure
core modules compatibility among both Perl 5 and Perl 7 mode.


My question four you is what and how you want to package in Fedora.

In my humble opinion, Perl 7 interpreter won't diverge from Perl 5 too far in
the next year (or two years) and many prominent CPAN distributions will be
promptly updated to preserve compatibility with both of the languages (it
actually already happens, see perl-Socket-2.030). Thus I'm for upgrading
Perl 5 to Perl 7 as soon as possible in Fedora. That means when stable Perl 7 is
released and keep it up-to-date and all Perl packages rebuilt against it as we
were used with Perl 5.

I can imagine that some people will insist of having Perl 5 available next to
Perl 7. I can package it either as a module or as a normal package (but keep in
mind that Perl would conflict on /usr/bin scripts and manual pages; we could
strip the manuals and rename the scripts).

But I'm not sure it's worth of repackaging all the CPAN distributions we have
twice for both Perls. Either as a subpackage of one spec file. (Few years back
I proposed few macros <https://ppisar.fedorapeople.org/perlmacros2/> that
would make the packaging agnostic of perl version and they were rejected as
unneeded. I don't know whether the mood has has changed since then.) Or
as a completely independend source packages (that would had the benefit that
a breakage in one language would not affect the other language). There is still
a possibility of using modularity, but that does not bring parallel
installability and recently Fedora banned default streams which makes all
modules a second-class citizen.

So what do you want? Will you be fine with only having the latest Perl (i.e.
Perl 7 next year)? 

-- Petr

Attachment: signature.asc
Description: PGP signature

_______________________________________________
perl-devel mailing list -- perl-devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to perl-devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/perl-devel@xxxxxxxxxxxxxxxxxxxxxxx

[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Legacy Announce]     [Fedora PHP Devel]     [Kernel Devel]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Big List of Linux Books]     [Gimp]     [Yosemite Information]

  Powered by Linux