Get Involved/development/Mac: Difference between revisions
(→Overview: People should not build Qt, KDE Craft will install Qt correctly on macOS) |
(In order to build KDE software on macOS, we recommend KDE Craft) |
||
Line 1: | Line 1: | ||
A screen recording version is available https://www.youtube.com/watch?v=kjFUfZ3Lupo | A screen recording version is available https://www.youtube.com/watch?v=kjFUfZ3Lupo | ||
== | == KDE Craft == | ||
* Install [https://www.python.org/downloads/ Python 3] | * Install [https://www.python.org/downloads/ Python 3] | ||
Line 59: | Line 30: | ||
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. | 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 == | |||
* [https://guide.macports.org/#installing.macports Install Macports] | |||
** Note: If you have an existing installation of MacPorts ''and'' installed ports that depend on Qt, see [https://mail.kde.org/pipermail/kde-mac/2017-June/005280.html 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 | |||
* [https://guide.macports.org/chunked/development.local-repositories.html 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 |
Revision as of 21:56, 22 September 2023
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