Page MenuHomePhorge

D370.1793247795.diff
No OneTemporary

Authored By
Unknown
Size
1 KB
Referenced Files
None
Subscribers
None

D370.1793247795.diff

diff --git a/.gitignore b/.gitignore
--- a/.gitignore
+++ b/.gitignore
@@ -11,6 +11,7 @@
packaging/GNU-Linux/flatpak/venv
packaging/GNU-Linux/flatpak/flatpak-build
packaging/GNU-Linux/flatpak/vodozemac-bindings
+packaging/Android/dist
*.pyc
*.pyo
__pycache__
diff --git a/packaging/Android/Containerfile b/packaging/Android/Containerfile
new file mode 100644
--- /dev/null
+++ b/packaging/Android/Containerfile
@@ -0,0 +1,26 @@
+FROM invent-registry.kde.org/sysadmin/ci-images/android-qt611 AS build
+
+ARG TARGET_ARCH=arm64
+
+RUN python3 -c "$(curl https://invent.kde.org/packaging/craft/-/raw/master/setup/CraftBootstrap.py)" --use-defaults --prefix ~/CraftRoot && \
+ sed -i "s|^ABI = .*|ABI = android-clang-${TARGET_ARCH}|" ~/CraftRoot/etc/CraftSettings.ini
+
+# Craft's initialization depends on Bash
+RUN /bin/bash -lc " \
+ source ~/CraftRoot/craft/craftenv.sh && \
+ craft --add-blueprint-repository 'https://lily-is.land/kazv/craft-blueprints-project-kazv.git|servant|' && \
+ # Craft's Boost doesn't include Boost.Hana by default
+ craft --fetch libs/boost && craft --unpack libs/boost && \
+ cp -a ~/CraftRoot/build/libs/boost/work/boost-1.86.0/libs/hana/include ~/CraftRoot && \
+ craft --install-deps kazv"
+
+COPY . /home/user/kazv
+
+RUN /bin/bash -lc " \
+ source ~/CraftRoot/craft/craftenv.sh && \
+ craft --option kazv.srcDir=/home/user/kazv kazv && \
+ craft --package --option kazv.srcDir=/home/user/kazv kazv"
+
+
+FROM scratch AS artifacts
+COPY --from=build /home/user/CraftRoot/tmp/kazv-*.apk /
diff --git a/packaging/Android/README.md b/packaging/Android/README.md
new file mode 100644
--- /dev/null
+++ b/packaging/Android/README.md
@@ -0,0 +1,9 @@
+# Building Android apk for kazv
+
+In this directory, run
+
+```
+podman build -f Containerfile --target artifacts --output type=local,dest=./dist --build-arg TARGET_ARCH=arm64 ../..
+```
+
+Pass `--build-arg TARGET_ARCH=<arch>` to build for another architecture (`arm32`, `arm64`, `x86_32`, `x86_64`; default `arm64`).

File Metadata

Mime Type
text/plain
Expires
Wed, Oct 28, 9:23 PM (18 h, 14 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1798673
Default Alt Text
D370.1793247795.diff (1 KB)

Event Timeline