Breaking long dependency chains
Kevin Walzer
kw at codebykevin.com
Sun Mar 18 11:17:24 PDT 2012
On 3/18/12 2:00 PM, Freek Dijkstra wrote:
> However, that is not the main issue. The fact remains that there are
> many MacPorts packages with more dependencies than what is strictly
> required.
This is an excellent point.
I'm testing support for installing variants in a new version of
PortAuthority, and I'm also investigating user complaints that PA hangs
with long installations. I've tried what appears to be a simple test:
installing the quartz variant of Tk.
It's taking forever. "port deps tk" lists the following:
tcl, Xft2, xorg-libXScrnSaver, fontconfig
Yet right now port is installing glib, and was installing Perl before I
killed the process. Where do these come in? Why do I need glib, or Perl
for that matter, to install the native Aqua/quartz variant of Tk?
I can say that building Tk and Tcl from source takes about 15 minutes,
give or take. I've watched port chug away at this since last night with
no end in sight. I'm sorry, but this is ridiculous.
A badly needed feature in MacPorts is the ability to fully and
recursively model the dependency tree of a specific port: not just its
dependencies, but the dependencies of its dependencies. That would be
revealing. "port deps tk" lists four dependencies which I would expect
would take 30-60 minutes to install. Instead it's hours and hours and
counting because of hidden dependencies like Perl and glib (and no doubt
their dependencies in turn).
I also wonder if the emergence of Homebrew has taken away some of
MacPorts (and Fink's) user base. If sales of PortAuthority are any
indication, I suspect it has. Porticus is broken and Pallet is barely
ready for prime time, so the competition has to be coming from somewhere
else.
(I realize that PortAuthority is not the concern of the MacPorts
developer list, but when I get complaints that PA is slow and
installations take forever, it's a bit frustrating that I can't say
something more specific than "it's a MacPorts issue, sorry.")
--Kevin
--
Kevin Walzer
Code by Kevin
http://www.codebykevin.com
More information about the macports-dev
mailing list