Here is what I did to build ownKeepass for aarch64.
I think the biggest problem people that want to repeat these steps will face is that I’m using my own build environment (Sailfish OS Builds in Docker). I will not go into the reasons why here, but I suggest first trying to repeat these steps in the same environment and then porting it to what most people use (which is the official Sailfish OS SDK I think).
ownKeepass depends on libargon2 and libsodium. In this example we’ll use the RPMs I already uploaded to my repository, but if you’re interested in building them yourself you can check out how I did it (thanks to @abranson for some clarifications!):
Preparing Sailfish OS Builds in Docker
-
mkdir ~/software
(if it does not exist yet) cd ~/software
git clone https://git.sr.ht/~aerique/sfosbid sfosbid-git
cd sfosbid-git
./download.sh
./build.sh -u
./run.sh -u
Preparing the Build Environment
This section assumes you’ve run ./run.sh -u
from the previous section and are
now in the Docker container.
sb2 -t SailfishOS-latest-aarch64 -m sdk-install -R
rpm --import https://sailfish.openrepos.net/openrepos.key
zypper addrepo -f https://sailfish.openrepos.net/aerique/personal-main.repo
zypper install libargon2-devel libsodium-devel libgcrypt-devel
-
exit
- this exits the
sb2
sdk-install
environment from above, it does not exit the Docker container
- this exits the
Building ownKeepass
(This is still in the Docker container.)
We will not use the official repository but @samule’s slightly updated one that has already improved the libgcrypt
situation for us:
cd projects
git clone https://github.com/24mu13/ownkeepass.git ownkeepass-git
cd ownkeepass-git
git submodule update --init --recursive
cd Sailfish
- in
ownKeepass.pro
changeARCH_LIBS
fromarmv7hl
toaarch64
- in
rpm/harbour-ownkeepass.yaml
remove- libargon2
in thePkgCongfigBR
list mb2 -t SailfishOS-latest-aarch64 build
If the build was successfull you’ll have an ownKeepass RPM in the RPMS
directory.