name: firefox
version: @VERSION@-@BUILD_NUMBER@
summary: Mozilla Firefox web browser
description:  Firefox is a powerful, extensible web browser with support for modern web application technologies.
confinement: strict
grade: stable
base: core20
compression: lzo

apps:
  firefox:
    command: firefox
    command-chain: [tmpdir]
    desktop: distribution/firefox.desktop
    extensions: [gnome-3-38]
    environment:
      HOME: "$SNAP_USER_COMMON"
      GTK_USE_PORTAL: 1
    slots:
      - dbus-daemon
      - mpris
    plugs:
      - avahi-observe
      - browser-sandbox
      - camera
      - cups-control
      - gsettings
      - hardware-observe
      - home
      - joystick
      - network
      - network-observe
      - opengl
      - pulseaudio
      - removable-media
      - screen-inhibit-control
      - system-packages-doc
      - u2f-devices
      - unity7
      - upower-observe

plugs:
  browser-sandbox:
    interface: browser-support
    allow-sandbox: true
  etc-firefox-policies:
    interface: system-files
    read: [/etc/firefox/policies]

layout:
  /usr/share/libdrm:
    bind: $SNAP/gnome-platform/usr/share/libdrm

parts:
  firefox:
    plugin: dump
    source: source
    stage-packages:
      - libxt6
      - libasound2
      - libpci3
      - libpulse0
      - libgl1-mesa-dri
      - libgl1-mesa-glx
      - libmirclient9
      - desktop-file-utils
      - ffmpeg
      - libc-bin
      - locales-all
      - libcurl3-gnutls
    prime:
      - -usr/lib/*/libharfbuzz*
      - -usr/lib/*/*pango*

  # Find files provided by the base and platform snap and ensure they aren't
  # duplicated in this snap
  cleanup:
    after: [firefox]
    plugin: nil
    build-snaps: [core20, gnome-3-38-2004]
    override-prime: |
      set -eux
      for snap in "core20" "gnome-3-38-2004"; do
        cd "/snap/$snap/current" && find . -type f,l -exec rm -f "$SNAPCRAFT_PRIME/{}" \;
      done

slots:
  dbus-daemon:
    interface: dbus
    bus: session
    name: org.mozilla.firefox
