[wiki:howto <- Back to the HOWTO section] = How to install an older version of a port = * Audience: Anyone needing an older version of a port than is currently available in the repository or installed on their machine * Requires: MacPorts >=1.7 == Introduction == When you upgrade an installed port, MacPorts deactivates the older version but keeps it installed. For example: {{{ $ port installed tcl The following ports are currently installed: tcl @8.4.16_0+darwin_9 (active) $ sudo port upgrade tcl [snip] $ port installed tcl The following ports are currently installed: tcl @8.4.16_0+darwin_9 tcl @8.5.0_0 (active) $ }}} If you later discover you would like to go back to the older version, you can deactivate the current version and reactivate the older one: {{{ $ sudo port deactivate tcl ---> Deactivating tcl $ sudo port activate tcl @8.4.16_0+darwin_9 ---> Activating tcl @8.4.16_0+darwin_9 $ }}} Once you're confident the new version works to your satisfaction, you can uninstall the old one to reclaim disk space: {{{ $ sudo port uninstall tcl @8.4.16_0+darwin_9 }}} If you want to go back to an older version after you've already uninstalled it, or to an older version than you've ever had installed, you can do so by manually downloading the older version of the portfile from the Subversion repository. == Installation == === Step 1: '''Finding the right revision''' === To install an older version of the port, you'll have to manually download the files from the repository. [browser:trunk/dports Browse the repository] to find the directory of the port you want, then use the Revision Log link in the upper right to find the older version that you want to install. For example, if you wanted to install the older 8.4.16 version of tcl, browse to the [browser:trunk/dports/lang/tcl lang/tcl] directory and look at its [log:trunk/dports/lang/tcl revision log]. Here you'll note that tcl was updated to 8.5.0 in r32235, so you want the revision before that, which was r30810. Click the [browser:trunk/dports/lang/tcl@30810 @30810] link in the revision log (not the [30810] link) to see the directory as it existed in that revision. === Step 2: '''Getting the Portfile''' === Click the Portfile to see it, then download it to disk using the Original Format link at the bottom of the page. The tcl port doesn't have a `files` directory, but if it did, you should download each file within it as well, and place them in a `files` directory on your disk in the same place where you downloaded the Portfile. === Step 3: '''Building the downloaded port''' === Finally, use the Terminal to `cd` to the directory where you downloaded the Portfile and type "`sudo port install`". == Alternative method to getting the port == Subversion can be used as well to fetch an older port, and is simpler for one that has a files/ subdirectory. === Step 1: '''Install Subversion''' === Install Subversion: {{{ sudo port install subversion }}} This step is optional for Mac OS X 10.5 Leopard and later, which already include a Subversion client, but you may want to install it from MacPorts anyway because its version is likely newer than the one included with your operating system. === Step 2: '''Finding the right revision''' === Follow Step 1 earlier to find the right revision for the port you need, e.g. r30810. === Step 3: '''Checking out the port''' === Using the revision number, port category and port name, check out the port directory at that revision using the `svn` command: {{{ svn co -r 30810 http://svn.macports.org/repository/macports/trunk/dports/lang/tcl }}} This creates a tcl directory in your current location, and populates that with everything the port needs to build. Replace "30810" and "lang/tcl" with the correct revision and category/portname for the port you're interested in. [wiki:howto <- Back to the HOWTO section]