Reconstructing older snapshot of ports tree
Ryan Schmidt
ryandesign at macports.org
Sun Sep 4 23:32:12 PDT 2011
On Sep 4, 2011, at 18:49, Dave wrote:
> I've been having issues with gerbv, which appears to be due to an issue with Cairo. I have a crash when rendering the higher quality modes which use Cairo, after port updating. While trying to sort this out, I came across an issue that others may have dealt with, and I'd be grateful for some input.
>
> after fiddleing around a bit, I pretty much deleted the ports installation and started from scratch. I started out by downloading the portfile for Cairo 1.8.10 and installing this version of Cairo and dependencies (sudo port install). I then installed gerbv+dependencies (sudo port install gerbv). However, this fails because the latest version of gtks, which gets installed automatically, needs Cairo 1.10.
>
> Rather than figure out how far back I need to go with the gtk2 port, is there a way to just find out the date of the last Cairo 1.8.10 update,
You can find such information in our repository, for example from...
https://trac.macports.org/log/trunk/dports/graphics/cairo
...you can see that cairo was updated to 1.10.0 one year ago in r71251, so you would want to grab a revision before that.
> and install all versions that would have been active on that date?
You could use svn to check out a ports tree from before that revision, for example:
svn co https://svn.macosforge.org/repository/macports/trunk/dports -r71250
Then you could tell MacPorts (by editing your sources.conf file) to use that dports directory, not the one it usually uses.
> Alternatively, is there a way to install ports that are compatible with the currently installed dependencies; i.e, automatically install an older version of gtk2 if a newer version requires a newer version of a dependency?
>
> Any other suggestions on how to check to see if going back a version of Cairo will fix the gerbv rendering problem?
There is no feature in MacPorts to install prior versions of a port; you have to do so manually. See:
https://trac.macports.org/wiki/howto/InstallingOlderPort
Except that backdating your entire ports tree to an older revision, as shown above, would help you do that more quickly. If you really want a consistent ports tree from one year ago, you'd have to uninstall all existing ports though.
Finally, have you simply tried asking the cairo developers about this bug? They're usually a pretty responsive bunch. Maybe they can fix it easily. Maybe they already have fixed it in the latest development snapshots; you could try the cairo-devel port instead of the cairo port; it currently installs cairo 1.11.2.
More information about the macports-users
mailing list