From c5d8afbc4ddf74dc0479ab9d4b96d2cd2b237f09 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Tue, 19 May 2026 06:08:55 +0900 Subject: [PATCH] chore: build dependencies into distribution tarball --- .gitignore | 1 + DEVELOPERS.md | 9 +++++++-- scripts/release.py | 10 ++++++++-- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 73744d0..78fde29 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ uv.lock .coverage pyapp-latest/ dist/ +cpython diff --git a/DEVELOPERS.md b/DEVELOPERS.md index 1b79308..49f9e49 100644 --- a/DEVELOPERS.md +++ b/DEVELOPERS.md @@ -14,5 +14,10 @@ sphinx-build -M html source build -a # Building standalone DZGUI release binaries 1. Run `./scripts/dl_pyapp.sh` -2. Run `python3 scripts/release.py` -3. Generate a release and tag against the bundled `dzgui` executable +# TODO: secondary script that packs this archive +2. Download cpython 3.13, linux, gnu, v3 +https://github.com/astral-sh/python-build-standalone/releases/download/20251014/cpython-3.13.9%2B20251014-x86_64_v3-unknown-linux-gnu-install_only_stripped.tar.gz +3. Explicitly install dependencies into site-packages +4. Pack back into a tarball +5. Run `python3 scripts/release.py` +6. Generate a release and tag against the bundled `dzgui` executable diff --git a/scripts/release.py b/scripts/release.py index e4768b2..a672f6d 100644 --- a/scripts/release.py +++ b/scripts/release.py @@ -26,9 +26,15 @@ env["PYAPP_PROJECT_VERSION"] = version env["PYAPP_PROJECT_NAME"] = appname env["PYAPP_EXEC_SPEC"] = entrypoint env["PYAPP_PROJECT_PATH"] = wheel -env["PYAPP_DISTRIBUTION_EMBED"] = "true" -env["PYAPP_PYTHON_VERSION"] = "3.13" env["PYAPP_PASS_LOCATION"] = "true" +# env["PYAPP_PYTHON_VERSION"] = "3.13" + +# NOTE: explicitly install all dependencies into distribution +env["PYAPP_SKIP_INSTALL"] = "true" +env["PYAPP_DISTRIBUTION_EMBED"] = "true" +env["PYAPP_FULL_ISOLATION"] = "true" +env["PYAPP_DISTRIBUTION_PATH"] = "cpython/airgapped.tar.gz" +env["PYAPP_DISTRIBUTION_PYTHON_PATH"] = "python/bin/python3" proc = subprocess.run(["cargo", "build", "--release"], env=env, cwd=pyapp_dir) if proc.returncode == 0: