# Generated by scripts/sync_flatpak_deps.py from requirements/runtime.txt, the # hash-pinned export `just lock` writes out of uv.lock. Run `just flatpak-deps` # after any dependency change; `just flatpak-deps-check` and # tests/test_flatpak_packaging.py fail when this file falls behind. # # Do not hand-edit the url/sha256 pairs. Every other line is hand-written and # the script preserves it: pywhispercpp needs a Vulkan build, a version # injected into setup.py, and whisper.cpp's shared libraries symlinked onto # the loader path, none of which a generator produces. name: python3-dependencies buildsystem: simple build-commands: [] modules: - name: python3-pywhispercpp buildsystem: simple build-commands: # The PyPI sdist derives its version from git metadata, which is absent in # the offline Flatpak build, so inject the version explicitly. --no-same-owner # stops GNU tar from trying to restore the archive's uid inside the build # sandbox (where chown to an arbitrary uid is not permitted). - tar --no-same-owner -xzf pywhispercpp-1.5.0.tar.gz # The build runs under --no-build-isolation, where setuptools-scm is absent, # so a replace that matched nothing would not fail -- it would produce a wheel # carrying version 0.0.0. recognition_manager.py reads that metadata and # degrades GPU context_params below the floor in pyproject.toml, silently. # Assert the shape instead. - python3 -c "from pathlib import Path; p = Path('pywhispercpp-1.5.0/setup.py'); s = p.read_text(); n = 'setup(\\n name=\"pywhispercpp\",'; assert n in s, 'pywhispercpp setup.py no longer matches the injection point'; p.write_text(s.replace(n, n + '\\n version=\"1.5.0\",'))" - tar --owner=0 --group=0 -czf pywhispercpp-1.5.0.tar.gz pywhispercpp-1.5.0 # GGML_NATIVE is ggml's default and compiles libggml-cpu with # -march=native, so the package inherits whichever instruction set the # Flatpak builder has. An AVX-512 builder ships a binary that SIGILLs on # any CPU without it (#938). GGML_NATIVE=OFF alone is not the portable # baseline either: while the native default is on, ggml turns every # GGML_* SIMD option on and still compiles -mavx2 -mfma, dying the same # way on pre-Haswell CPUs (#957). Each option is pinned off for the # plain x86-64 baseline. - PYWHISPERCPP_VERSION=1.5.0 NO_REPAIR=1 GGML_VULKAN=1 CMAKE_ARGS="-DGGML_NATIVE=OFF -DGGML_SSE42=OFF -DGGML_AVX=OFF -DGGML_AVX2=OFF -DGGML_BMI2=OFF -DGGML_FMA=OFF -DGGML_F16C=OFF" pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} "pywhispercpp" --no-build-isolation # whisper.cpp installs its shared libraries next to the extension module. # Symlink them onto the default loader path so the extension resolves them # without a runtime LD_LIBRARY_PATH, regardless of the SDK's Python minor # version or the exact whisper.cpp soname. - | set -eu sitedir="$(find "${FLATPAK_DEST}/lib" -maxdepth 2 -type d -name site-packages | head -n1)" echo "Linking whisper.cpp libraries from: ${sitedir}" find "${sitedir}" -maxdepth 2 \( -name 'libggml*.so*' -o -name 'libwhisper*.so*' \) \ -exec ln -sf {} "${FLATPAK_DEST}/lib/" \; ls -l "${FLATPAK_DEST}/lib/" | grep -E 'libggml|libwhisper' || true sources: - &id002 type: file url: https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl sha256: 62f22742b58a1a33014a2b6b706588a8d7e2a88ae7bd1a6ebe8c992928483775 - &id003 type: file url: https://files.pythonhosted.org/packages/cc/61/d01fc49b8dea277640b55a9e15960dbca9fdc8c9fde18e572d39c59f4019/charset_normalizer-3.5.1-py3-none-any.whl sha256: 6df0ec430f9a831772c23ca5a224cba36517a58a84bb32c32bb59a9fa67c47f6 - &id004 type: file url: https://files.pythonhosted.org/packages/57/b0/0e52c878c53f245edd3a11020f20979b3f490f245af532c7cae3027754b5/idna-3.19-py3-none-any.whl sha256: 815e7be7a7806d54abb586dc943addc79e8b2ee16915059658cbeff4b1b43bf4 - &id008 type: file url: https://files.pythonhosted.org/packages/9a/80/db0b4559e57ec36362bedbb05530a87fafbcb6067708c946967a41d449e7/numpy-2.5.2.tar.gz sha256: d482d171c406ae88c5b19cad3b6a1c4c5209f886ab74bc44c2c865c23f52d860 - type: file url: https://files.pythonhosted.org/packages/19/a9/c34aebedd3a4c9afe5101b1b8713710b3fec18087c8a36c35d2f909861bd/platformdirs-4.11.3-py3-none-any.whl sha256: 5ed065d443751de711da036041a7a214122efc4a4de393b3f4137ba5576540e7 - type: file url: https://files.pythonhosted.org/packages/1c/43/8778f0685a4d32d74efdfa78fc5f745ca9998d96f8121dbf7793db2da5d3/pywhispercpp-1.5.0.tar.gz sha256: 5aa54c73ec96617d97aa519dbbf817e44255eddd9bd52ee1243be61028dbd018 - &id005 type: file url: https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl sha256: 2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0 - &id007 type: file url: https://files.pythonhosted.org/packages/f9/1c/01bfd571a64e7f270e6bab5e33777debe0edc56759233ce84f27dec92d14/tqdm-4.70.0-py3-none-any.whl sha256: 7f585706bfddbdebf89daac705b2dfcc16890130727d3197ca62c732b4310953 - &id006 type: file url: https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl sha256: 9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897 - name: python3-pynput buildsystem: simple build-commands: - pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} "pynput" --no-build-isolation sources: - &id001 type: file url: https://files.pythonhosted.org/packages/a5/f5/397b61091120a9ca5001041dd7bf76c385b3bfd67a0e5bcb74b852bd22a4/evdev-1.9.3.tar.gz sha256: 2c140e01ac8437758fa23fe5c871397412461f42d421aa20241dc8fe8cfccbc9 - type: file url: https://files.pythonhosted.org/packages/6d/98/bbeb760852adb27f166ce1617f0e51aabb15f21b1e60ea703f2aed3c78ac/pynput-1.8.2-py2.py3-none-any.whl sha256: 8cc38cf13a6ab2749cb375678be8a0fd705d7ce49c8001ff5db4007a723bbef1 - &id009 type: file url: https://files.pythonhosted.org/packages/fc/b8/ff33610932e0ee81ae7f1269c890f697d56ff74b9f5b2ee5d9b7fa2c5355/python_xlib-0.33-py2.py3-none-any.whl sha256: c3534038d42e0df2f1392a1b30a15a4ff5fdc2b86cfa94f072bf11b10a164398 - &id010 type: file url: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl sha256: 4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274 - name: python3-evdev buildsystem: simple build-commands: - pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} "evdev" --no-build-isolation sources: - *id001 - name: python3-requests buildsystem: simple build-commands: - pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} "requests" --no-build-isolation sources: - *id002 - *id003 - *id004 - *id005 - *id006 - name: python3-pysocks buildsystem: simple build-commands: - pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} "pysocks" --no-build-isolation sources: - type: file url: https://files.pythonhosted.org/packages/8d/59/b4572118e098ac8e46e399a1dd0f2d85403ce8bbaad9ec79373ed6badaf9/PySocks-1.7.1-py3-none-any.whl sha256: 2725bd0a9925919b9b51739eea5f9e2bae91e83288108a9ad338b2e3a4435ee5 - name: python3-tqdm buildsystem: simple build-commands: - pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} "tqdm" --no-build-isolation sources: - *id007 - name: python3-numpy buildsystem: simple build-commands: - pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} "numpy" --no-build-isolation sources: - *id008 - name: python3-pyaudio buildsystem: simple build-commands: - pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} "pyaudio" --no-build-isolation sources: - type: file url: https://files.pythonhosted.org/packages/26/1d/8878c7752febb0f6716a7e1a52cb92ac98871c5aa522cba181878091607c/PyAudio-0.2.14.tar.gz sha256: 78dfff3879b4994d1f4fc6485646a57755c6ee3c19647a491f790a0895bd2f87 - name: python3-python-xlib buildsystem: simple build-commands: - pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} "python-xlib" --no-build-isolation sources: - *id009 - *id010 - name: python3-psutil buildsystem: simple build-commands: - pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} "psutil" --no-build-isolation sources: - type: file url: https://files.pythonhosted.org/packages/aa/c6/d1ddf4abb55e93cebc4f2ed8b5d6dbad109ecb8d63748dd2b20ab5e57ebe/psutil-7.2.2.tar.gz sha256: 0746f5f8d406af344fd547f1c8daa5f5c33dbc293bb8d6a16d80b4bb88f59372 - name: python3-meson-python buildsystem: simple build-commands: - pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} "meson-python" --no-build-isolation sources: - type: file url: https://files.pythonhosted.org/packages/16/7f/d1b0c65b267a1463d752b324f11d3470e30889daefc4b9ec83029bfa30b5/meson_python-0.19.0-py3-none-any.whl sha256: 67b5906c37404396d23c195e12c8825506074460d4a2e7083266b845d14f0298 - &id011 type: file url: https://files.pythonhosted.org/packages/1d/0b/da4851b1e2d9c40c9bd74c0abd94510a7d797da9ccde0a90e8953751ed4a/pyproject_metadata-0.11.0-py3-none-any.whl sha256: 85bbecca8694e2c00f63b492c96921d6c228454057c88e7c352b2077fcaa4096 - name: python3-pyproject-metadata buildsystem: simple build-commands: - pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} "pyproject-metadata" --no-build-isolation sources: - *id011