[143285] trunk/dports/_resources/port1.0/group/perl5-1.0.tcl
pixilla at macports.org
pixilla at macports.org
Sat Dec 12 09:20:23 PST 2015
Revision: 143285
https://trac.macports.org/changeset/143285
Author: pixilla at macports.org
Date: 2015-12-09 13:54:37 -0800 (Wed, 09 Dec 2015)
Log Message:
-----------
Improve perl variants.
Modified Paths:
--------------
trunk/dports/_resources/port1.0/group/perl5-1.0.tcl
Modified: trunk/dports/_resources/port1.0/group/perl5-1.0.tcl
===================================================================
--- trunk/dports/_resources/port1.0/group/perl5-1.0.tcl 2015-12-09 21:43:02 UTC (rev 143284)
+++ trunk/dports/_resources/port1.0/group/perl5-1.0.tcl 2015-12-09 21:54:37 UTC (rev 143285)
@@ -77,10 +77,15 @@
# Set perl variant options and defaults
options perl5.default_variant perl5.variant perl5.set_default_variant perl5.conflict_variants perl5.require_variant
+# The default variant derived from perl5.default_branch if not set in Portfile.
default perl5.default_variant {[string map {. _} perl${perl5.default_branch}]}
-default perl5.variant {[string map {. _} perl${perl5.major}]}
+# The name of the selected variant or empty if there is not one.
+default perl5.variant {}
+# Control whether to set a default perl variant or not.
default perl5.set_default_variant {true}
+# Control whether to conflict the perl variants or not. Probably almost always true.
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}
# Get variant names from branches
proc perl5.get_variant_names {branches} {
@@ -92,15 +97,15 @@
}
# Create perl variants
proc perl5.create_variants {branches} {
- global name perl5.major perl5.default_variant perl5.variant perl5.set_default_variant perl5.conflict_variants perl5.require_variant
- set variants [perl5.get_variant_names ${branches}]
+ global name perl5.major perl5.default_variant perl5.variant perl5.set_default_variant perl5.conflict_variants perl5.require_variant perl5.variants
+ set perl5.variants [perl5.get_variant_names ${branches}]
foreach branch ${branches} {
set index [lsearch ${branches} ${branch}]
- set variant [lindex ${variants} ${index}]
+ set variant [lindex ${perl5.variants} ${index}]
# Add conflicts
set conflicts {}
if {${perl5.conflict_variants}} {
- set conflicts "conflicts {[lreplace ${variants} ${index} ${index}]}"
+ set conflicts "conflicts {[lreplace ${perl5.variants} ${index} ${index}]}"
}
eval "variant ${variant} ${conflicts} description Use MacPorts perl${branch} {}"
if {[variant_isset ${variant}]} {
@@ -108,23 +113,28 @@
}
}
# Set default perl variant
- if {${perl5.default_variant} eq ${perl5.variant} && ${perl5.set_default_variant}} {
- default_variants-append +${perl5.variant}
+ if {${perl5.variant} eq {} && ${perl5.set_default_variant}} {
+ default_variants-append +${perl5.default_variant}
+ if {[variant_isset ${perl5.default_variant}]} {
+ perl5.variant ${perl5.default_variant}
+ }
}
-# Require perl variant
- if {![variant_isset ${perl5.variant}] && ${perl5.require_variant}} {
- ui_error "${name} requires one of these variants: ${variants}"
- return -code error "absence of required perl variant"
- }
# Set perl version and deps
foreach branch ${branches} {
set index [lsearch ${branches} ${branch}]
- set variant [lindex ${variants} ${index}]
+ set variant [lindex ${perl5.variants} ${index}]
if {[variant_isset ${variant}]} {
perl5.major ${branch}
depends_lib-append port:perl${branch}
}
}
+# Require perl variant
+ pre-fetch {
+ if {![variant_isset ${perl5.variant}] && ${perl5.require_variant}} {
+ ui_error "${name} requires one of these variants: ${perl5.variants}"
+ return -code error "absence of required perl variant"
+ }
+ }
}
# Set some variables.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20151212/f8790cdc/attachment.html>
More information about the macports-changes
mailing list