Initial commit: snap using zen-bin
This commit is contained in:
221
snapcraft.yaml
Normal file
221
snapcraft.yaml
Normal file
@@ -0,0 +1,221 @@
|
||||
# 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
|
||||
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/*/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/*/libpci.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
|
||||
- libasound2
|
||||
- libcurl4
|
||||
- libpci3
|
||||
- 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]
|
Reference in New Issue
Block a user