Multiple versions of a port at the same time

Ryan Schmidt ryandesign at macports.org
Mon Apr 7 11:37:13 PDT 2008


Some thoughts related to those being expressed in the "Re: Ticket  
#14796 (pike): please commit" thread...

Assume we have a way to install multiple versions of a port at the  
same time. Assume we've worked out everything about the directory  
layout and allowing other software to link with things properly. How  
do we express multiple versions of the software in the portfile?

The problem with simply going back to older versions of the portfile  
is that there may be bugs in old versions of the portfile which were  
fixed in later versions. But there may also be (for example)  
configure options which were appropriate for old versions but not for  
new ones, or vice-versa. Other things may change as well. So we also  
can't just use the newer version of the portfile and swap out the  
version number. Consider cairo: version 1.5 and later depend on  
libpixman, while earlier versions don't.

What *is* the goal of this exercise? Is it to allow any arbitrary  
(maintainer-approved) version of a port to be installed? Or are we  
just trying to allow the major versions to be installed, which we  
already have with separate ports? If the latter, we could find a way  
to combine multiple ports like apache and apache2; php4 and php5;  
mysql3, mysql4 and mysql5. For example, we might keep the separate  
portfiles for each version and just place them in a common directory:

dports/
	databases/
		mysql/
			mysql3.port (installs 3.23.58)
			mysql4.port (installs 4.1.22)
			mysql5.port (installs 5.0.51)



More information about the macports-dev mailing list