225 lines
6.7 KiB
YAML
225 lines
6.7 KiB
YAML
# zen-browser snap, (c) Valentin HAUDIQUET
|
|
# inspired from https://github.com/canonical/firefox-snap
|
|
# GNU General Public License version 3
|
|
|
|
name: zen-browser
|
|
version: 1.14.11b
|
|
license: MPL-2.0
|
|
summary: Zen Browser - Welcome to a calmer internet
|
|
description: |
|
|
Zen is a firefox-based browser with the aim of pushing your productivity to a new level!
|
|
confinement: strict
|
|
grade: stable
|
|
base: core24
|
|
source-code: https://github.com/zen-browser/desktop
|
|
compression: lzo
|
|
|
|
apps:
|
|
zen-browser:
|
|
command: zen-browser.launcher
|
|
desktop: usr/share/applications/zen-browser.desktop
|
|
extensions: [gnome]
|
|
environment:
|
|
DICPATH: "$SNAP_COMMON/snap-hunspell"
|
|
GTK_USE_PORTAL: 1
|
|
HOME: "$SNAP_USER_COMMON"
|
|
PIPEWIRE_CONFIG_NAME: "$SNAP/usr/share/pipewire/pipewire.conf"
|
|
PIPEWIRE_MODULE_DIR: "$SNAP/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/pipewire-0.3"
|
|
SPA_PLUGIN_DIR: "$SNAP/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/spa-0.2"
|
|
SPEECHD_ADDRESS: "unix_socket:/run/user/$SNAP_UID/speech-dispatcher/speechd.sock"
|
|
LD_LIBRARY_PATH: $LD_LIBRARY_PATH:$SNAP/usr/lib:$SNAP/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR:$SNAP/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/libproxy
|
|
MOZ_APP_REMOTINGNAME: zen-browser_zen-browser
|
|
slots:
|
|
- mpris
|
|
- dbus-daemon
|
|
plugs:
|
|
- alsa
|
|
- audio-playback
|
|
- audio-record
|
|
- avahi-observe
|
|
- browser-sandbox
|
|
- camera
|
|
- cups-control
|
|
- gsettings
|
|
- hardware-observe
|
|
- home
|
|
- host-hunspell
|
|
- host-usr-share-hunspell
|
|
- joystick
|
|
- login-session-observe
|
|
- mount-observe
|
|
- network
|
|
- network-observe
|
|
- opengl
|
|
- pcscd
|
|
- removable-media
|
|
# - screen-inhibits-control
|
|
- system-packages-doc
|
|
- u2f-devices
|
|
- unity7
|
|
- upower-observe
|
|
|
|
platforms:
|
|
amd64:
|
|
|
|
plugs:
|
|
browser-sandbox:
|
|
interface: browser-support
|
|
allow-sandbox: true
|
|
dot-zen:
|
|
interface: personal-files
|
|
read: [$HOME/.zen]
|
|
etc-zen:
|
|
interface: system-files
|
|
read: [/etc/zen]
|
|
host-hunspell:
|
|
interface: mount-control
|
|
mount:
|
|
- what: /usr/share/hunspell
|
|
where: $SNAP_COMMON/host-hunspell
|
|
persistent: true
|
|
options: [ro, bind, noatime, noexec]
|
|
host-usr-share-hunspell:
|
|
interface: system-files
|
|
read:
|
|
- /var/lib/snapd/hostfs/usr/share/hunspell
|
|
|
|
layout:
|
|
/usr/share/libdrm:
|
|
bind: $SNAP/gnome-platform/usr/share/libdrm
|
|
/usr/share/alsa:
|
|
bind: $SNAP/usr/share/alsa
|
|
/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/opensc-pkcs11.so:
|
|
bind-file: $SNAP/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/opensc-pkcs11.so
|
|
|
|
parts:
|
|
# This is a temporary workaround to including the hunspell content
|
|
# snap, which would cause breakage in the Ubuntu desktop image build
|
|
# because of the Ubuntu policy. See:
|
|
# https://bugzilla.mozilla.org/show_bug.cgi?id=1792006
|
|
#
|
|
# The definition of this part is essentially a copy of the
|
|
# corresponding part in hunspell-dictionaries-1-7-2004 by
|
|
# Buo-ren, Lin.
|
|
hunspell:
|
|
plugin: nil
|
|
override-build: |
|
|
craftctl default
|
|
set -eu
|
|
apt download $(apt-cache search '^hunspell-.*$' |
|
|
awk '!/myspell|dbgsym|tools|transitional|dependency/{printf "%s ", $1}')
|
|
find . -name "*.deb" -exec dpkg-deb -x {} "$CRAFT_PART_INSTALL" \;
|
|
prime:
|
|
- usr/share/hunspell
|
|
|
|
zen-browser:
|
|
plugin: nil
|
|
after:
|
|
- launcher
|
|
- desktop
|
|
- icons
|
|
build-packages:
|
|
- curl
|
|
- tar
|
|
override-build: |
|
|
mkdir -p "$CRAFT_PART_INSTALL/usr/lib"
|
|
curl -L -O https://github.com/zen-browser/desktop/releases/download/$SNAPCRAFT_PROJECT_VERSION/zen.linux-x86_64.tar.xz
|
|
tar xf zen.linux-x86_64.tar.xz -C "$CRAFT_PART_INSTALL/usr/lib"
|
|
prime:
|
|
- usr/lib/zen
|
|
- usr/lib/*/libproxy
|
|
- usr/lib/*/libpci.so.*
|
|
# - usr/lib/*/opensc-pkcs11.so
|
|
# - usr/lib/*/pkcs11/opensc-pkcs11.so
|
|
# - usr/lib/*/libasn1.so.*
|
|
# - usr/lib/*/libcurl.so.*
|
|
# - usr/lib/*/libgssapi.so.*
|
|
# - usr/lib/*/libhcrypto.so.*
|
|
# - usr/lib/*/libheimbase.so.*
|
|
# - usr/lib/*/libheimntlm.so.*
|
|
# - usr/lib/*/libhogweed.so.*
|
|
# - usr/lib/*/libhx509.so.*
|
|
# - usr/lib/*/libkrb5.so.*
|
|
# - usr/lib/*/liblber-2.4.so.*
|
|
# - usr/lib/*/libldap_r-2.4.so.*
|
|
# - usr/lib/*/libnettle.so.*
|
|
# - usr/lib/*/libnghttp2.so.*
|
|
# - usr/lib/*/libpipewire*.so*
|
|
# - usr/lib/*/libroken.so.*
|
|
# - usr/lib/*/librtmp.so.*
|
|
# - usr/lib/*/libsasl2.so.*
|
|
# - usr/lib/*/libspeechd.so.*
|
|
# - usr/lib/*/libssh.so.*
|
|
# - usr/lib/*/libssl.so.*
|
|
# - usr/lib/*/libvulkan*
|
|
# - usr/lib/*/libVkLayer*
|
|
# - usr/lib/*/libwind.so.*
|
|
# - usr/lib/*/libXt.so.*
|
|
# - usr/lib/*/pipewire-*
|
|
# - usr/lib/*/spa-*
|
|
# alsa does not seem to be found
|
|
# - usr/share/alsa
|
|
# - usr/share/pipewire
|
|
# - usr/share/vulkan
|
|
stage-packages:
|
|
- libproxy1v5
|
|
- glib-networking
|
|
- libpci3
|
|
- libasound2
|
|
- libcurl4
|
|
- libpipewire-0.3-0
|
|
- libpipewire-0.3-modules
|
|
- libspa-0.2-modules
|
|
- libspeechd2
|
|
- libvulkan1
|
|
- libxt6
|
|
- mesa-vulkan-drivers
|
|
- pipewire-bin
|
|
- pipewire-pulse
|
|
- opensc-pkcs11
|
|
|
|
desktop:
|
|
plugin: dump
|
|
source: .
|
|
organize:
|
|
zen-browser.desktop: usr/share/applications/zen-browser.desktop
|
|
|
|
launcher:
|
|
plugin: nil
|
|
override-prime: |
|
|
cp "$CRAFT_PROJECT_DIR/zen-browser.launcher" "$CRAFT_PRIME/"
|
|
chmod a+rwx "$CRAFT_PRIME/zen-browser.launcher"
|
|
|
|
icons:
|
|
plugin: nil
|
|
build-packages:
|
|
- inkscape
|
|
- curl
|
|
override-build: |
|
|
curl -L -O https://raw.githubusercontent.com/zen-browser/desktop/refs/heads/dev/docs/assets/zen-dark.svg
|
|
inkscape -w 16 -h 16 "$SNAPCRAFT_PART_BUILD/zen-dark.svg" -o "$CRAFT_PART_INSTALL/16.png"
|
|
inkscape -w 32 -h 32 "$SNAPCRAFT_PART_BUILD/zen-dark.svg" -o "$CRAFT_PART_INSTALL/32.png"
|
|
inkscape -w 48 -h 48 "$SNAPCRAFT_PART_BUILD/zen-dark.svg" -o "$CRAFT_PART_INSTALL/48.png"
|
|
inkscape -w 64 -h 64 "$SNAPCRAFT_PART_BUILD/zen-dark.svg" -o "$CRAFT_PART_INSTALL/64.png"
|
|
inkscape -w 128 -h 128 "$SNAPCRAFT_PART_BUILD/zen-dark.svg" -o "$CRAFT_PART_INSTALL/128.png"
|
|
organize:
|
|
16.png: usr/share/icons/hicolor/16x16/apps/zen-browser.png
|
|
32.png: usr/share/icons/hicolor/32x32/apps/zen-browser.png
|
|
48.png: usr/share/icons/hicolor/48x48/apps/zen-browser.png
|
|
64.png: usr/share/icons/hicolor/64x64/apps/zen-browser.png
|
|
128.png: usr/share/icons/hicolor/128x128/apps/zen-browser.png
|
|
prime:
|
|
- usr/share/icons/*
|
|
|
|
slots:
|
|
dbus-daemon:
|
|
interface: dbus
|
|
bus: session
|
|
name: zen.desktop
|
|
|
|
hooks:
|
|
post-refresh:
|
|
plugs: [host-usr-share-hunspell]
|
|
install:
|
|
plugs: [host-usr-share-hunspell]
|