I am using Macports 1.7.1, and I don't want the latest port version, since it does not play nice with some other packages I want to build from source.
How can I force a particular version of a package installed from within macports "port" tool?
The old version of your software is likely still around. Check this by running:
port installed PACKAGE
where PACKAGE is what you want to downgrade. This will list out the "fully-qualified" name of the ports that match. You'll see the active port and the old, inactive port. You can switch them by doing something akin to this procedure:
port deactivate PACKAGE@CURRENT_REVISION+VARIANTS
port activate PACKAKGE@OLD_REVISION+VARIANTS
I don't think you can use an older version in MacPorts. The build list is maintained, and doesn't seem to contain many previous versions with the exception of a few packages such as mysql. So, if you do port search package
, the results it shows is all it can do. In mysql's case, I can see there are mysql5, 4, and 3. If I wanted 4, I'd just do sudo port install mysql4
.
If your package isn't listed, you might have to build from scratch.
You can create an additional local portfile repository to override some packages. I use this to force MacPorts to use an older version of the 'screen' package (there is an open bug issue with newer versions).
The MacPorts guide has the details about how to configure this: http://guide.macports.org/#development.local-repositories