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