Modified: branches/gsoc15-dependency/base/src/macports1.0/macports.tcl (139045 => 139046)
--- branches/gsoc15-dependency/base/src/macports1.0/macports.tcl 2015-07-30 16:33:07 UTC (rev 139045)
+++ branches/gsoc15-dependency/base/src/macports1.0/macports.tcl 2015-07-30 17:38:06 UTC (rev 139046)
@@ -2024,21 +2024,38 @@
set dep_res [macports::libsolv::dep_calc $portlist]
## Install each port. First use mportopen and then _mportexec.
if {[info exists dep_res]} {
+ set dlist [list]
+ set portlist [list]
foreach port $dep_res {
- set portname [lindex $port 0]
+ set portsolv [lindex $port 0]
+ lappend portlist [$portsolv cget -name]
+ }
+ ui_debug "Printing portlist"
+ ui_debug $portlist
+ foreach port $dep_res {
+ set portsolv [lindex $port 0]
+ set portname [$portsolv cget -name]
set porturl [lindex $port 1]
- ui_debug "Installing $portname"
set options(subport) $portname
- ui_debug "mportopen $porturl [list subport $portname]"
+
+ puts "Current: $portname"
set mport [mportopen $porturl [list subport $portname]]
- set result [_mportexec activate $mport]
+ foreach dep [$portsolv lookup_deparray $solv::SOLVABLE_REQUIRES] {
+ set depname [$dep __str__]
+ if {$depname ni $portlist} {
+ continue
+ }
+ puts "Adding $depname to requires"
+ ditem_append_unique $mport requires $depname
+ }
+ lappend dlist $mport
}
+ set result [dlist_eval $dlist _mportactive [list _mportexec activate]]
if {[info exists result]} {
return $result
- } else {
- return {}
}
}
+ return {}
}
}
Modified: branches/gsoc15-dependency/base/src/macports1.0/macports_libsolv.tcl (139045 => 139046)
--- branches/gsoc15-dependency/base/src/macports1.0/macports_libsolv.tcl 2015-07-30 16:33:07 UTC (rev 139045)
+++ branches/gsoc15-dependency/base/src/macports1.0/macports_libsolv.tcl 2015-07-30 17:38:06 UTC (rev 139046)
@@ -437,7 +437,7 @@
puts [$p __str__]
array set portinfo $portindexinfo([$p cget -id])
set porturl "file://[[$p cget -repo] cget -name]/${portinfo(portdir)}"
- lappend install_list [list [$p cget -name] $porturl]
+ lappend install_list [list $p $porturl]
array unset -nocomplain portinfo
}
}