smaller version of Gnucash
Ryan Schmidt
ryandesign at macports.org
Tue Dec 23 00:16:23 PST 2008
On Dec 22, 2008, at 18:00, Lenore Horner wrote:
> I made this mistake today of upgrading Gnucash from 2.2.5 to 2.2.7
> without using any variants. So far it's taken 6 hours and it's
> not done yet. Plus I have to go back and deal with a couple of
> errors. (most
>
> I'm pretty sure the only thing I'm using Macports for is to install
> Gnucash. Everything else I can find binaries for which is much,
> much faster! What I'm wondering is how much extra stuff I'm
> installing because I didn't think to do +without_quotes
> +without_hbci +without_ofx. How am I supposed to know based on
> port info (A) what the variants do and (B) how much extra time
> putting them in will cost me?
Hi Lenore.
Via "port info gnucash", all you'll learn is the names of the
variants. If those aren't clear enough to tell you what they're for,
use "port variants gnucash" to read the variant descriptions. If the
descriptions aren't clear enough (or are absent), you can read the
portfile with "port cat gnucash" or (if your EDITOR environment
variable is set suitably) with "port edit gnucash" to see what it
does. For many ports you could also ask the maintainer, but gnucash
has none. You could look through the commit messages for gnucash and
see if they explain anything:
http://trac.macports.org/log/trunk/dports/gnome/gnucash
As to how much time it will cost to install a port, MacPorts doesn't
tell you that. The download time for the distfile varies based on
your network, and the compile time varies based on the speed of your
computer's processor and hard drive and how much memory it has.
Variants may bring in dependencies, and those dependencies may bring
in other dependencies, and so on, and there isn't a MacPorts command
that will tell you all of that at once. You can piece it together
manually, for example:
$ port deps gnucash
gnucash has build dependencies on:
libtool
gnucash has library dependencies on:
p5-xml-parser
glib2
gconf
guile16
slib
slib-guile16
popt
libgnomeui
libgnomeprintui
libgtkhtml3
libgsf
goffice
aqbanking
libofx
p5-finance-quote
gnucash has runtime dependencies on:
evince
$ port deps gnucash +without_hbci
gnucash has build dependencies on:
libtool
gnucash has library dependencies on:
p5-xml-parser
glib2
gconf
guile16
slib
slib-guile16
popt
libgnomeui
libgnomeprintui
libgtkhtml3
libgsf
goffice
libofx
p5-finance-quote
gnucash has runtime dependencies on:
evince
So we see that if we add the +without_hbci variant, it causes the
aqbanking library dependency to be deleted. We can see the same thing
by reading the gnucash Portfile, which says, in part:
variant without_hbci description {Disables HBCI support} {
depends_lib-delete port:aqbanking
configure.args-delete --enable-hbci
configure.args-append --disable-hbci
}
Then we could ask what the dependencies of aqbanking are:
$ port deps aqbanking
aqbanking has build dependencies on:
libtool
aqbanking has library dependencies on:
gwenhywfar
qt3
ktoblzcheck
libglade2
libofx
gmp
libtool and libofx are already needed by gnucash itself, but
gwenhywfar, qt3, ktoblzcheck, libglade2 and gmp are new dependencies.
Then we could ask what the dependencies of each of those are. You get
the idea.
I wrote a PHP web page to create a graph of a port's dependencies
which I find useful for researching these kinds of things. Here are
the dependencies of aqbanking and libofx graphed:
http://ryandesign.com/tmp/aqbanking.png
http://ryandesign.com/tmp/libofx.png
Filled ovals represent ports I already have installed on my system;
hollow ones are not installed. This would obviously vary on your
system if you ran the script there. The different line styles are not
terribly important to pay attention to: Solid lines are library
dependencies, dotted lines are build dependencies, and dashed lines
are runtime dependencies. The script does not take into account that
some dependencies can be satisfied by other than the specified port
(so, not all the ports shown will necessarily end up being installed).
> I'm also curious, though at this point it would I think be a waste
> of time, whether I could
> sudo port deactivate all
> sudo port install gnucash +without_quotes +without_hbci +without_ofx
> sudo port uninstall inactive
>
> and have the lighter version in place without recompiling
> everything and also see how much extra work I've had to wait for my
> computer to do.
Good idea! With MacPorts 1.7.0 I think this should work correctly.
> Wasn't there a +without_docs variant? Is this gone because docs
> don't work so they aren't being installed anyhow?
I see the +without_docs variant was removed here:
http://trac.macports.org/changeset/35197
The reason given for its removal ("Remove variant without-docs. No
hyphen allowed.") does not seem to match since the variant name
didn't have a hyphen but an underscore (which is legal). In any case,
the documentation is in a separate port, gnucash-docs, so if you want
the docs, you install that port; if you don't, you don't.
More information about the macports-users
mailing list