Get Involved/development/Mac
A screen recording version is available https://www.youtube.com/watch?v=kjFUfZ3Lupo
KDE Craft
xcode-select --install
Install Craft
curl https://raw.githubusercontent.com/KDE/craft/master/setup/CraftBootstrap.py -o setup.py && python3 setup.py --prefix ~/CraftRoot
Note: At the time of this writing, with a fresh installation of Python 3.7 or 3.8, this command will fail with "certificate verify failed: unable to get local issuer certificate". To fix this, run the following, once:
"/Applications/Python [Version]/Install Certificates.command"
Using craft
- Every time you want to use craft in a new shell, you need to set up the craft environment, first:
source ~/CraftRoot/craft/craftenv.sh
- In this shell, now craft is usable, e.g. to build Kate with all dependencies:
craft kate
Case sensitive filesystem considerations
When building craft packages on case-sensitive filesystem, you will see errors in packages referencing some of the KF5 libraries:
fatal error: 'sonnet/highlighter.h' file not found
This is a known upstream issue: https://bugs.kde.org/show_bug.cgi?id=419167
NOTE: The bug was closed due to a lack of information. If you run into this issue, please reopen it!
The workaround for now is either to create and mount a case-insensitive disk image for craft usage or to manually create symlinks as needed.
Alternative to KDE Craft. Installation using a patched version of Qt and MacPorts
- Install Macports
- Note: If you have an existing installation of MacPorts and installed ports that depend on Qt, see this mail.
- Install git, if you don't have it yet:
sudo port install git
- Get the ports tree for patched qt and frameworks:
# We assume you're doing this in your home directory cd ~ git clone https://github.com/mkae/macstrop.git # create index cd macstrop portindex
- Register the new ports with Macports. To do so, edit ${prefix}/etc/macports/sources.conf, where prefix is the root path of your MacPorts installation (/opt/local by default). Add the following line above any other path specifications (thus making sure it will take precedence):
file:///Users/YourUserName/macstrop
It is recommended that you build the patched Qt before any frameworks, in order to make extra sure all dependencies are resolved, correctly:
sudo port install qt5-kde
You can now start building frameworks or applications (if already packaged), using e.g.
sudo port install kf5-parts sudo port install kf5-kate sudo port install kf5-frameworkintegration # will get the most common frameworks in one go
Many ports have additional variants, such as "+docs" for handbooks / API documentation:
sudo port install kf5-kate +docs port variants kf5-kate # list available variants port notes kf5-kate # show any notes