refactor(packaging): created build_runners subfolder

This commit is contained in:
Emendir
2026-03-23 14:46:56 +01:00
parent b62ed343d8
commit 084394f760
45 changed files with 102 additions and 83 deletions

10
.gitignore vendored
View File

@@ -21,12 +21,12 @@ __pycache__
.buildozer
EndraAppdata
packaging/flatpak/build-dir*
packaging/flatpak/.flatpak-builder
.flatpak-builder
packaging/buildozer/bin
packaging/buildozer/.buildozer
packaging/buildozer/.gradle
packaging/build_runners/flatpak/build-dir*
packaging/build_runners/flatpak/.flatpak-builder
packaging/build_runners/buildozer/bin
packaging/build_runners/buildozer/.buildozer
packaging/build_runners/buildozer/.gradle
# <<< CLEANUP
run_pyreverse.sh

18
packaging/Packaging.md Normal file
View File

@@ -0,0 +1,18 @@
## Overview of Packaging System
### Layers of Build Tools/Scripts
1. **Packaging-Toolchains**: Tools, developed by other projects, to package code projects into executable/installable packages. For example:
- pyinstaller
- flatpak-builder
- buildozer
2. **Build-Runners**: Wrapper around packaging-toolchains, consisting of scripts and configuration files for packaging this project specifically, performing the following tasks:
- install prerequisites
- resolve and update python dependencies
- document the exact versions of dependencies produced
- configure packaging toolchains for use in this project
- run packaping toolchains
3. **Orchestration-Scripts**: Wrapper around build-runners, performing:
- decide which build to run on a given platform
- commit reports generated by build-runners to version control
- cross-repo coordination (for contributing via forks): update repos from upstream, push to fork repos, open pull requests

View File

@@ -12,7 +12,7 @@ DOCKER_IMAGE=ghcr.io/kivy/buildozer@sha256:75a1ed9d378489eb281733ae61b1e144ce454
SCRIPT_DIR="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
cd $SCRIPT_DIR
PROJ_DIR=$(realpath $SCRIPT_DIR/../..)
PROJ_DIR=$(realpath $SCRIPT_DIR/../../..)
WORK_DIR=$SCRIPT_DIR
PY_PACKAGE_NAME=$(grep -E '^name\s*=' $PROJ_DIR/pyproject.toml | sed -E 's/name\s*=\s*"(.*)"/\1/')
@@ -23,7 +23,7 @@ APP_VERSION=$(grep -E '^version\s*=' $PROJ_DIR/pyproject.toml | sed -E 's/versio
APK_PATH=$PROJ_DIR/dist/${APP_NAME}_v${APP_VERSION}_android_28_arm64_v8a.apk
# script for generating python requirements
GET_PYTHON_DEPS=$PROJ_DIR/packaging/share/get_python_deps.sh
GET_PYTHON_DEPS=$PROJ_DIR/packaging/build_runners/share/get_python_deps.sh
BUILDOZER_SPEC=$SCRIPT_DIR/buildozer.spec

View File

@@ -38,7 +38,7 @@ version = 0.1
# (list) Application requirements
# comma separated e.g. requirements = sqlite3,kivy
# got python version from buildozer docker image's python version
requirements = android,appdirs==1.4.4,blake3==1.0.8,brenthy_tools_beta==4.0.11,cffi,codec-versioning==0.1.0,coincurve,cytoolz==1.0.1,dataclasses-json==0.6.7,decorate-all==0.1.1,eciespy==0.4.6,emtest==0.1.2,endra==0.6.10,environs==14.6.0,eth-hash,eth-keys==0.7.0,eth-typing==5.2.1,eth-utils==5.3.1,iniconfig==2.1.0,ipfs_tk==0.1.13,ipfs_toolkit==0.6.0rc10,kivy,kivy-garden.qrcode,kivymd,liboqs,liboqs-python,loguru==0.7.3,marshmallow==3.26.2,mmh3==5.2.0,multi_crypt==0.1.3,mypy_extensions==1.1.0,packaging==26.0,pathspec==1.0.4,pluggy==1.6.0,plyer==2.1.0,portalocker==3.2.0,protobuf==6.33.5,pycryptodome==3.23.0,pygments,py_ipfs_node,py-multihash==3.0.0,py-strict-typing==0.1.1,pytest==9.0.2,python3,python-dotenv==1.2.1,qrcode==8.2,rfc3987==1.3.8,termcolor==3.3.0,toolz==1.0.0,tqdm==4.67.3,typing_extensions==4.15.0,typing-inspect==0.9.0,walytis_beta==2.4.38,walytis_beta_embedded==0.0.16,walytis_identities==0.5.3,walytis_mutability==0.1.9,walytis_offchain==0.5.4
requirements = android,appdirs==1.4.4,blake3==1.0.8,brenthy_tools_beta==4.0.11,cffi,codec-versioning==0.1.0,coincurve,cytoolz==1.0.1,dataclasses-json==0.6.7,decorate-all==0.1.1,eciespy==0.4.6,emtest==0.1.2,endra==0.6.10,environs==14.6.0,eth-hash,eth-keys==0.7.0,eth-typing==5.2.1,eth-utils==5.3.1,iniconfig==2.1.0,ipfs_tk==0.1.13,ipfs_toolkit==0.6.0rc10,kivy,kivy-garden.qrcode,kivymd,liboqs,liboqs-python,loguru==0.7.3,marshmallow==3.26.2,mmh3==5.2.1,multi_crypt==0.1.3,mypy_extensions==1.1.0,packaging==26.0,pathspec==1.0.4,pluggy==1.6.0,plyer==2.1.0,portalocker==3.2.0,protobuf==7.34.1,pycryptodome==3.23.0,pygments,py_ipfs_node,py-multihash==3.0.0,py-strict-typing==0.1.1,pytest==9.0.2,python3,python-dotenv==1.2.2,qrcode==8.2,rfc3987==1.3.8,termcolor==3.3.0,toolz==1.0.0,tqdm==4.67.3,typing_extensions==4.15.0,typing-inspect==0.9.0,walytis_beta==2.4.38,walytis_beta_embedded==0.0.16,walytis_identities==0.5.3,walytis_mutability==0.1.9,walytis_offchain==0.5.4
# (str) Custom source folders for requirements

View File

@@ -26,7 +26,7 @@ liboqs
liboqs-python
loguru==0.7.3
marshmallow==3.26.2
mmh3==5.2.0
mmh3==5.2.1
multi_crypt==0.1.3
mypy_extensions==1.1.0
packaging==26.0
@@ -34,7 +34,7 @@ pathspec==1.0.4
pluggy==1.6.0
plyer==2.1.0
portalocker==3.2.0
protobuf==6.33.5
protobuf==7.34.1
pycryptodome==3.23.0
pygments
py_ipfs_node
@@ -42,7 +42,7 @@ py-multihash==3.0.0
py-strict-typing==0.1.1
pytest==9.0.2
python3
python-dotenv==1.2.1
python-dotenv==1.2.2
qrcode==8.2
rfc3987==1.3.8
termcolor==3.3.0

View File

@@ -5,7 +5,7 @@ PYTHON_VERSION="3.11"
# the absolute path of this script's directory
SCRIPT_DIR="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
PROJ_DIR=$(realpath $SCRIPT_DIR/../..)
PROJ_DIR=$(realpath $SCRIPT_DIR/../../..)
DIST_DIR=$PROJ_DIR/dist/
MANIFEST_DIR=$SCRIPT_DIR/manifest/
MANIFEST_GEN_DIR=$MANIFEST_DIR/generated_modules
@@ -37,7 +37,7 @@ export REQS_EXCLUSIONS=$SCRIPT_DIR/requirements-exclusions.txt
# final generated requirements list
export REQS_AUTO=$SCRIPT_DIR/requirements-auto.txt
# script for generating python requirements
GET_PYTHON_DEPS=$PROJ_DIR/packaging/share/get_python_deps.sh
GET_PYTHON_DEPS=$PROJ_DIR/packaging/build_runners/share/get_python_deps.sh
echo "Project: $APP_NAME"
echo "Version: $APP_VERSION"
@@ -126,7 +126,8 @@ if [ "$ARCH" == "x86_64" ]; then
--repo=$FLATPAK_REPO_DIR \
--state-dir=$FLATPAK_STATE_DIR \
$FLATPAK_BUILD_DIR_X86 \
$MANIFEST_FILE # \
$MANIFEST_FILE \
--jobs "$(( $(nproc) - 1 ))" # \
# --sandbox
flatpak build-export $FLATPAK_REPO_DIR $FLATPAK_BUILD_DIR_X86
# bundle for x86_64
@@ -144,7 +145,8 @@ if [ "$ARCH" == "aarch64" ]; then
--repo=$FLATPAK_REPO_DIR \
--state-dir=$FLATPAK_STATE_DIR \
$FLATPAK_BUILD_DIR_AARCH \
$MANIFEST_FILE # \
$MANIFEST_FILE \
--jobs "$(( $(nproc) - 1 ))" # \
# --sandbox
flatpak build-export $FLATPAK_REPO_DIR $FLATPAK_BUILD_DIR_AARCH
# bundle for aarch64

View File

@@ -1,4 +1,4 @@
# Generated by req2flatpak.py --requirements-file /mnt/Uverlin/Programming/Waly/EndraApp/packaging/flatpak/requirements-auto.txt --target-platforms 311-x86_64 311-aarch64 -o /mnt/Uverlin/Programming/Waly/EndraApp/packaging/flatpak/manifest//generated_modules/python3-modules-auto.yml
# Generated by req2flatpak.py --requirements-file /mnt/Uverlin/Programming/Waly/EndraApp/packaging/build_runners/flatpak/requirements-auto.txt --target-platforms 311-x86_64 311-aarch64 -o /mnt/Uverlin/Programming/Waly/EndraApp/packaging/build_runners/flatpak/manifest//generated_modules/python3-modules-auto.yml
name: python3-package-installation
buildsystem: simple
build-commands:
@@ -66,8 +66,8 @@ sources:
url: https://files.pythonhosted.org/packages/71/52/39d20e03abd0ac9159c162ec24b93fbcaa111e8400308f2465432495ca2b/async_generator-1.10-py3-none-any.whl
sha256: 01c7bf666359b4967d2cda0000cc2e4af16a0ae098cbffcb8472fb9e8ad6585b
- type: file
url: https://files.pythonhosted.org/packages/3a/2a/7cc015f5b9f5db42b7d48157e23356022889fc354a2813c15934b7cb5c0e/attrs-25.4.0-py3-none-any.whl
sha256: adcf7e2a1fb3b36ac48d97835bb6d8ade15b8dcce26aba8bf1d14847b57a3373
url: https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl
sha256: c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309
- type: file
url: https://files.pythonhosted.org/packages/4a/45/ec96b29162a402fc4c1c5512d114d7b3787b9d1c2ec241d9568b4816ee23/base58-2.1.1-py3-none-any.whl
sha256: 11a36f4d3ce51dfc1043f3218591ac4eb1ceb172919cebe05b52a5bcc8d245c2
@@ -85,11 +85,11 @@ sources:
url: https://files.pythonhosted.org/packages/e9/91/d19a99171b6c60081eb9f57129cefc391c4a6e65947b22ed2bff4db3ea35/brenthy_tools_beta-4.0.11-py3-none-any.whl
sha256: f0c5b35d243228d32bd306b74942aed6555ff68a720c2e7d41b11fd584491595
- type: file
url: https://files.pythonhosted.org/packages/ed/9e/5faefbf9db1db466d633735faceda1f94aa99ce506ac450d232536266b32/cachetools-7.0.1-py3-none-any.whl
sha256: 8f086515c254d5664ae2146d14fc7f65c9a4bce75152eb247e5a9c5e6d7b2ecf
url: https://files.pythonhosted.org/packages/06/f3/39cf3367b8107baa44f861dc802cbf16263c945b62d8265d36034fc07bea/cachetools-7.0.5-py3-none-any.whl
sha256: 46bc8ebefbe485407621d0a4264b23c080cedd913921bad7ac3ed2f26c183114
- type: file
url: https://files.pythonhosted.org/packages/e6/ad/3cc14f097111b4de0040c83a525973216457bbeeb63739ef1ed275c1c021/certifi-2026.1.4-py3-none-any.whl
sha256: 9943707519e4add1115f44c2bc244f782c0249876bf51b6599fee1ffbedd685c
url: https://files.pythonhosted.org/packages/9a/3c/c17fb3ca2d9c3acff52e30b309f538586f9f5b9c9cf454f3845fc9af4881/certifi-2026.2.25-py3-none-any.whl
sha256: 027692e4402ad994f1c42e52a4997a9763c646b73e4096e4d5d6db8af1d6f0fa
- type: file
url: https://files.pythonhosted.org/packages/b8/56/6033f5e86e8cc9bb629f0077ba71679508bdf54a9a5e112a3c0b91870332/cffi-2.0.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
sha256: 730cacb21e1bdff3ce90babf007d0a0917cc3e6492f336c2f0134101e0944f93
@@ -101,13 +101,13 @@ sources:
only-arches:
- x86_64
- type: file
url: https://files.pythonhosted.org/packages/94/59/2e87300fe67ab820b5428580a53cad894272dbb97f38a7a814a2a1ac1011/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
sha256: 5f819d5fe9234f9f82d75bdfa9aef3a3d72c4d24a6e57aeaebba32a704553aa0
url: https://files.pythonhosted.org/packages/1c/b7/b1a117e5385cbdb3205f6055403c2a2a220c5ea80b8716c324eaf75c5c95/charset_normalizer-3.4.6-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
sha256: 60c74963d8350241a79cb8feea80e54d518f72c26db618862a8f53e5023deaf9
only-arches:
- aarch64
- type: file
url: https://files.pythonhosted.org/packages/6d/fc/de9cce525b2c5b94b47c70a4b4fb19f871b24995c728e957ee68ab1671ea/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
sha256: 840c25fb618a231545cbab0564a799f101b63b9901f2569faecd6b222ac72381
url: https://files.pythonhosted.org/packages/60/ac/3233d262a310c1b12633536a07cde5ddd16985e6e7e238e9f3f9423d8eb9/charset_normalizer-3.4.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
sha256: 9cc4fc6c196d6a8b76629a70ddfcd4635a6898756e2d9cac5565cf0654605d73
only-arches:
- x86_64
- type: file
@@ -185,8 +185,8 @@ sources:
url: https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl
sha256: 771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea
- type: file
url: https://files.pythonhosted.org/packages/fa/5e/f8e9a1d23b9c20a551a8a02ea3637b4642e22c2626e3a13a9a29cdea99eb/importlib_metadata-8.7.1-py3-none-any.whl
sha256: 5a1f80bf1daa489495071efbb095d75a634cf28a8bc299581244063b53176151
url: https://files.pythonhosted.org/packages/38/3d/2d244233ac4f76e38533cfcb2991c9eb4c7bf688ae0a036d30725b8faafe/importlib_metadata-9.0.0-py3-none-any.whl
sha256: 2d21d1cc5a017bd0559e36150c21c830ab1dc304dedd1b7ea85d20f45ef3edd7
- type: file
url: https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl
sha256: f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12
@@ -219,13 +219,13 @@ sources:
url: https://files.pythonhosted.org/packages/be/2f/5108cb3ee4ba6501748c4908b908e55f42a5b66245b4cfe0c99326e1ef6e/marshmallow-3.26.2-py3-none-any.whl
sha256: 013fa8a3c4c276c24d26d84ce934dc964e2aa794345a0f8c7e5a7191482c8a73
- type: file
url: https://files.pythonhosted.org/packages/7b/3e/62f0b5dce2e22fd5b7d092aba285abd7959ea2b17148641e029f2eab1ffa/mmh3-5.2.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
sha256: a7c0c7845566b9686480e6a7e9044db4afb60038d5fabd19227443f0104eeee4
url: https://files.pythonhosted.org/packages/61/b5/f96121e69cc48696075071531cf574f112e1ffd08059f4bffb41210e6fc5/mmh3-5.2.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
sha256: 1d9f9a3ce559a5267014b04b82956993270f63ec91765e13e9fd73daf2d2738e
only-arches:
- aarch64
- type: file
url: https://files.pythonhosted.org/packages/00/7d/b7133b10d12239aeaebf6878d7eaf0bf7d3738c44b4aba3c564588f6d802/mmh3-5.2.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
sha256: 097e13c8b8a66c5753c6968b7640faefe85d8e38992703c1f666eda6ef4c3762
url: https://files.pythonhosted.org/packages/ee/93/723e317dd9e041c4dc4566a2eb53b01ad94de31750e0b834f1643905e97c/mmh3-5.2.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
sha256: db0562c5f71d18596dcd45e854cf2eeba27d7543e1a3acdafb7eef728f7fe85d
only-arches:
- x86_64
- type: file
@@ -235,8 +235,8 @@ sources:
url: https://files.pythonhosted.org/packages/53/b9/03a9da4f5e824e5afe9034bf70182a824ad1e759d5202176c2f6121341a1/multi_crypt-0.1.3-py3-none-any.whl
sha256: bf2b756e78d0c7ef1b450dbb5697d2a31f97a36e9864e47b388f064c3a9f5715
- type: file
url: https://files.pythonhosted.org/packages/07/ad/bd8a1748953a8f7a8167ec7d02eeefbed469595089d75e3fcb53047e7e20/multiaddr-0.1.1-py3-none-any.whl
sha256: d95333effddbd372009dbfce4d2ec922dd633697b6cc89a5af90ae082c4e68d4
url: https://files.pythonhosted.org/packages/b5/13/56e503d01218d1ca27ea9fda862045a4b400cae5e756f47315f5aaba0eee/multiaddr-0.2.0-py3-none-any.whl
sha256: bcff7bf3d7de3d6da0b865b25423bcb411de1d20d70cc6abfacf75170d17866c
- type: file
url: https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl
sha256: 1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505
@@ -262,13 +262,13 @@ sources:
url: https://files.pythonhosted.org/packages/4b/a6/38c8e2f318bf67d338f4d629e93b0b4b9af331f455f0390ea8ce4a099b26/portalocker-3.2.0-py3-none-any.whl
sha256: 3cdc5f565312224bc570c49337bd21428bba0ef363bbcf58b9ef4a9f11779968
- type: file
url: https://files.pythonhosted.org/packages/4e/b1/c79468184310de09d75095ed1314b839eb2f72df71097db9d1404a1b2717/protobuf-6.33.5-cp39-abi3-manylinux2014_aarch64.whl
sha256: 9b71e0281f36f179d00cbcb119cb19dec4d14a81393e5ea220f64b286173e190
url: https://files.pythonhosted.org/packages/eb/9d/aa69df2724ff63efa6f72307b483ce0827f4347cc6d6df24b59e26659fef/protobuf-7.34.1-cp310-abi3-manylinux2014_aarch64.whl
sha256: 5185e0e948d07abe94bb76ec9b8416b604cfe5da6f871d67aad30cbf24c3110b
only-arches:
- aarch64
- type: file
url: https://files.pythonhosted.org/packages/9b/53/a9443aa3ca9ba8724fdfa02dd1887c1bcd8e89556b715cfbacca6b63dbec/protobuf-6.33.5-cp39-abi3-manylinux2014_x86_64.whl
sha256: cbf16ba3350fb7b889fca858fb215967792dc125b35c7976ca4818bee3521cf0
url: https://files.pythonhosted.org/packages/53/1b/3b431694a4dc6d37b9f653f0c64b0a0d9ec074ee810710c0c3da21d67ba7/protobuf-7.34.1-cp310-abi3-manylinux2014_x86_64.whl
sha256: 8ff40ce8cd688f7265326b38d5a1bed9bfdf5e6723d49961432f83e21d5713e4
only-arches:
- x86_64
- type: file
@@ -329,8 +329,8 @@ sources:
url: https://files.pythonhosted.org/packages/33/d0/9297d7d8dd74767b4d5560d834b30b2fff17d39987c23ed8656f476e0d9b/python-baseconv-1.2.2.tar.gz
sha256: 0539f8bd0464013b05ad62e0a1673f0ac9086c76b43ebf9f833053527cd9931b
- type: file
url: https://files.pythonhosted.org/packages/14/1b/a298b06749107c305e1fe0f814c6c74aea7b2f1e10989cb30f544a1b3253/python_dotenv-1.2.1-py3-none-any.whl
sha256: b81ee9561e9ca4004139c6cbba3a238c32b03e4894671e181b671e8cb8425d61
url: https://files.pythonhosted.org/packages/0b/d7/1959b9648791274998a9c3526f6d0ec8fd2233e4d4acce81bbae76b44b2a/python_dotenv-1.2.2-py3-none-any.whl
sha256: 1d8214789a24de455a8b8bd8ae6fe3c6b69a5e3d64aa8a8e5d68e694bbcb285a
- type: file
url: https://files.pythonhosted.org/packages/6d/24/81ebe6a1c00760471a3028a23cbe0b94e5fa2926e5ba47adc895920887bc/pyzbar-0.1.9-py2.py3-none-any.whl
sha256: 4559628b8192feb25766d954b36a3753baaf5c97c03135aec7e4a026036b475d

View File

@@ -19,7 +19,7 @@
<content_attribute id="language-profanity">none</content_attribute>
</content_rating>
<releases>
<release version="0.6.3" date="2026-02-21" />
<release version="0.6.3" date="2026-03-23" />
</releases>
<screenshots>
<screenshot type="default">

View File

@@ -24,7 +24,7 @@ modules:
build-commands:
- autoreconf
- ./configure --prefix=/app
- make -j$(nproc)
- make -j$(nproc -1)
- make install
## required by kivy
@@ -41,7 +41,7 @@ modules:
build-commands:
# - ./autogen.sh
- ./configure --prefix=/app
- make -j$(nproc)
- make -j$(nproc -1)
- make install
# # SDL2 (instead of downloading in build_linux_dependencies.sh)
# - name: sdl2
@@ -52,7 +52,7 @@ modules:
# sha256: 2508c80438cd5ff3bbeb8fe36b8f3ce7805018ff30303010b61b03bb83ab9694
# build-commands:
# - ./configure --prefix=/app --disable-static
# - make -j$(nproc)
# - make -j$(nproc -1)
# - make install
#
# # GStreamer core
@@ -82,7 +82,7 @@ modules:
# sha256: d4fc82893cfb00109578d0a1a2337fb8ca335b3ceccf97b97e5cc7f08e4353e1
# build-commands:
# # Build and install shared library
# - make -j$(nproc) GLEW_DEST=/app LIBDIR=/app/lib
# - make -j$(nproc -1) GLEW_DEST=/app LIBDIR=/app/lib
# - make install GLEW_DEST=/app LIBDIR=/app/lib
#
#
@@ -220,10 +220,10 @@ modules:
build-commands:
- pip3 install --no-build-isolation --prefix=/app --no-deps .
- install -D graphics/endra-icon.svg /app/share/icons/hicolor/scalable/apps/tech.emendir.Endra.svg
- install -D packaging/share/tech.emendir.Endra.desktop /app/share/applications/tech.emendir.Endra.desktop
- install -D packaging/build_runners/share/tech.emendir.Endra.desktop /app/share/applications/tech.emendir.Endra.desktop
sources:
- type: dir
path: ../../..
path: ../../../..
cleanup:
- /share
- /lib/cmake

View File

@@ -2,14 +2,14 @@ annotated-types==0.7.0
anyio==4.12.1
appdirs==1.4.4
async-generator==1.10
attrs==25.4.0
attrs==26.1.0
base58==2.1.1
blake3==1.0.8
brenthy_tools_beta==4.0.11
cachetools==7.0.1
certifi==2026.1.4
cachetools==7.0.5
certifi==2026.2.25
cffi==2.0.0
charset-normalizer==3.4.4
charset-normalizer==3.4.6
codec-versioning==0.1.0
coincurve==21.0.0
Cython==3.0.11
@@ -31,7 +31,7 @@ h11==0.16.0
httpcore==1.0.9
httpx==0.28.1
idna==3.11
importlib_metadata==8.7.1
importlib_metadata==9.0.0
iniconfig==2.3.0
ipfs_node==0.1.12rc6
ipfs_tk==0.1.13
@@ -42,9 +42,9 @@ kivy-garden.qrcode==2021.314
liboqs-python==0.14.1
loguru==0.7.3
marshmallow==3.26.2
mmh3==5.2.0
mmh3==5.2.1
morphys==1.0
multiaddr==0.1.1
multiaddr==0.2.0
multi_crypt==0.1.3
mypy_extensions==1.1.0
netaddr==1.3.0
@@ -54,7 +54,7 @@ pathspec==1.0.4
pluggy==1.6.0
plyer==2.1.0
portalocker==3.2.0
protobuf==6.33.5
protobuf==7.34.1
psutil==7.2.2
py-cid==0.5.0
pycparser==2.23
@@ -68,7 +68,7 @@ py-multihash==3.0.0
py-strict-typing==0.1.1
pytest==9.0.2
python-baseconv==1.2.2
python-dotenv==1.2.1
python-dotenv==1.2.2
PyYAML==6.0.3
pyzbar==0.1.9
pyzmq==27.1.0

View File

@@ -17,7 +17,7 @@ print("PYTHON", sys.executable)
WORK_DIR = os.path.dirname(__file__)
# os.chdir(os.path.dirname(__file__))
PROJ_DIR = os.path.abspath(os.path.join(WORK_DIR, "..", ".."))
PROJ_DIR = os.path.abspath(os.path.join(WORK_DIR, "..", "..", ".."))
# PROJ_DIR = os.path.join(WORK_DIR, "..", "..")
os.chdir(PROJ_DIR)
@@ -27,7 +27,7 @@ ENTRY_POINT = os.path.join(SOURCE_DIR, "main.py")
DIST_DIR = os.path.join(PROJ_DIR, "dist")
assert os.path.exists(os.path.abspath(ENTRY_POINT)), "WRONG PROJECT PATH"
ICON_PATH = os.path.join("packaging", "share", "endra-icon.ico")
ICON_PATH = os.path.join("packaging", "build_runners", "share", "endra-icon.ico")
assert os.path.exists(ICON_PATH)
print("DIST_DIR", DIST_DIR)
if not os.path.exists(DIST_DIR):

View File

@@ -9,7 +9,7 @@ tempdir=$(mktemp -d)
# get the absolute path of this script's directory
SCRIPT_DIR="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
PROJ_DIR=$(realpath $SCRIPT_DIR/../..)
PROJ_DIR=$(realpath "$SCRIPT_DIR/../../../")
DIST_DIR=$PROJ_DIR/dist
if ! [ -e $DIST_DIR ];then
mkdir -p $DIST_DIR
@@ -19,14 +19,14 @@ echo "$PROJ_DIR"
PYTHON="${PYTHON:-python}"
source $PROJ_DIR/packaging/os_prereqs/os_package_utils.sh
source $PROJ_DIR/packaging/os_prereqs/os_platform_info.sh
source "$PROJ_DIR/packaging/os_prereqs/os_package_utils.sh"
source "$PROJ_DIR/packaging/os_prereqs/os_platform_info.sh"
PLATFORM_DIR="$PLATFORM_BASE/$ARCH_DIR"
# Create the architecture-specific directory if it doesn't exist
PLATFORM_REQ_DIR="$PROJ_DIR/packaging/pyinstaller/$PLATFORM_DIR"
PLATFORM_REQ_DIR="$PROJ_DIR/packaging/build_runners/pyinstaller/$PLATFORM_DIR"
if ! [ -e "$PLATFORM_REQ_DIR" ]; then
echo "Creating requirements directory: $PLATFORM_REQ_DIR"
mkdir -p "$PLATFORM_REQ_DIR"
@@ -50,16 +50,16 @@ fi
cp -r $PROJ_DIR/src $tempdir
cp -r $PROJ_DIR/*.toml $tempdir
cp -r $PROJ_DIR/*.txt $tempdir
mkdir $tempdir/packaging
cp -r $PROJ_DIR/packaging/pyinstaller $tempdir/packaging
cp -r $PROJ_DIR/packaging/share $tempdir/packaging
mkdir -p $tempdir/packaging/build_runners
cp -r $PROJ_DIR/packaging/build_runners/pyinstaller $tempdir/packaging/build_runners
cp -r $PROJ_DIR/packaging/build_runners/share $tempdir/packaging/build_runners
# Set up platform-specific requirements paths for get_python_deps.sh
export REQS_MAIN=$PROJ_DIR/requirements.txt
export REQS_MANUAL=$PROJ_DIR/packaging/pyinstaller/$PLATFORM_DIR/requirements-manual.txt
export REQS_EXCLUSIONS=$PROJ_DIR/packaging/pyinstaller/$PLATFORM_DIR/requirements-exclusions.txt
export REQS_AUTO=$PROJ_DIR/packaging/pyinstaller/$PLATFORM_DIR/requirements-auto.txt
GET_PYTHON_DEPS=$PROJ_DIR/packaging/share/get_python_deps.sh
export REQS_MANUAL=$PROJ_DIR/packaging/build_runners/pyinstaller/$PLATFORM_DIR/requirements-manual.txt
export REQS_EXCLUSIONS=$PROJ_DIR/packaging/build_runners/pyinstaller/$PLATFORM_DIR/requirements-exclusions.txt
export REQS_AUTO=$PROJ_DIR/packaging/build_runners/pyinstaller/$PLATFORM_DIR/requirements-auto.txt
GET_PYTHON_DEPS=$PROJ_DIR/packaging/build_runners/share/get_python_deps.sh
if ! [ -e $REQS_MANUAL ];then
touch $REQS_MANUAL
@@ -76,7 +76,7 @@ if [ $USE_VENV -eq 1 ];then
if [ $OS = "Windows" ];then
source $PY_VENV_DIR/Scripts/activate
echo "Recommended execution:"
echo 'PATH=/c/Program\ Files/liboqs/bin:$PATH PYTHON=/c/Python313/python /z/Programming/Waly/EndraApp/packaging/pyinstaller/build_pyinstaller.sh'
echo 'PATH=/c/Program\ Files/liboqs/bin:$PATH PYTHON=/c/Python313/python /z/Programming/Waly/EndraApp/packaging/build_runner/pyinstaller/build_pyinstaller.sh'
else
source $PY_VENV_DIR/bin/activate
fi
@@ -96,7 +96,7 @@ $GET_PYTHON_DEPS
{ echo "# $(date '+%Y-%m-%d %H:%M:%S')"; cat $REQS_AUTO; } > script.tmp && mv script.tmp $REQS_AUTO
# Build with PyInstaller
IPFS_TK_MODE=EMBEDDED WALYTIS_BETA_API_TYPE=WALYTIS_BETA_DIRECT_API $PYTHON packaging/pyinstaller/build_pyinstaller.py
IPFS_TK_MODE=EMBEDDED WALYTIS_BETA_API_TYPE=WALYTIS_BETA_DIRECT_API $PYTHON packaging/build_runners/pyinstaller/build_pyinstaller.py
echo $tempdir/dist
cp -r $tempdir/dist/* $PROJ_DIR/dist/

View File

@@ -1,16 +1,16 @@
# 2026-02-21 19:39:34
# 2026-03-23 15:03:57
annotated-types==0.7.0
anyio==4.12.1
appdirs==1.4.4
async-generator==1.10
attrs==25.4.0
attrs==26.1.0
base58==2.1.1
blake3==1.0.8
brenthy_tools_beta==4.0.11
cachetools==7.0.1
certifi==2026.1.4
cachetools==7.0.5
certifi==2026.2.25
cffi==2.0.0
charset-normalizer==3.4.4
charset-normalizer==3.4.6
codec-versioning==0.1.0
coincurve==21.0.0
cytoolz==1.1.0
@@ -31,7 +31,7 @@ h11==0.16.0
httpcore==1.0.9
httpx==0.28.1
idna==3.11
importlib_metadata==8.7.1
importlib_metadata==9.0.0
iniconfig==2.3.0
ipfs_node==0.1.12rc6
ipfs_tk==0.1.13
@@ -42,9 +42,9 @@ kivy-garden.qrcode==2021.314
liboqs-python==0.14.1
loguru==0.7.3
marshmallow==3.26.2
mmh3==5.2.0
mmh3==5.2.1
morphys==1.0
multiaddr==0.1.1
multiaddr==0.2.0
multi_crypt==0.1.3
mypy_extensions==1.1.0
netaddr==1.3.0
@@ -54,7 +54,7 @@ pathspec==1.0.4
pluggy==1.6.0
plyer==2.1.0
portalocker==3.2.0
protobuf==6.33.5
protobuf==7.34.1
psutil==7.2.2
py-cid==0.5.0
pycparser==3.0
@@ -68,13 +68,13 @@ py-multihash==3.0.0
py-strict-typing==0.1.1
pytest==9.0.2
python-baseconv==1.2.2
python-dotenv==1.2.1
python-dotenv==1.2.2
pyzbar==0.1.9
pyzmq==27.1.0
qrcode==8.2
requests==2.32.5
rfc3987==1.3.8
setuptools==82.0.0
setuptools==82.0.1
six==1.17.0
sniffio==1.3.1
sortedcontainers==2.4.0

View File

Before

Width:  |  Height:  |  Size: 184 KiB

After

Width:  |  Height:  |  Size: 184 KiB

View File

@@ -3,7 +3,6 @@
# the absolute path of this script's directory
_SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 ; pwd -P )"
PROJ_DIR="$( cd -- "${_SCRIPT_DIR}/../../" >/dev/null 2>&1 ; pwd -P )"
check_commands() {