Reconstructing older snapshot of ports tree
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...
...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:
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