Repository navigation
Expand file tree
/
Copy pathco.hyprlab.Vireo.yml
More file actions
104 lines (101 loc) · 4.88 KB
/
Copy pathco.hyprlab.Vireo.yml
File metadata and controls
104 lines (101 loc) · 4.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# Flatpak manifest for Vireo — builds the self-hosted Flatpak distributed from
# vireo.hyprlab.co. (The GNOME runtime + SDK below come from the flathub *remote* — that
# is just where the org.gnome.Platform runtime is hosted; Vireo itself is not on
# Flathub.)
#
# Local test build (both tools are already installed):
# python3 flatpak-cargo-generator.py Cargo.lock -o cargo-sources.json
# flatpak install flathub org.gnome.Sdk//50 org.gnome.Platform//50 \
# org.freedesktop.Sdk.Extension.rust-stable//25.08
# flatpak-builder --user --install --force-clean build-dir co.hyprlab.Vireo.yml
# flatpak run co.hyprlab.Vireo
id: co.hyprlab.Vireo
runtime: org.gnome.Platform
runtime-version: '50'
sdk: org.gnome.Sdk
sdk-extensions:
- org.freedesktop.Sdk.Extension.rust-stable
command: vireo
finish-args:
- --share=ipc
- --share=network # IMAP/SMTP, OAuth loopback, Gravatar
- --socket=wayland
- --socket=fallback-x11
- --device=dri # WebKit rendering
- --talk-name=org.freedesktop.secrets # keyring: passwords + OAuth tokens
- --talk-name=org.gnome.OnlineAccounts # import GNOME Online Accounts
- --talk-name=org.gnome.Settings # "Open Online Accounts" button
- --talk-name=org.gnome.evolution.dataserver.* # GNOME Contacts (Evolution Data Server)
- --talk-name=org.gnome.Contacts # "Open GNOME Contacts" button (D-Bus activation)
# Deliberately NOT --talk-name=org.freedesktop.Flatpak: that permits
# `flatpak-spawn --host`, i.e. arbitrary command execution outside the
# sandbox, which would make every other restriction here advisory. The
# Contacts button reaches the host app by D-Bus-activating org.gnome.Contacts
# above; that is the path that actually runs.
# Read the host's Evolution Data Server address books (contacts list is read
# from these SQLite caches; the sandbox's own XDG dirs are empty).
- --filesystem=xdg-data/evolution:ro
- --filesystem=xdg-cache/evolution:ro
- --filesystem=xdg-config/evolution:ro
# Read the old Veem app's sandbox data so accounts, settings and cached mail
# migrate automatically on first run (Veem was renamed Vireo in 1.6.0).
- --filesystem=~/.var/app/com.getveem.Veem:ro
build-options:
append-path: /usr/lib/sdk/rust-stable/bin
env:
CARGO_HOME: /run/build/vireo/cargo
# No Google OAuth client is bundled — Google sign-in goes through GNOME Online
# Accounts (the account editor guides users there). Microsoft's client ID is
# built into the source and works out of the box.
modules:
# PDF attachment thumbnails (gallery + in-message drawer) render via
# poppler-glib, which the GNOME runtime doesn't ship — every other library it
# links against (cairo, glib, fontconfig, freetype, gdk-pixbuf) already is.
# Config lifted from flathub's org.gnome.Evince manifest, with
# ENABLE_LIBOPENJPEG turned off to avoid pulling in an openjpeg module too:
# thumbnails don't need JPEG2000 support, just the common image formats.
- name: popplerdata
no-autogen: true
make-install-args:
- prefix=/app
sources:
- type: archive
url: https://poppler.freedesktop.org/poppler-data-0.4.12.tar.gz
sha256: c835b640a40ce357e1b83666aabd95edffa24ddddd49b8daff63adb851cdab74
- name: poppler
buildsystem: cmake-ninja
config-opts:
- -DCMAKE_INSTALL_LIBDIR=/app/lib
- -DCMAKE_INSTALL_INCLUDEDIR=/app/include
- -DBUILD_GTK_TESTS=OFF
- -DBUILD_CPP_TESTS=OFF
- -DENABLE_CPP=OFF
- -DENABLE_BOOST=OFF
- -DENABLE_GOBJECT_INTROSPECTION=OFF
- -DENABLE_LIBOPENJPEG=OFF
- -DENABLE_QT5=OFF
- -DENABLE_QT6=OFF
cleanup:
- /bin
sources:
- type: archive
url: https://poppler.freedesktop.org/poppler-26.07.0.tar.xz
sha256: 304832f48f8a47fdca90c6b6d1f684e68f37c10c9a0726f345f4ca9df4ca01e2
- name: vireo
buildsystem: simple
build-commands:
- cargo --offline fetch --manifest-path Cargo.toml --verbose
- cargo --offline build --release --verbose
- install -Dm755 target/release/vireo /app/bin/vireo
- install -Dm644 data/co.hyprlab.Vireo.desktop /app/share/applications/co.hyprlab.Vireo.desktop
- install -Dm644 data/icons/hicolor/256x256/apps/co.hyprlab.Vireo.png /app/share/icons/hicolor/256x256/apps/co.hyprlab.Vireo.png
- install -Dm644 data/icons/hicolor/512x512/apps/co.hyprlab.Vireo.png /app/share/icons/hicolor/512x512/apps/co.hyprlab.Vireo.png
- install -Dm644 data/co.hyprlab.Vireo.metainfo.xml /app/share/metainfo/co.hyprlab.Vireo.metainfo.xml
sources:
- type: git
url: https://github.com/hyprlab/vireo.git
tag: v1.19.1
commit: bc6085011570de996ba989c89ae4e6406db2bdb2
# Vendored crate sources for the offline Flatpak build. Generate with:
# flatpak-cargo-generator.py Cargo.lock -o cargo-sources.json
- cargo-sources.json