mirror of
https://github.com/ankitects/anki.git
synced 2026-05-16 04:30:39 -04:00
## Linked issue #4769 ## Summary This switches Anki to use Briefcase for Linux packaging instead of PyInstaller: - Use the default [briefcase-linux-system-template](https://github.com/beeware/briefcase-linux-system-template) with some changes to link the binary against an embedded Python build instead of the system's Python. - Define a custom "zip" output format implemented via a Briefcase plugin. This serves as a replacement for the build.sh script and allows us to bypass the system Python check Briefcase enforces for the default "system" format. ## How to test - Build the zip: `./ninja installer:package`. - Extract the zip under `out/installer/dist`, install and run. - If you have access to a distro with a different system Python version, copy the zip there and confirm it's working.
54 lines
1.1 KiB
TOML
54 lines
1.1 KiB
TOML
[project]
|
|
name = "anki-dev"
|
|
version = "0.0.0"
|
|
description = "Local-only environment"
|
|
requires-python = ">=3.12"
|
|
classifiers = ["Private :: Do Not Upload"]
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"pre-commit",
|
|
"mypy",
|
|
"mypy-protobuf",
|
|
"ruff",
|
|
"pytest",
|
|
"PyChromeDevTools",
|
|
"wheel",
|
|
"hatchling", # for type checking hatch_build.py files
|
|
"mock",
|
|
"types-protobuf",
|
|
"types-requests",
|
|
"types-orjson",
|
|
"types-decorator",
|
|
"types-flask",
|
|
"types-flask-cors",
|
|
"types-markdown",
|
|
"types-waitress",
|
|
"types-pywin32",
|
|
"briefcase>=0.4.0",
|
|
"jinja2",
|
|
]
|
|
docs = [
|
|
"sphinx",
|
|
"myst-parser",
|
|
"sphinx-book-theme",
|
|
"sphinx-autoapi",
|
|
"sphinx-autobuild>=2024.10.3",
|
|
"click-extra[sphinx]", # for GitHub alerts
|
|
]
|
|
|
|
# Local resolution guard; keep in sync with Dependabot cooldown.
|
|
[tool.uv]
|
|
exclude-newer = "7 days"
|
|
exclude-newer-package = { anki-mac-helper = false, anki-audio = false }
|
|
required-version = ">=0.9.25"
|
|
|
|
[tool.uv.workspace]
|
|
members = ["pylib", "qt", "qt/installer/briefcase_plugins"]
|
|
|
|
[[tool.uv.index]]
|
|
name = "testpypi"
|
|
url = "https://test.pypi.org/simple/"
|
|
publish-url = "https://test.pypi.org/legacy/"
|
|
explicit = true
|