[138302] branches/gsoc15-dependency/base/src/macports1.0
ijackson at macports.org
ijackson at macports.org
Sun Jul 5 01:16:59 PDT 2015
Revision: 138302
https://trac.macports.org/changeset/138302
Author: ijackson at macports.org
Date: 2015-07-05 01:16:58 -0700 (Sun, 05 Jul 2015)
Log Message:
-----------
WIP: Dependency calculation using libsolv
Use libsolv depcalc when -l option is passed.
Set flags and call [$pool select arg flags] where arg
is the portname passed to mportexec. If nothing matches call
[$pool select] after Binary OR'ing flags with NOCASE flag.
Modified Paths:
--------------
branches/gsoc15-dependency/base/src/macports1.0/macports.tcl
branches/gsoc15-dependency/base/src/macports1.0/macports_libsolv.tcl
Modified: branches/gsoc15-dependency/base/src/macports1.0/macports.tcl
===================================================================
--- branches/gsoc15-dependency/base/src/macports1.0/macports.tcl 2015-07-05 07:16:55 UTC (rev 138301)
+++ branches/gsoc15-dependency/base/src/macports1.0/macports.tcl 2015-07-05 08:16:58 UTC (rev 138302)
@@ -2047,9 +2047,12 @@
}
}
- if {[macports::_target_needs_deps $target]} {
- macports::libsolv::create_pool
- set dep_res [macports::libsolv::dep_calc $portname]
+ ## Use libsolv Dependency Calculation if -l is passed
+ if {[info exists macports::global_options(ports_depengine)]} {
+ if {[macports::_target_needs_deps $target]} {
+ macports::libsolv::create_pool
+ set dep_res [macports::libsolv::dep_calc $portname]
+ }
}
# Before we build the port, we must build its dependencies.
Modified: branches/gsoc15-dependency/base/src/macports1.0/macports_libsolv.tcl
===================================================================
--- branches/gsoc15-dependency/base/src/macports1.0/macports_libsolv.tcl 2015-07-05 07:16:55 UTC (rev 138301)
+++ branches/gsoc15-dependency/base/src/macports1.0/macports_libsolv.tcl 2015-07-05 08:16:58 UTC (rev 138302)
@@ -251,14 +251,18 @@
## Dependency calculation using libsolv
proc dep_calc {portname} {
variable pool
- ui_msg -nonewline "$macports::ui_prefix Computing dependencies for $portname using libsolv"
+ ui_msg "$macports::ui_prefix Computing dependencies for $portname using libsolv"
set jobs [list]
foreach arg $portname {
- # lappend jobs [$solv::Pool_Job $solv::Job_SOLVER_SOLVABLE [$arg cget -id]]
- # puts "Jobs = $jobs"
set portid [$pool str2id $portname]
- set dep_results [[$sel solvables] lookup_deparray $portid]
- puts "Dep list = $dep_results"
+ set flags [expr $solv::Selection_SELECTION_NAME | $solv::Selection_SELECTION_PROVIDES \
+ | $solv::Selection_SELECTION_CANON | $solv::Selection_SELECTION_DOTARCH \
+ | $solv::Selection_SELECTION_REL]
+ set sel [$pool select $arg $flags]
+ if {[$sel isempty]} {
+ set sel [$pool select $arg [expr $flags | $solv::Selection_SELECTION_NOCASE]]
+ }
+ lappend jobs [$sel jobs $solv::Job_SOLVER_INSTALL]
}
}
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20150705/c84f6cc0/attachment-0001.html>
More information about the macports-changes
mailing list