Source: finbreak
Section: utils
Priority: optional
Maintainer: Anthony Schemel <aant.schemel@gmail.com>
# libgssapi-krb5-2 is NOT optional and NOT obvious: PyInstaller's own Qt hook
# imports QtNetwork to check whether OpenSSL is enabled, and QtNetwork links
# libgssapi_krb5.so.2 -- so the FREEZE dies without it, long before anything
# runs. The .spec's openSUSE branch carries the same dependency as `krb5`.
# Measured 2026-08-31 in a debian:13-slim build root: with it added the freeze
# and the staged --self-test both pass; it is the only library the deb build
# was missing (FIBR-0158).
#
# Build-time: the wider collect-set apt names PyInstaller bundles INTO the payload
# (mirrors _build-smoke-in-container.sh:30-33) + the UNVERSIONED python3 toolchain,
# which floats to each target's own default interpreter (Debian 13 → 3.13,
# Ubuntu 24.04 → 3.12; § 3.6, so no per-target pin). debhelper-compat via this
# field is the current idiom (no debian/compat file).
Build-Depends: debhelper-compat (= 13),
 python3,
 python3-dev,
 python3-venv,
 python3-pip,
 binutils,
 libglib2.0-0,
 libgl1,
 libegl1,
 libdbus-1-3,
 libx11-6,
 libxkbcommon0,
 libxcb-cursor0,
 libxcb-icccm4,
 libxcb-keysyms1,
 libxcb-shape0,
 libxcb-image0,
 libxcb-render-util0,
 libxcb-util1,
 libxcb-render0,
 libxcb-xkb1,
 libx11-xcb1,
 libfreetype6,
 libfontconfig1,
 libbrotli1,
 libharfbuzz0b,
 libgssapi-krb5-2
Standards-Version: 4.7.0
Homepage: https://antsprojectshub.co.za/p/fin-break.html
Rules-Requires-Root: no

Package: finbreak
Architecture: amd64
# Runtime: ONLY the host-left libGL/libEGL pair and the libxkbcommon pair, which
# must match each other (FIBR-0346) — everything else travels in the frozen
# payload (§ 3.5). No ${shlibs:Depends}: dpkg-shlibdeps is scoped away from
# the bundled tree in debian/rules, so the bundled .so's don't leak into Depends.
Depends: libgl1,
 libegl1,
 libxkbcommon0,
 libxkbcommon-x11-0,
 ${misc:Depends}
Description: Private, offline personal-finance desktop app
 finbreak imports bank statements (CSV, OFX, PDF), categorises transactions, and
 shows where your money goes — everything stored locally in an encrypted vault
 (SQLCipher AES-256, Argon2id key). No accounts, no cloud, no tracking.
 .
 The package bundles its own Python runtime and every pinned native dependency,
 so it runs the exact tested closure independent of distro package versions.
