Macports Portfile Helper
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Pearl - Easy Portfile Updates

Pearl is a super-simple script to make it a little bit easier to update your Macports Portfile for your project. It just automates the diffing of your current Portfile with the release version from the Macports SVN repository.


You can install Pearl through Macports…

sudo port install pearl

If you're installing from source just clone the repository and put it in your $PATH.


Just change to your project folder and run Pearl.


By default this assumes you have your Portfile in your repository root, and it will create a diff'd version named Portfile-yourproject.diff (where the name of the project is guessed from the current directory).

You can then submit this file via the Macports Trac for an update.


This is handled by a small YAML file in your project root named .pearl.yml. Here are the options...

# required
project_type:       devel

# optional
portfile:           path/to/Portfile
project_name:       my-project

Other Options

Pearl support a few other options for helping you out updating your Portfile. To get these options at any time just use the help switch.

pearl --help

Diff to Stdout

If you'd like to write the Portfile diff to STDOUT (useful to easily see it when making changes) use the stdout switch.

pearl --stdout

Sync with Macports

Sometimes when submitting new Portfiles, or update patches, your Portfile will be changed by one of the Macports admins before they commit it. So it can be useful to re-sync your Portfile with the master version in their repository.

pearl --sync

Be warned though - this will overwrite your local Portfile with no prompt.


Any bugs/features please submit them via Github issues.