android: build pyqt_builder and sip ourselves, hash pin all hostpython_prerequisites

This commit is contained in:
Sander van Grieken
2026-03-18 23:46:48 +01:00
parent 854f95b794
commit c8f5798d4e
6 changed files with 21 additions and 5 deletions
+1 -1
View File
@@ -235,7 +235,7 @@ RUN cd /opt \
&& /opt/venv/bin/python3 -m pip install --no-build-isolation --no-dependencies -e .
# install python-for-android
ENV P4A_CHECKOUT_COMMIT="3aa0db1ed9b7349625c5fdeff96df4e564403541"
ENV P4A_CHECKOUT_COMMIT="0b9f7e763866cd3533417418d4b31e7b316b624e"
# ^ from branch electrum_202602 (note: careful with force-pushing! see #8162)
RUN cd /opt \
&& git clone https://github.com/spesmilo/python-for-android \
@@ -1,4 +1,5 @@
from pythonforandroid.recipes.pyparsing import PyparsingRecipe
from pythonforandroid.util import HashPinnedDependency
assert PyparsingRecipe._version == "3.0.7"
@@ -15,5 +16,12 @@ class PyparsingRecipePinned(PyparsingRecipe):
# see "PyProjectRecipe" from https://github.com/kivy/python-for-android/pull/3007
sha512sum = "1e692f4cdaa6b6e8ca2729d0a3e2ba16d978f1957c538b6de3a4220ec7d996bdbe87c41c43abab851fffa3b0498a05841373e435602917b8c095042e273badb5"
hostpython_prerequisites = [
HashPinnedDependency(package="setuptools==80.9.0",
hashes=['sha256:062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922']),
HashPinnedDependency(package="pip==24.0",
hashes=['sha256:ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc']),
]
recipe = PyparsingRecipePinned()
@@ -1,13 +1,13 @@
import os
from pythonforandroid.recipes.pyqt6 import PyQt6Recipe
from pythonforandroid.util import load_source
from pythonforandroid.util import load_source, HashPinnedDependency
util = load_source('util', os.path.join(os.path.dirname(os.path.dirname(__file__)), 'util.py'))
assert PyQt6Recipe._version == "6.10.2"
assert PyQt6Recipe.depends == ['qt6', 'pyjnius', 'setuptools', 'pyqt6sip', 'hostpython3', 'python3'], PyQt6Recipe.depends
assert PyQt6Recipe.depends == ['qt6', 'pyjnius', 'setuptools', 'pyqt6sip', 'hostpython3', 'pyqt_builder', 'python3'], PyQt6Recipe.depends
assert PyQt6Recipe.python_depends == []
@@ -1,12 +1,14 @@
from pythonforandroid.recipes.pyqt_builder import PyQtBuilderRecipe
from pythonforandroid.util import HashPinnedDependency
assert PyQtBuilderRecipe._version == "1.19.1"
assert PyQtBuilderRecipe.depends == ["sip", "packaging", "python3"]
assert PyQtBuilderRecipe.depends == ["packaging", "sip", "python3"], PyQtBuilderRecipe.depends
assert PyQtBuilderRecipe.python_depends == []
class PyQtBuilderRecipePinned(PyQtBuilderRecipe):
sha512sum = "2308c51f93c37b1d13f312e4f2475d26b22d374ef284925fead9eab4aa89b994770431aca45170ac2154b4813fff151798f113f56d4cbf6c6e544fb463104a6d"
recipe = PyQtBuilderRecipePinned()
@@ -1,4 +1,5 @@
from pythonforandroid.recipes.setuptools import SetuptoolsRecipe
from pythonforandroid.util import HashPinnedDependency
assert SetuptoolsRecipe._version == "80.9.0"
@@ -7,6 +8,11 @@ assert SetuptoolsRecipe.python_depends == []
class SetuptoolsRecipePinned(SetuptoolsRecipe):
hostpython_prerequisites = [
HashPinnedDependency(package='setuptools==80.9.0',
hashes=[]),
]
sha512sum = "36eb1f219d29c6b9e135936bde2001ad70a971c8069cd0175d3a5325b450e6843a903d3f70043c9f534768ebeab8ab0c544b8f44456555d333f1ed72daa5c18b"
+1 -1
View File
@@ -2,7 +2,7 @@ from pythonforandroid.recipes.sip import SipRecipe
assert SipRecipe._version == "6.15.1"
assert SipRecipe.depends == ["setuptools", "packaging", "tomli", "python3"], SipRecipe.depends
assert SipRecipe.depends == ["setuptools", "packaging", "python3"], SipRecipe.depends
assert SipRecipe.python_depends == []