KDEConnect/Build MacOS: Difference between revisions
Weixuan XIAO (talk | contribs) No edit summary |
(→Prerequisite: Avoid 'certificate has expired' error on mirror.0xem.ma (https://pastebin.com/p7prnF4x)) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 5: | Line 5: | ||
# Install Xcode command line tools with <code>xcode-select --install</code> | # Install Xcode command line tools with <code>xcode-select --install</code> | ||
# Install Python 3 from [https://www.python.org Python Homepage], [https://brew.sh/ Homebrew] or [https://www.macports.org/ MacPorts]. Validate your python install with following command:<code>which python3</code> | # Install Python 3 from [https://www.python.org Python Homepage], [https://brew.sh/ Homebrew] or [https://www.macports.org/ MacPorts]. Validate your python install with following command:<code>which python3</code> | ||
# As of [https://letsencrypt.org/docs/dst-root-ca-x3-expiration-september-2021/ September 30, 2021], to fix 'curl: (60) SSL certificate problem: certificate has expired', depending on MacOS version: | |||
* MacOS <=10.11: [https://trac.macports.org/wiki/ProblemHotlist#letsencrypt trust the Let’s Encrypt ISRG Root X1 certificate] | |||
* MacOS 10.13-10.15.5: [https://apple.stackexchange.com/questions/428448/app-curl-still-getting-certificate-expired-error-due-to-expired-lets-encrypt/428453#428453 update the system's OpenSSL trusted roots bundle], [https://stackoverflow.com/questions/69387175/git-for-windows-ssl-certificate-problem-certificate-has-expired/69396425#69396425 delete the expired DST Root CA X3 certificate] from the system's OpenSSL trusted roots bundle, [https://blog.bytesguy.com/resolving-lets-encrypt-issues-with-curl-on-macos use an updated trusted root bundle], or use an updated version of curl from eg. [https://github.com/Homebrew/brew/issues/12161 brew] or [https://trac.macports.org/ticket/63563 MacPorts]. | |||
== Setting up Craft environment == | == Setting up Craft environment == | ||
Line 27: | Line 30: | ||
== Fetching source code and building == | == Fetching source code and building == | ||
Make sure you are in the Craft environment. There could be a <code>CRAFT:</code> prefix in front of your prompt, like this: | |||
[[File:MacOS_KDEConnect_Craft_Source.png]] | [[File:MacOS_KDEConnect_Craft_Source.png]] | ||
Run <code>craft | Run <code>craft kde/applications/kdeconnect-kde</code> to build KDE Connect on macOS. | ||
If all is well, the last output could be <pre>*** Craft all succeeded: | If all is well, the last output could be <pre>*** Craft all succeeded: kde/applications/kdeconnect-kde after 1 minute 51 seconds ***</pre> | ||
Then you'll get your own build of KDE Connect on macOS in <code>/Users/<username>/CraftRoot/build/ | Then you'll get your own build of KDE Connect on macOS in <code>/Users/<username>/CraftRoot/build/kde/applications/kdeconnect-kde/image-RelWithDebInfo-master/</code>. But you don't really need handle with it. Just continue... | ||
Run <code>craft --package | Run <code>craft --package kde/applications/kdeconnect-kde</code> to pack KDE Connect to a single application package. | ||
This will be a long process(tested on Mac Mini 2012 fusion driver, 3 minutes 25 seconds). | This will be a long process(tested on Mac Mini 2012 fusion driver, 3 minutes 25 seconds). | ||
Line 44: | Line 47: | ||
== Launch on macOS == | == Launch on macOS == | ||
Double click to mount the DMG image, drag it into Applications folder. Then you can see it on your Dashboard. | Double click to mount the DMG image, drag it into Applications folder. Then you can see it on your Dashboard. | ||
[[File:KDE_Connect_in_the_macOS_Dashboard.png]] | |||
Open and enjoy the connection between your Mac and your Android phone! | Open and enjoy the connection between your Mac and your Android phone! | ||
[[File:KDE_Connect_macOS_Launch.png]] | |||
The build is passed on macOS 10.14.5 with Xcode 10.1. Feel easy to test it on other versions. | The build is passed on macOS 10.14.5 with Xcode 10.1. Feel easy to test it on other versions. |
Latest revision as of 07:03, 17 October 2021
[Note] Building on macOS is still an experimental feature, it's not stable and could not be launched as other applications on macOS. Please do not use it in your production environment !
Prerequisite
- Install Xcode from App Store
- Install Xcode command line tools with
xcode-select --install
- Install Python 3 from Python Homepage, Homebrew or MacPorts. Validate your python install with following command:
which python3
- As of September 30, 2021, to fix 'curl: (60) SSL certificate problem: certificate has expired', depending on MacOS version:
- MacOS <=10.11: trust the Let’s Encrypt ISRG Root X1 certificate
- MacOS 10.13-10.15.5: update the system's OpenSSL trusted roots bundle, delete the expired DST Root CA X3 certificate from the system's OpenSSL trusted roots bundle, use an updated trusted root bundle, or use an updated version of curl from eg. brew or MacPorts.
Setting up Craft environment
Once all prerequisites are satisfied, install Craft
curl https://raw.githubusercontent.com/KDE/craft/master/setup/CraftBootstrap.py -o setup.py && python3 setup.py --prefix ~/CraftRoot
With this command, Craft will be installed in ~/CraftRoot
. You can change the directory after --prefix
to install Craft to another directory.
After a long installation, the final output should be this:
Craft : /Users/<username>/CraftRoot Version : master ABI : macos-64-clang Download directory : /Users/<username>/CraftRoot/download Setup complete Please run the following command to get started: source /Users/<username>/CraftRoot/craft/craftenv.sh
Then, you can execute source /Users/<username>/CraftRoot/craft/craftenv.sh
to enter the Craft environment.
Fetching source code and building
Make sure you are in the Craft environment. There could be a CRAFT:
prefix in front of your prompt, like this:
Run craft kde/applications/kdeconnect-kde
to build KDE Connect on macOS.
If all is well, the last output could be
*** Craft all succeeded: kde/applications/kdeconnect-kde after 1 minute 51 seconds ***
Then you'll get your own build of KDE Connect on macOS in /Users/<username>/CraftRoot/build/kde/applications/kdeconnect-kde/image-RelWithDebInfo-master/
. But you don't really need handle with it. Just continue...
Run craft --package kde/applications/kdeconnect-kde
to pack KDE Connect to a single application package.
This will be a long process(tested on Mac Mini 2012 fusion driver, 3 minutes 25 seconds).
After that, you will get a DMG image file in /Users/<username>/CraftRoot/tmp/
.
Launch on macOS
Double click to mount the DMG image, drag it into Applications folder. Then you can see it on your Dashboard.
Open and enjoy the connection between your Mac and your Android phone!
The build is passed on macOS 10.14.5 with Xcode 10.1. Feel easy to test it on other versions.