Opened 5 years ago

Closed 4 years ago

#46570 closed enhancement (fixed)

git, openbrowser, ossp-uuid, xraylib: remove variants perl5_12, perl5_14, introduce support for 5.18, 5.20 and 5.22

Reported by: mojca (Mojca Miklavec) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: dbevans (David B. Evans), pixilla (Bradley Giesbrecht), ryandesign (Ryan Schmidt), Tom.Schoonjans@…, ci42, drkp (Dan Ports)
Port: git, openbrowser, ossp-uuid, xraylib, biblatex-biber, intltool

Description (last modified by mojca (Mojca Miklavec))

Support for Perl < 5.16 has been removed (#46322). I would like to request removing variants perl5_10, perl5_12, perl5_14 and introduce variants for 5.18, 5.20 and 5.22, ideally using something like this (if I understand the functionality properly):

perl5.require_variant yes 
perl5.conflict_variants yes 
perl5.branches 5.16 5.18 5.20 5.22
perl5.create_variants ${perl5.branches}

I added biblatex-biber and intltool to the list just because it would be nice to use the functionality from the PortGroup rather than "reinventing the wheel" in every port separately.

(See also #43193, r125264, r129992. And maybe we need some documentation about that functionality.)

Attachments (7)

git-perl-variants.diff (2.9 KB) - added by mojca (Mojca Miklavec) 5 years ago.
A patch to use perl5_xy variants from the Perl PortGroup in git
openbrowser-perl-variants.diff (1.7 KB) - added by mojca (Mojca Miklavec) 5 years ago.
git-perl-dependencies.diff (964 bytes) - added by mojca (Mojca Miklavec) 5 years ago.
A small cosmetic patch to fix dependencies for git
xraylib-perl-variants.diff (2.9 KB) - added by mojca (Mojca Miklavec) 5 years ago.
A patch to use perl5_xy variants from the Perl PortGroup in xraylib
patch-portgroup-perl5.diff (1.7 KB) - added by pixilla (Bradley Giesbrecht) 4 years ago.
xraylib-perl-variants.2.diff (2.9 KB) - added by mojca (Mojca Miklavec) 4 years ago.
biblatex-biber-perl-variants.diff (1005 bytes) - added by mojca (Mojca Miklavec) 4 years ago.
Use the code from PortGroup to create the variants for biblatex-biber, add Perl 5.22

Download all attachments as: .zip

Change History (35)

comment:1 Changed 5 years ago by mojca (Mojca Miklavec)

Cc: ryandesign@… Tom.Schoonjans@… ciserlohn@… dports@… added
Description: modified (diff)
Owner: changed from ciserlohn@… to macports-tickets@…
Port: openbrowser ossp-uuid xraylib biblatex-biber intltool added
Summary: git: remove variants perl5_12, perl5_14, introduce support for 5.18 and 5.20git, openbrowser, ossp-uuid, xraylib: remove variants perl5_12, perl5_14, introduce support for 5.18 and 5.20

Changed 5 years ago by mojca (Mojca Miklavec)

Attachment: git-perl-variants.diff added

A patch to use perl5_xy variants from the Perl PortGroup in git

comment:2 Changed 5 years ago by mojca (Mojca Miklavec)

I attached a sample patch for git. Please check it out and provide feedback.

comment:3 Changed 5 years ago by ryandesign (Ryan Schmidt)

I am not familiar with the variant-creating abilities that were added to the perl5 portgroup, and I haven't tested your patch, but yes certainly please make any such change that you feel is correct to my ports. I've made openbrowser openmaintainer now.

I took a quick look at the patch and at the portgroup. It seems like both the port and the portgroup are overwriting depends_lib. Shouldn't they both be appending to it instead?

comment:4 Changed 5 years ago by mojca (Mojca Miklavec)

I forgot to replace depends_lib with depend_lib-append in the patch (and forgot to remove perl5 from dependencies).

You are probably right about the PortGroup, but I wonder why -append is not used anywhere else in the PortGroup either. Is r131727 OK?

Changed 5 years ago by mojca (Mojca Miklavec)

comment:5 Changed 5 years ago by mojca (Mojca Miklavec)

Ryan, can you please check the attachment with the patch for openbrowser?

comment:6 Changed 5 years ago by ci42

Mojca, thanks for the patch. Applied to the git port in r131755.

Changed 5 years ago by mojca (Mojca Miklavec)

Attachment: git-perl-dependencies.diff added

A small cosmetic patch to fix dependencies for git

comment:7 in reply to:  6 ; Changed 5 years ago by mojca (Mojca Miklavec)

Replying to ciserlohn@…:

Applied to the git port in r131755.

Thank you. Just a cosmetic patch: can you please take a look at the attached git-perl-dependencies.diff​?

If you use depends_lib-append instead of depends_lib, then you can omit the dependency on port:perl${perl5.major} which is already added by the PortGroup. And there is both depends_run and depends_run-append one after the other while they could be joined together. (I didn't sort the dependencies alphabetically to make it more clear what I have done.)

comment:8 in reply to:  7 Changed 5 years ago by ci42

Replying to mojca@…:

Replying to ciserlohn@…:

Applied to the git port in r131755.

Thank you. Just a cosmetic patch: can you please take a look at the attached git-perl-dependencies.diff​?

If you use depends_lib-append instead of depends_lib, then you can omit the dependency on port:perl${perl5.major} which is already added by the PortGroup. And there is both depends_run and depends_run-append one after the other while they could be joined together. (I didn't sort the dependencies alphabetically to make it more clear what I have done.)

r131814

comment:9 Changed 5 years ago by mojca (Mojca Miklavec)

intltool changed in r131816.

comment:10 Changed 5 years ago by mojca (Mojca Miklavec)

I have a question for pixilla: what is the difference between perl5.require_variant and perl5.set_default_variant?

I thought that perl5.require_variant no would create a bunch of variants without adding one by default, but it has no effect. It only has an effect if I set perl5.set_default_variant to no, but then I don't understand the difference between the two. Is this a bug?

I'm attaching a patch for xraylib. It has a tiny flaw: one perl variant is enforced, but I would like to clarify what the functionality is supposed to be and then it should be trivial to fix that part. I would be grateful if the maintainer of xraylib could review the patch and possibly correct it in case of problems.

Changed 5 years ago by mojca (Mojca Miklavec)

Attachment: xraylib-perl-variants.diff added

A patch to use perl5_xy variants from the Perl PortGroup in xraylib

comment:11 Changed 5 years ago by mojca (Mojca Miklavec)

Another question for pixilla: I currently used a dirty hack, namely:

if {[variant_isset perl5_16] || [variant_isset perl5_18] || [variant_isset perl5_20]} {

What's the more elegant way to check whether an optional perl variant has been selected?

comment:12 Changed 5 years ago by Tom.Schoonjans@…

Thanks for updating the xraylib Portfile. Ideally, the perl bindings would be optional and off by default, like it was before. Unfortunately I cannot test it since I no longer have access to a MacPorts installation.

comment:13 in reply to:  12 Changed 5 years ago by mojca (Mojca Miklavec)

Replying to Tom.Schoonjans@…:

Ideally, the perl bindings would be optional and off by default, like it was before.

I totally agree. But I need to ask Bradley: maybe there's a bug in the PortGroup that needs to be fixed before committing this change.

Unfortunately I cannot test it since I no longer have access to a MacPorts installation.

How does that affect your maintainership of the port? Are you still willing to maintain the port?

comment:14 Changed 5 years ago by Tom.Schoonjans@…

Sure, I will continue to file updates for the ports I am maintaining

comment:15 in reply to:  3 Changed 5 years ago by mojca (Mojca Miklavec)

Replying to ryandesign@…:

I am not familiar with the variant-creating abilities that were added to the perl5 portgroup, and I haven't tested your patch, but yes certainly please make any such change that you feel is correct to my ports. I've made openbrowser openmaintainer now.

I committed the changes for openbrowser in r131840.

comment:16 Changed 5 years ago by mojca (Mojca Miklavec)

It's not clear to me whether Perl in ossp-uuid is "required" or not. The Portfile is written as if it was optional, but then it picks +perl5_16.

comment:17 in reply to:  10 Changed 4 years ago by pixilla (Bradley Giesbrecht)

Replying to mojca@…:

I have a question for pixilla: what is the difference between perl5.require_variant and perl5.set_default_variant?

perl5.require_variant yes will produce an error if a perl variant is not selected, say someone does "port install foo -perl5_20" to negate a default +perl5_20.

perl5.default_variant is always set to a perl variant and defaults to perl5.default_branch, one can set perl5.default_variant to something else in the Portfile. perl5.default_variant may be redundant since perl5.default_branch can achieve the same effect.

perl5.set_default_variant is used to control whether to actually set a default perl variant.

Changed 4 years ago by pixilla (Bradley Giesbrecht)

Attachment: patch-portgroup-perl5.diff added

comment:18 in reply to:  11 Changed 4 years ago by pixilla (Bradley Giesbrecht)

Replying to mojca@…:

Another question for pixilla: I currently used a dirty hack, namely:

if {[variant_isset perl5_16] || [variant_isset perl5_18] || [variant_isset perl5_20]} {

What's the more elegant way to check whether an optional perl variant has been selected?

With patch-portgroup-perl5.diff​ perl5.variant should be set to the name of the selected variant or empty if there is not one:

perl5.branches          5.16 5.18 5.20
perl5.create_variants   ${perl5.branches}
puts "perl5.variant: ${perl5.variant}"

comment:19 Changed 4 years ago by mojca (Mojca Miklavec)

Bradley, are you willing to commit the change of the PortGroup? I still have the modification of xraylib pending here because I'm unable to leave the perl variant unselected, but I don't feel comfortable enough doing the commit myself.

Changed 4 years ago by mojca (Mojca Miklavec)

comment:20 Changed 4 years ago by mojca (Mojca Miklavec)

Description: modified (diff)
Summary: git, openbrowser, ossp-uuid, xraylib: remove variants perl5_12, perl5_14, introduce support for 5.18 and 5.20git, openbrowser, ossp-uuid, xraylib: remove variants perl5_12, perl5_14, introduce support for 5.18, 5.20 and 5.22

comment:21 Changed 4 years ago by mojca (Mojca Miklavec)

I added support for 5.22 to git in r138632. I hope that's ok (a very minor change).

comment:22 Changed 4 years ago by mojca (Mojca Miklavec)

Support for openbrowser committed in r138633.

comment:23 Changed 4 years ago by dbevans (David B. Evans)

Added +perl5_22 variant to intltool in r138638, r138640 although I'm considering removing its perl variants entirely. Using the default perl should be sufficient here.

Last edited 4 years ago by dbevans (David B. Evans) (previous) (diff)

Changed 4 years ago by mojca (Mojca Miklavec)

Use the code from PortGroup to create the variants for biblatex-biber, add Perl 5.22

comment:24 Changed 4 years ago by mojca (Mojca Miklavec)

Dan, can you please check the attached patch for biblatex-biber?

comment:25 Changed 4 years ago by dbevans (David B. Evans)

ossp-uuid perl variants updated in r142680, default variant is possibly required by rpm52 rpm53 rpm54 (unverified).

comment:26 Changed 4 years ago by dbevans (David B. Evans)

percona-toolkit also needs attention (#49883).

comment:27 Changed 4 years ago by dbevans (David B. Evans)

patch for xraylib committed in r143200 with maintainer's approval above.

comment:28 Changed 4 years ago by dbevans (David B. Evans)

Resolution: fixed
Status: newclosed

log2timeline: +perl5_22 variant added in r143201.
sqlgrey: +perl5_22 variant added in r143202.

All ports with perl variants now updated as requested in this ticket.

Note: See TracTickets for help on using tickets.