The process described here is one of many ways to set up a KDE development environment on Mac OS X. It sets up a MacPorts installation to provide the required dependencies and uses this to then build a KDE trunk development environment. This approach has the big advantage of using MacPorts to build, install and keep updated the base system and libraries required with minimal effort and without touching the base OSX system install.
It also gives you the choice of installing and running the latest stable KDE SC for everyday use while still developing on the unstable trunk.
The main disadvantage is compiling all the MacPort dependencies takes longer than binary installs, but the ease of maintenance is worth it.
One point to remember is that OS X is a customised version of BSD, so while it feels fairly familiar to a Linux developer, there are the occasional banana skins to slip you up.
Install Apple's XCode developer tools either from your OS X install disks or download from http://developer.apple.com/technologies/xcode.html.
If you are running Tiger you will also need to install Apple's X11 from your OS X Install disks. Snow Leopard and Leopard come with it installed by default.
Once installed, perform an OS X Software Update to ensure your system is fully up-to-date and reboot if required.
"The MacPorts Project is an open-source community initiative to design an easy-to-use system for compiling, installing, and upgrading either command-line, X11 or Aqua based open-source software on the Mac OS X operating system."
MacPorts installs everything into /opt/local and so doesn't interfere with the base OS X install or any other local installs you have. This enables you to control the environment search hierarchy for different purposes.
Applications installed via MacPorts can be run from the command line or from the /Applications/MacPorts folder in the finder.
It is recommended to initially install MacPorts using the package installer as this will automatically set-up your required $PATH.
MacPorts should be very easy to use for anyone used to Linux-style package management.
Update MacPorts and the list of available ports, you should do this first whenever you work with the port command:
sudo port selfupdate
List all available packages, this will be very long:
List all installed packages:
Search for a package:
port search <package>
Show information about a package:
port info <package>
Install a package, the -v is needed to see the build output:
sudo port -v install <package>
List the contents of an installed package
port contents <package>
List all installed packages with available updates:
Upgrade a package and uninstall the old version (omit the -u to just disable the old version, useful when the new version may break things):
sudo port -u -v upgrade <package>
Upgrade all outdated packages with new versions and uninstall the old versions:
sudo port -u -v upgrade outdated
Upgrade all installed packages and uninstall the old versions:
sudo port -u -v upgrade installed
Uninstall a package:
sudo port uninstall <package>
See the MacPorts documentation for more advanced options.
GUI frontends are available if you prefer.
You can choose to find and install each requirement on your own, or if you have less time and plenty of disk space you can just install the stable KDE SC and let it pull all the dependencies in for you.
If you have plenty of time, just choose to install one of the major KDE packages and leave it running for 24-48 hours, kdesdk4 seems the obvious choice:
sudo port -v install kdesdk4
This will resolve all the dependencies and compile and install everything you need including development tools like subversion and cmake.
You may prefer to break it up into smaller chunks, although the Qt build will still take a long time.
sudo port -v install cmake sudo port -v install qt4-mac sudo port -v install kdelibs4 etc...
Feel free to install all the modules you later intend to build trunk for to ensure you have all your requirements. Once everything is built you should be able to run the stable apps from /Applications/MacPorts/KDE4 or just search for them using Spotlight.