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.
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
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
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
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.