From 6efd0498518e42f7369675c41654414ad1beeb9d Mon Sep 17 00:00:00 2001 From: thePR0M3TH3AN <53631862+PR0M3TH3AN@users.noreply.github.com> Date: Sat, 14 Mar 2026 16:37:55 -0400 Subject: [PATCH] feat(packaging): add Flatpak build infrastructure and update release process --- RELEASE.md | 6 +++ packaging/build_flatpak.sh | 35 ++++++++++++++++++ packaging/flatpak/org.voxvera.VoxVera.desktop | 9 +++++ packaging/flatpak/org.voxvera.VoxVera.png | Bin 0 -> 436 bytes packaging/flatpak/org.voxvera.VoxVera.yml | 27 ++++++++++++++ 5 files changed, 77 insertions(+) create mode 100755 packaging/build_flatpak.sh create mode 100644 packaging/flatpak/org.voxvera.VoxVera.desktop create mode 100644 packaging/flatpak/org.voxvera.VoxVera.png create mode 100644 packaging/flatpak/org.voxvera.VoxVera.yml diff --git a/RELEASE.md b/RELEASE.md index 6f2d11a..900cb98 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -54,6 +54,12 @@ Wraps the standard binary into a self-contained AppImage. ./packaging/build_appimage.sh ``` +### Flatpak (Linux) +Generates a standalone `.flatpak` bundle. Requires `flatpak-builder`. +```bash +./packaging/build_flatpak.sh +``` + ## 4. Release Execution 1. **Version Bump:** Update `__version__` in `voxvera/__init__.py` and `version` in `pyproject.toml`. diff --git a/packaging/build_flatpak.sh b/packaging/build_flatpak.sh new file mode 100755 index 0000000..ead41aa --- /dev/null +++ b/packaging/build_flatpak.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +set -e + +# Ensure we are in project root +cd "$(dirname "$0")/.." + +ARCH=$(uname -m) +BINARY="voxvera/resources/bin/voxvera-linux-$ARCH" + +if [ ! -f "$BINARY" ]; then + echo "Binary not found: $BINARY. Run scripts/build_binaries.sh first." >&2 + exit 1 +fi + +if ! command -v flatpak-builder &> /dev/null; then + echo "flatpak-builder not found. Please install it (e.g., sudo apt install flatpak-builder)" >&2 + exit 1 +fi + +echo "Building Flatpak package..." + +BUILD_DIR=build/flatpak-build +REPO_DIR=build/flatpak-repo +MANIFEST=packaging/flatpak/org.voxvera.VoxVera.yml + +# Clean previous +rm -rf "$BUILD_DIR" "$REPO_DIR" + +# Build +flatpak-builder --force-clean --repo="$REPO_DIR" "$BUILD_DIR" "$MANIFEST" + +# Generate a standalone .flatpak file +flatpak build-bundle "$REPO_DIR" voxvera/resources/bin/VoxVera-x86_64.flatpak org.voxvera.VoxVera + +echo "Flatpak bundle created at voxvera/resources/bin/VoxVera-x86_64.flatpak" diff --git a/packaging/flatpak/org.voxvera.VoxVera.desktop b/packaging/flatpak/org.voxvera.VoxVera.desktop new file mode 100644 index 0000000..7c73950 --- /dev/null +++ b/packaging/flatpak/org.voxvera.VoxVera.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Type=Application +Name=VoxVera +Comment=Anonymous message-spreading and flyer-generation tool +Exec=voxvera +Icon=org.voxvera.VoxVera +Categories=Utility;Network; +Terminal=true +StartupWMClass=voxvera diff --git a/packaging/flatpak/org.voxvera.VoxVera.png b/packaging/flatpak/org.voxvera.VoxVera.png new file mode 100644 index 0000000000000000000000000000000000000000..b2e4486542178d5934400a3adcc473ad5dceef18 GIT binary patch literal 436 zcmV;l0ZaagP)qT5<0004dNklfB^Q^1=MF*^+PJ}3#6L^$mX8*(&kVMtm7OAk{~Gn zP)w$%XgL5l;ji}}2TM*%13w`{lSzW{@8P|IP@NU2yq}u(sP0(Ns7ezInb{C?nutNJ%m_-W=#FK17<8v z;u!D-IO|L62tCJR;$UlZA?FGonUCvPq841CV#2*6S6$AsNcqx5`U01rWd=QQ%*=sy z)%)3UoMgmOKeZqk7D5-1LCv-1z+`t}-uo7oO2 zVYU3ame}|QFQ|cwC{lKKQ4yxVB|wXc{CpiEhkL7%p|C(osguhz)3*jcxAu?{e(foD zSi{N5)V^0(04S!1`u;~ri8(tUTwn@54*YPIdh37Z6kJ@AaDyDv% e0NnL1!T1F7Nz+t)gkHV?0000