#48365 closed defect (fixed)
Ports should require perl5.22 instead of 5.16
Description (last modified by Ionic (Mihai Moldovan))
All ports depending on Perl 5.16 should switch to 5.22. (See also an older ticket #44405.)
Below is a list of ports by maintainer as obtained via:
port info --line --index --name --maintainer depends:'perl5\.16' or depends:'p5\.16-' | grep -v 'p5-' | grep -v 'p5.16-' | sort > list.txt
No additional checks were done, so it's possible that some of the ports listed below might not require any action.
Please note down the names of maintainers in case of "maintainer timeout" as I suspect that there might be some abandoned ports on the list.
If you change a port, please ONLY reply to macports.org:ionic via private mail. I will also scrub the list and strike ports that got updated.
Change History (19)
comment:1 Changed 9 years ago by Ionic (Mihai Moldovan)
Description: | modified (diff) |
---|
comment:2 Changed 9 years ago by danielluke (Daniel J. Luke)
Cc: | dluke@… removed |
---|
comment:5 Changed 9 years ago by Ionic (Mihai Moldovan)
Description: | modified (diff) |
---|
comment:8 Changed 9 years ago by g5pw (Aljaž Srebrnič)
Cc: | g5pw@… removed |
---|
comment:12 Changed 9 years ago by mojca (Mojca Miklavec)
I would like to remind the maintainers to commit changes to their ports to switch to perl5.22
as we would like to get rid of 5.16, hopefully before 5.22 becomes "the new old version" already. One way to do the changes (in the name of easier transitions in the future) is the following:
PortGroup perl5 1.0 ... perl5.branches 5.22 ... depends_lib-append port:perl${perl5.major} \ port:p${perl5.major}-foo \ ...
Instead of configure.env-append PERL=...
you can use
configure.perl ${perl5.bin}
and the ${perl5.bin}
can also be used in other places like
reinplace "s|\#!/usr/bin/perl|\#!${perl5.bin}|" ...
(David was more in favour of solutions that don't add the extra overhead, but in any case it would be extremely helpful if all these ports wouldn't have the Perl version hardcoded at a dozen places and to me it would be even more helpful if we could do a more straightforward "search-and-replace" of perl5.branches
in the future. At the moment some ports use "set perl_version 5.x
", some "set pbranch 5.x
", so doing a semi-automated change is not entirely straightforward.)
comment:13 Changed 9 years ago by RJVB (René Bertin)
Why not simply depend on port:perl5
and let the version issue be handled by that way, at least in ports that don't link to a perl library (supposing that's even possible)?
Aren't the perl5
and the p5-*
ports there exactly for this reason, to avoid hardcoding any perl version beyond the major version (5)?
comment:14 Changed 9 years ago by brucemiller (bruce miller)
I would second that proposal. Although it's possible for a program to depend on the perl version, it's most often of the form that it requires any version newer than Perl 5.xx, but not a specific version. The most frequent issue that I've seen between perl versions is that newer versions generate more warning messages, particularly about dubious style, but the programs continue to function correctly.
So, I would suggest normally defaulting to whatever Perl is installed, but provide a means to specify "version newer than" for the few that need it, and the even fewer that need a specific version can specify that version as they currently do.
comment:15 Changed 9 years ago by mojca (Mojca Miklavec)
Let us first get to a point where we can get rid of Perl < 5.22 and let's discuss the improvements to the packaging itself in a separate ticket. (If we start waiting for the perfect solution, perl 5.30 will be out before we close this ticket :)
Perl packaging is a painful issue, but we need to address the problem as a whole and think well about all aspect before rushing into any other solution (just to figure out that we would have to redo it soon after anyway).
There is a huge number of Perl-related ports. Some link against Perl's dylib, some install additional modules (which can be installed anywhere, but if they end up under .../5.22/...
, the port can't just switch to a different version of Perl without being rebuilt), some are ok even with the system perl, some need a large number of modules, ... some are a weird mixture of many of these aspects.
comment:16 Changed 9 years ago by RJVB (René Bertin)
Heh. A number of the KF5 ports I'm working on appear to use perl at some point during their build process. I give those a depends_build on port:perl5 because frankly I'd prefer not to have to include another complex PortGroup. For the rest I use dependencies on (for instance) port:p5-uri. Seems to work, and from what I can tell the few ports that do have a runtime dependency on perl will happily transition to 5.22 the day ${prefix}/bin/perl5 grows up.
comment:17 Changed 9 years ago by mf2k (Frank Schima)
Cc: | macintosh@… added |
---|
Cc reporter of duplicate #34617.
comment:18 Changed 9 years ago by mojca (Mojca Miklavec)
Resolution: | → fixed |
---|---|
Status: | new → closed |
The ticket #34617 hasn't been 100% addressed (many ports are now "independent", but not all of them). Some ports are broken and have the corresponding tickets open. But I believe that we switched all ports to 5.22 by now. If you find any that I missed, let me know.
Next comes ticket #50245 to start removing the old Perl. Feel free to CC yourself to that ticket.
If anyone believes that modules and variants for Perl 5.16-5.20 (or for some subset of ports) should not be removed just yet, please speak up now.
Maintainers of ports with +perl5_16
and other variants (below is a list based on a quick and dirty approach, so it might not be complete) are invited to remove the branches 5.16 up to 5.20(?) from their ports, but please keep the code, so that we'll be abel to add 5.24 when the time arrives:
- amavisd-new
- eperl
- fntsample
- fusioninventory-agent
- git
- git-cal
- log2timeline
- mod_perl2
- openbrowser
- ossp-uuid
- subversion-perlbindings
- sqlgrey
- xraylib
- wml
(Is there any way to simplify these two?)
- biblatex-biber
- percona-toolkit
comment:19 Changed 8 years ago by mojca (Mojca Miklavec)
We'll open a new ticket for that (it takes a bit of scripting to get all the ports and maintainers properly sorted), but just as a quick note: feel free to start adding support or start testing / switching to Perl 5.24 in your ports.
Ticket for switching to Perl 5.24: #52081
Tracking comment for the migration procedure.
No maintainer
sympa: r144326tsung: r144328backuppc: #49571 with r144339torrentsniff: r143464, also needs #50002xqf: r143436, also needs #49995nfsen: r143406; but port still broken, see comment:11:ticket:38276hugin-app: r138664 (with suspicion, see #46721)sendpage: r143428, enhancement suggestion in #49992GTorrentViewer: r142094ack: r142095ackmate: r142097argus-monitor: r142098clearsilver: r142102cssh: r142103cvsweb: r142196cws2fws-pl: r142205cyrus-imapd: r139071dc3dd: r142209flac2mp3: r138742frozenbubble2: r142213fusioninventory-agent: r139072gnome-bindings-perl5: r138718gnupod: r144283homebank: dependency removed in r144282icon-naming-utils: r138720ikiwiki: r141820imageindex: r144284latexdiff: r140645libxmlxx2: r138716mailqfmt: r144311makepasswd: r143321, r143322mb2md: r143359mediaserv: r143377metasploit2: r143380monarch: r141835mtn-browse: r143421munin: r143389muttprint: r143391nagios-plugins: r143392nedi: r143393nrg: r143409ossp-uuid: r142680patchutils: r143410pemail: r143412perfect_maildir: r143413perlprimer: r143415pflogsumm: r143417po4a: r143419postgresql_autodoc: r143423postgrey: r143425psh: r143426rancid: r143427rrdtool: r139543shelldap: 144286smokeping: r144309, r144313snmptt: r144212snownews: r144209stow: r144204swaks: r144203system-tools-backends: needs #50003, port removed in r143479t-prot: r143468tablet-encode: r143466texinfo: r138717tinyca2: r144321vantages: needs #50001, port removed in r143481vcheck: needs #49999, port removed in r143634xchat-gnome: r143437xserve-raid-tools: r143434Open maintainer
ftpsync: r144329imapsync: r144330docbook2X: r139400eperl: r139460nginx: r143442signing-party: r140647mythtv-core.25: r144258mythtv-core.26: r144258mythtv-core.27: r144249mythweb.25: r144258mythweb.26: r144258mythweb.27: r144250glibmm: r138714gnumeric: r138707gtk-doc: r138703gtkmm: r138715intltool: r138704libpurple: r138705libsigcxx2: r138713pidgin: r138705biblatex-biber: r139662gnucash: r141081, r144214gnucash-devel: r141082, r144214gdmap: r138675 (now uses perl as build-dep only, #48365)vit: r138731extractopinion: r138753cutter: r138756pulseaudio: r138665libbluray: r141175archway: r144243mozjs17: r138958, r139055mozjs24: r139054, r139055help2man: r138691moreutils: r138692glom: r138736globus-core: r144216, r144219, blocked by #50215 | removed in r144307grid-packaging-tools: r144217, but broken: #50215 | removed in r144307amavisd-new: r143354, r143320sqlgrey: r143202, r126932git-cal: r138674PsyncX: r143668net-snmp: r143666ddclient: r144281wml: r139461liboping-devel: r144215cpan2port: r142085myrepos: r144220demeter: r139051demeter-devel: r139051auto-multiple-choice: r140545cloc: r144221log2timeline: r129992, r143201, r143360cpuid: already good to goMaintained ports
rsnapshot: r144331wakeonlan: r144332rpm: r144269rpm52: r144323 and obsoleted byrpm54
in r144334rpm53: r144323 and obsoleted byrpm54
in r144334rpm54: r144323exo: r144133xfce-utils: removed in r144133dirvish: r144312fwknop: r140215subversion-perlbindings: r143644icoutils: r144125whois: r143669magicspp: r138743LaTeXML: r141834ghsum: r144316pearl: r144317thieriot: r144319metar: r144222sleuthkit: r144314mysql-zrm: r144278dvdrip: r140036mosh: r140028mod_perl2: r142037Already prepared, need
perl5.major
/perl5.default_branch
updateOpen maintainer
git: prepared in r138632, switched to perl 5.22 by default r139218