|
|
Developers primarily use the [PinePhone](https://www.pine64.org/pinephone/) and [PinePhone Pro](https://www.pine64.org/pinephonepro/) for development to due to wide community support, but other devices can be used as well.
|
|
|
|
|
|
The process of testing the shell on device heavily depends on the distribution you use. Below are some recommended setups to do so.
|
|
|
|
|
|
## postmarketOS
|
|
|
|
|
|
postmarketOS provides a developer repository where KDE packages are built from Git master regularly, see more details on how to install it [here](https://wiki.postmarketos.org/wiki/Nightly).
|
|
|
|
|
|
postmarketOS also has robust cross-compiling tools that can allow contributors to build the the shell package on their computer, and then transfer and install it on devices running the OS.
|
|
|
The project also has **cross-compiling** tools that allows developers to build packages on their computer, and install them onto devices over USB.
|
|
|
|
|
|
We assume you first have [pmbootstrap](https://wiki.postmarketos.org/wiki/Pmbootstrap) setup on your machine.
|
|
|
|
|
|
First clone the postmarketos package manifest repository:
|
|
|
|
|
|
```bash
|
|
|
$ mkdir -p ~/kde # You can really put this anywhere, but let's assume ~/kde/pmaports for this tutorial
|
|
|
$ cd ~/kde
|
|
|
|
|
|
$ git clone https://gitlab.com/postmarketOS/pmaports.git
|
|
|
$ git checkout kde-nightly
|
|
|
```
|
|
|
|
|
|
Then, we can build:
|
|
|
|
|
|
TODO
|
|
|
```bash
|
|
|
# Replace "8" with the number of threads to use while compiling
|
|
|
# Replace "~/kde/src/plasma-mobile" with the location of the source code to build on your computer
|
|
|
$ pmbootstrap -j 8 -t 3600 -v \
|
|
|
-p ~/kde/pmaports \ # location of package manifests
|
|
|
-mp "https://nightly.postmarketos.org/plasma-mobile/packages/" \ # Mirror of nightly packages (so we don't cross-compile everything)
|
|
|
-mp "http://mirror.postmarketos.org/postmarketos/" \ # Mirror of all other packages
|
|
|
build plasma-mobile --src ~/kde/src/plasma-mobile --arch aarch64
|
|
|
```
|
|
|
|
|
|
Example for `kwin`:
|
|
|
Now, with a phone running postmarketOS connected by USB, we can load our built package onto it:
|
|
|
|
|
|
```
|
|
|
$ pmbootstrap newapkbuild kwin
|
|
|
$ nano ~/.local/var/pmbootstrap/cache_git/pmaports/main/kwin/APKBUILD # add APKBUILD from https://gitlab.com/postmarketOS/pmaports/-/blob/kde-nightly/kde-nightly/kwin/APKBUILD
|
|
|
$ pmbootstrap -j 32 -t 3600 -v -mp "https://nightly.postmarketos.org/plasma-mobile/packages/" -mp "http://mirror.postmarketos.org/postmarketos/" build kwin --src ~/kde/src/kwin --arch aarch64
|
|
|
$ pmbootstrap sideload kwin # load onto phone
|
|
|
$ pmbootstrap sideload plasma-mobile
|
|
|
```
|
|
|
|
|
|
https://wiki.postmarketos.org/wiki/Installing_packages_on_a_running_phone
|
|
|
See [here](https://wiki.postmarketos.org/wiki/Installing_packages_on_a_running_phone) for more details.
|
|
|
|
|
|
## Manjaro
|
|
|
|
... | ... | |