name: fluffychat
base: core18
adopt-info: version
summary: The cutest messenger in the Matrix network
description: |
  FluffyChat is an open source, nonprofit and cute matrix messenger app. The app is easy to use but secure and decentralized.


  ## Features

  - Send all kinds of messages, images and files
  - Voice messages
  - Location sharing
  - Push notifications
  - Unlimited private and public group chats
  - Public channels with thousands of participants
  - Feature rich group moderation including all matrix features
  - Discover and join public groups
  - Dark mode
  - Hides complexity of Matrix IDs behind simple QR codes
  - Custom emotes and stickers
  - Video calls via sharing links to Jitsi
  - Spaces
  - Compatible with Element, Nheko, NeoChat and all other Matrix apps
  - End to end encryption
  - Emoji verification & cross signing
  - And much more...


  ## FluffyChat comes with a dream

  Imagine a world where everyone can choose the messenger they like and is still able to chat with all of their friends.

  A world where there are no companies spying on you when you send selfies to friends and lovers.

  And a world where apps are made for fluffyness and not for profit. ♥

  Join the community: https://matrix.to/#/#fluffychat:matrix.org
  Website: http://fluffychat.im
  Microblog: https://metalhead.club/@krille

grade: stable
confinement: strict

architectures:
  - build-on: amd64

parts:
  olm:
    plugin: cmake
    source: https://gitlab.matrix.org/matrix-org/olm.git
    source-type: git
    source-tag: 3.2.3
    build-packages:
      - g++
  version:
    plugin: dump
    source: .
    override-build: |
      snapcraftctl set-version $(git describe --always --tag)
  fluffychat:
    plugin: dump
    source: ./build/linux/x64/release/bundle/
    build-packages:
      - libsecret-1-dev
      - libjsoncpp-dev
    stage-packages:
      - libsecret-1-dev
      - libjsoncpp-dev
  gnome-3-28-extension:
    build-packages:
      - gcc
      - libgtk-3-dev
    make-parameters:
      - PLATFORM_PLUG=gnome-3-28-1804
    plugin: make
    source: $SNAPCRAFT_EXTENSIONS_DIR/desktop
    source-subdir: gnome

slots:
  dbus-svc:
    interface: dbus
    bus: session
    name: chat.fluffy.fluffychat

apps:
  fluffychat:
    command: fluffychat
    plugs:
      - desktop
      - desktop-legacy
      - gsettings
      - opengl
      - wayland
      - x11
      - network
      - home
    slots:
      - dbus-svc
    command-chain:
      - snap/command-chain/desktop-launch
assumes:
  - snapd2.43
plugs:
  gnome-3-28-1804:
    default-provider: gnome-3-28-1804
    interface: content
    target: $SNAP/gnome-platform
  gtk-3-themes:
    default-provider: gtk-common-themes
    interface: content
    target: $SNAP/data-dir/themes
  icon-themes:
    default-provider: gtk-common-themes
    interface: content
    target: $SNAP/data-dir/icons
  sound-themes:
    default-provider: gtk-common-themes
    interface: content
    target: $SNAP/data-dir/sounds
environment:
  SNAP_DESKTOP_RUNTIME: $SNAP/gnome-platform
layout:
  /usr/share/xml/iso-codes:
    bind: $SNAP/gnome-platform/usr/share/xml/iso-codes
