Version confusion

Ryan Schmidt ryandesign at macports.org
Sat Mar 31 16:11:19 PDT 2007


On Mar 31, 2007, at 13:47, Bas den Hond wrote:

> I am confused as to how to request a certain version.

In general, you don't. MacPorts provides "a" version of a port, and  
that's the one you can install. There are ways around this; one is  
discussed below.


> I have an svn tree next to the regular dports tree. The file URL is  
> in sources.conf.

Ah, and the rsync URL is still in there too? I guess that would be  
the problem. I have commented out the rsync URL in my installation,  
and only use a file URL to an svn working copy of the ports tree.


> Now if I do:
>
> port search wxWidgets
>
> the answer is:
>
> wxWidgets                      graphics/wxWidgets 2.6.3         
> mature cross-platform C++ GUI framework
> wxWidgets-devel                graphics/wxWidgets-devel  
> 2.7.1        mature cross-platform C++ GUI framework
> wxWidgets                      graphics/wxWidgets 2.8.3         
> mature cross-platform C++ GUI framework
> wxWidgets-devel                graphics/wxWidgets-devel 2.8.3- 
> rc1    mature cross-platform C++ GUI framework
> wxWidgets26                    graphics/wxWidgets26 2.6.3         
> mature cross-platform C++ GUI framework
>
> which is good, because I have two ports, so I would expect to have  
> two versions of these.

That output is weird. Though maybe that's what you get when you have  
two ports trees that contain the same thing.

On my installation, I get:

$ port search wxwidgets
wxWidgets                      graphics/wxWidgets 2.8.3        mature  
cross-platform C++ GUI framework
wxWidgets-devel                graphics/wxWidgets-devel 2.8.3-rc1     
mature cross-platform C++ GUI framework
wxWidgets26                    graphics/wxWidgets26 2.6.3         
mature cross-platform C++ GUI framework


> Now if I do
>
> sudo port install wxWidgets
>
> port reports:
>
> --->  Fetching wxWidgets
> --->  Attempting to fetch wxWidgets-2.6.3.tar.bz2 from ftp:// 
> biolpc22.york.ac.uk/pub/2.6.3/
>
> so I gather it grabs the first (not the most recent) wxWidgets that  
> it can find.
>
> Now if I want to try the latest version and see if I can build it  
> (the impossibility of building it is why I have this setup, I need  
> 2.6.3. so far) I would try, based on what the manpage says:
>
> sudo port install wxWidgets at 2.8.3
>
> But no, port starts fetching the same 2.6.3 version.

I'm familiar with the @version syntax for *uninstalling*, but I've  
never heard of it for installing. I can't see that usage described in  
the manpage either. Though if you see it there, please show me. To  
the best of my knowledge, MacPorts has no such capability.


> So what gives? I guess I could remove the svn tree from  
> sources.conf temporarily, but that seems klutzy...
>
> Any explanation appreciated.

As I said, I only use my local svn working copy, and comment out the  
rsync source. You might try that as well. With the svn working copy  
you have the advantage that you can backdate any port to any version.  
Simply use "svn log" on the portfile to find the last revision number  
where the port was at the version you want, then use "svn up -r" to  
download that version of the portfile. Then "sudo port install foo"  
as usual, or if the port is already installed in a different version,  
"sudo port -nf upgrade foo" to force it to install again at the  
backdated version.




More information about the macports-users mailing list