Repository navigation
Expand file tree
/
Copy pathco.hyprlab.Vireo.yml
More file actions
134 lines (131 loc) · 6.82 KB
/
Copy pathco.hyprlab.Vireo.yml
File metadata and controls
134 lines (131 loc) · 6.82 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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# 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)
- --talk-name=org.kde.StatusNotifierWatcher # optional tray icon (#116); absent on plain GNOME
# 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
# Spell-checking dictionaries beyond the runtime's English (#114): a modest
# set of common languages from LibreOffice's collection, installed under
# /app/share/hunspell where enchant (and so both the composer body's WebKit
# checker and the subject line's) finds them via XDG_DATA_DIRS. Renamed to
# canonical lang_REGION codes so enchant's tag lookup matches. Languages
# beyond these still come via the runtime locale extension
# (flatpak config --set extra-languages).
- name: hunspell-dictionaries
buildsystem: simple
build-commands:
- install -d /app/share/hunspell
- install -m644 de/de_DE_frami.dic /app/share/hunspell/de_DE.dic
- install -m644 de/de_DE_frami.aff /app/share/hunspell/de_DE.aff
- install -m644 es/es_ES.dic es/es_ES.aff /app/share/hunspell/
- install -m644 fr_FR/dictionaries/fr.dic /app/share/hunspell/fr_FR.dic
- install -m644 fr_FR/dictionaries/fr.aff /app/share/hunspell/fr_FR.aff
- install -m644 it_IT/it_IT.dic it_IT/it_IT.aff /app/share/hunspell/
- install -m644 nl_NL/nl_NL.dic nl_NL/nl_NL.aff /app/share/hunspell/
- install -m644 pl_PL/pl_PL.dic pl_PL/pl_PL.aff /app/share/hunspell/
- install -m644 pt_BR/pt_BR.dic pt_BR/pt_BR.aff /app/share/hunspell/
- install -m644 pt_PT/pt_PT.dic pt_PT/pt_PT.aff /app/share/hunspell/
- install -m644 ru_RU/ru_RU.dic ru_RU/ru_RU.aff /app/share/hunspell/
- install -m644 sv_SE/dictionaries/sv_SE.dic /app/share/hunspell/sv_SE.dic
- install -m644 sv_SE/dictionaries/sv_SE.aff /app/share/hunspell/sv_SE.aff
- install -m644 uk_UA/uk_UA.dic uk_UA/uk_UA.aff /app/share/hunspell/
sources:
- type: archive
url: https://github.com/LibreOffice/dictionaries/archive/32b006a2c22a4ac7e8ed3f03346f7b3d85a970a4.tar.gz
sha256: cbd790eca560de5e8ec8bd64117a00dfd0bc06b091c8f52d23e44ea00d3e8461
- 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.20.1
commit: bbd45fda108226c1c4d8a238e55a3a5d6153d6a2
# Vendored crate sources for the offline Flatpak build. Generate with:
# flatpak-cargo-generator.py Cargo.lock -o cargo-sources.json
- cargo-sources.json