Skip to content

Commit b0701e9

Browse files
committed
android build: forbid buildozer to install unversioned deps of p4a
While p4a itself does not need ninja in our usage, to build Qt6, we need ninja. However instead of installing it from PyPI, I think debian main is much more trustworthy.
1 parent 6c5b7bf commit b0701e9

3 files changed

Lines changed: 11 additions & 5 deletions

File tree

contrib/android/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,7 @@ RUN apt -y update -qq \
176176
&& apt -y install -qq --no-install-recommends --allow-downgrades \
177177
libopengl-dev \
178178
libegl-dev \
179+
ninja-build \
179180
&& apt -y autoremove \
180181
&& apt -y clean
181182

@@ -225,7 +226,7 @@ RUN /opt/venv/bin/python3 -m pip install --no-build-isolation --no-dependencies
225226
-r /opt/deterministic-build/requirements-build-android.txt
226227

227228
# install buildozer
228-
ENV BUILDOZER_CHECKOUT_COMMIT="4403ecf445f10b5fbf7c74f4621bf2b922ad35b5"
229+
ENV BUILDOZER_CHECKOUT_COMMIT="6242e3e41365e70f76bd18f30992dcc5898ad40e"
229230
# ^ from branch electrum_20240930 (note: careful with force-pushing! see #8162)
230231
RUN cd /opt \
231232
&& git clone https://github.com/spesmilo/buildozer \

contrib/deterministic-build/requirements-build-android.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
appdirs==1.4.4 \
22
--hash=sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41
3+
build==1.4.0 \
4+
--hash=sha256:f1b91b925aa322be454f8330c6fb48b465da993d1e7e7e6fa35027ec49f3c936
35
colorama==0.4.5 \
46
--hash=sha256:e6c6b4334fc50988a639d9b98aa429a0b57da6e17b9a44f0451f930b6967b7a4
57
Cython==0.29.37 \
@@ -10,14 +12,14 @@ MarkupSafe==3.0.3 \
1012
--hash=sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698
1113
packaging==26.2 \
1214
--hash=sha256:ff452ff5a3e828ce110190feff1178bb1f2ea2281fa2075aadb987c2fb221661
13-
pep517==0.13.1 \
14-
--hash=sha256:1b2fa2ffd3938bb4beffe5d6146cbcb2bda996a5a4da9f31abffd8b24e07b317
1515
pexpect==4.9.0 \
1616
--hash=sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f
1717
pip==25.1.1 \
1818
--hash=sha256:3de45d411d308d5054c2168185d8da7f9a2cd753dbac8acbfa88a8909ecd9077
1919
ptyprocess==0.7.0 \
2020
--hash=sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220
21+
pyproject-hooks==1.2.0 \
22+
--hash=sha256:1e859bd5c40fae9448642dd871adf459e5e2084186e8d2c2a79a824c970da1f8
2123
setuptools==80.9.0 \
2224
--hash=sha256:f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c
2325
sh==2.2.2 \

contrib/requirements/requirements-build-android.txt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,16 @@ sh
99
cython<3.0
1010

1111
# needed by python-for-android:
12+
# ref https://github.com/spesmilo/python-for-android/blob/1098be6964cfc2156959e435e81c2c50f8398586/setup.py#L22
13+
# (meson and ninja we skip as not needed)
1214
appdirs
1315
# colorama upper bound to avoid needing hatchling
1416
colorama>=0.3.3,<0.4.6
1517
jinja2
16-
sh>=1.10
17-
pep517
18+
sh>=2,<3.0
1819
toml
20+
build
21+
packaging
1922

2023
# needed for the Qt/QML Android GUI:
2124
# TODO double-check this

0 commit comments

Comments
 (0)