<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/453a222657c15cd721bb7a9f24eb8bd842f61bc2">https://github.com/macports/macports-ports/commit/453a222657c15cd721bb7a9f24eb8bd842f61bc2</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 453a222657c15cd721bb7a9f24eb8bd842f61bc2
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Wed Mar 13 09:10:20 2024 +1100
<span style='display:block; white-space:pre;color:#404040;'> perl5 pg: bugfix and simplify perl5.create_variants
</span>---
_resources/port1.0/group/perl5-1.0.tcl | 69 +++++++++++++++++-----------------
1 file changed, 34 insertions(+), 35 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/_resources/port1.0/group/perl5-1.0.tcl b/_resources/port1.0/group/perl5-1.0.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index ef74fba8466..57c56791d50 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/_resources/port1.0/group/perl5-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/_resources/port1.0/group/perl5-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -50,50 +50,48 @@ default perl5.set_default_variant {true}
</span> default perl5.conflict_variants {true}
# Control whether a perl variant is required and if true produce an error if a perl variant is not set.
default perl5.require_variant {false}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Get variant names from branches
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-proc perl5.get_variant_names {branches} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set ret [list]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach branch ${branches} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lappend ret "perl[string map {. _} ${branch}]"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return $ret
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span> # Create perl variants
proc perl5.create_variants {branches} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- global name perl5.major perl5.default_variant perl5.variant perl5.set_default_variant perl5.conflict_variants perl5.require_variant perl5.variants
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set perl5.variants [perl5.get_variant_names ${branches}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach branch ${branches} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set index [lsearch -exact ${branches} ${branch}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set variant [lindex ${perl5.variants} ${index}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Add conflicts
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set filtered [list]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ global name perl5.major perl5.default_variant perl5.variant \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ perl5.set_default_variant perl5.conflict_variants \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ perl5.require_variant perl5.variants
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set perl5.variants [lmap branch ${branches} {string map {. _} perl$branch}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${perl5.set_default_variant}} {
</span> if {${perl5.conflict_variants}} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set filtered [lreplace ${perl5.variants} ${index} ${index}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach variant ${perl5.variants} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[variant_isset $variant] && $variant ne ${perl5.default_variant}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set default_variant_conflicts 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ break
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- variant ${variant} conflicts {*}${filtered} description "Use MacPorts perl${branch}" {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[variant_isset ${variant}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- perl5.variant ${variant}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Set default perl variant (if no conflicting variant is set)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {![info exists default_variant_conflicts]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ default_variants-append +${perl5.default_variant}
</span> }
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Set default perl variant
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${perl5.variant} eq {} && ${perl5.set_default_variant}} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- default_variants-append +${perl5.default_variant}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[variant_isset ${perl5.default_variant}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- perl5.variant ${perl5.default_variant}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach branch ${branches} variant ${perl5.variants} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Add conflicts
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set cur_conflicts {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${perl5.conflict_variants}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set cur_conflicts [ldelete ${perl5.variants} $variant]
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Set perl version and deps
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach branch ${branches} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set index [lsearch -exact ${branches} ${branch}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set variant [lindex ${perl5.variants} ${index}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ variant ${variant} conflicts {*}${cur_conflicts} description "Use MacPorts perl${branch}" {}
</span> if {[variant_isset ${variant}]} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- perl5.major ${branch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ perl5.variant-append ${variant}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Set perl version and deps
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # XXX this can't do anything sensible if perl5.conflict_variants=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set perl5.major ${branch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-delete port:perl${branch}
</span> depends_lib-append port:perl${branch}
}
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Require perl variant
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Require perl variant
</span> pre-fetch {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {![variant_isset ${perl5.variant}] && ${perl5.require_variant}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${perl5.variant} eq {} && ${perl5.require_variant}} {
</span> ui_error "${name} requires one of these variants: ${perl5.variants}"
return -code error "absence of required perl variant"
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -125,8 +123,8 @@ set perl5.cpandir ""
</span>
# perl5 group setup procedure
proc perl5.setup {module vers {cpandir ""}} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- global perl5.branches perl5.default_branch perl5.bin perl5.lib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- perl5.module perl5.moduleversion perl5.cpandir \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ global perl5.branches perl5.bin perl5.cpandir perl5.default_branch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ perl5.lib perl5.module perl5.moduleversion perl5.variants \
</span> prefix subport name
# define perl5.module
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -173,7 +171,8 @@ proc perl5.setup {module vers {cpandir ""}} {
</span> system "echo $name is a stub port > ${destroot}${prefix}/share/doc/${name}/README"
}
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } elseif {![info exists perl5.variants]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-delete port:perl${perl5.default_branch}
</span> depends_lib-append port:perl${perl5.default_branch}
}
if {![string match p5-* $name] || $subport ne $name} {
</pre><pre style='margin:0'>
</pre>