[100302] trunk/dports/_resources/port1.0/group/active_variants-1.1.tcl
cal at macports.org
cal at macports.org
Fri Dec 7 13:46:00 PST 2012
Revision: 100302
https://trac.macports.org/changeset/100302
Author: cal at macports.org
Date: 2012-12-07 13:46:00 -0800 (Fri, 07 Dec 2012)
Log Message:
-----------
active_variants 1.1: fix incorrect attempt at putting require_active_variants into pre-configure automatically
Modified Paths:
--------------
trunk/dports/_resources/port1.0/group/active_variants-1.1.tcl
Modified: trunk/dports/_resources/port1.0/group/active_variants-1.1.tcl
===================================================================
--- trunk/dports/_resources/port1.0/group/active_variants-1.1.tcl 2012-12-07 20:43:08 UTC (rev 100301)
+++ trunk/dports/_resources/port1.0/group/active_variants-1.1.tcl 2012-12-07 21:46:00 UTC (rev 100302)
@@ -137,8 +137,32 @@
return 1
}
+proc _variant_in_variant_list {needle haystack} {
+ foreach variant $haystack {
+ if {$variant == $needle} {
+ return 1
+ }
+ }
+ return 0
+}
+
+# global list holding all items the should be checked for and cause an error if
+# not present
+set _require_active_variants_list [list]
+
proc require_active_variants {name required {forbidden {}}} {
- pre-configure {
+ global _require_active_variants_list
+ lappend _require_active_variants_list [list $name $required $forbidden]
+}
+
+# function to be called in pre-configure to check for all items added using
+# require_active_variants
+proc _check_require_active_variants {} {
+ global _require_active_variants_list
+ foreach _require_active_variant $_require_active_variants_list {
+ set name [lindex $_require_active_variant 0]
+ set required [lindex $_require_active_variant 1]
+ set forbidden [lindex $_require_active_variant 2]
if {[catch {set result [active_variants $name $required $forbidden]}] != 0} {
error "$name is required, but not active."
}
@@ -160,11 +184,7 @@
}
}
-proc _variant_in_variant_list {needle haystack} {
- foreach variant $haystack {
- if {$variant == $needle} {
- return 1
- }
- }
- return 0
+# register pre-configure handler that checks for all requested variants
+pre-configure {
+ _check_require_active_variants
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20121207/df45967b/attachment.html>
More information about the macports-changes
mailing list