name: keepassxc
version: 2.2.2
grade: stable
summary: Community-driven port of the Windows application “KeePass Password Safe”
description: |
  KeePassXC is an application for people with extremely high demands on secure
  personal data management. It has a light interface, is cross-platform and
  published under the terms of the GNU General Public License.
confinement: strict

apps:
  keepassxc:
    command: desktop-launch keepassxc
    plugs: [unity7, x11, opengl, gsettings, home, network, network-bind, removable-media, raw-usb]
    desktop: usr/share/applications/org.keepassxc.KeePassXC.desktop
  cli:
    command: keepassxc-cli
    plugs: [gsettings, home, removable-media, raw-usb]

parts:
  keepassxc:
    source: .
    plugin: cmake
    configflags:
      - -DCMAKE_BUILD_TYPE=Release
      - -DCMAKE_INSTALL_PREFIX=/usr
      - -DKEEPASSXC_DIST_TYPE=Snap
      - -DWITH_TESTS=OFF
      - -DWITH_XC_AUTOTYPE=ON
      - -DWITH_XC_HTTP=ON
      - -DWITH_XC_YUBIKEY=ON
    build-packages:
      - g++
      - libgcrypt20-dev
      - libqt5x11extras5-dev
      - qtbase5-dev
      - qttools5-dev
      - qttools5-dev-tools
      - zlib1g-dev
      - libxi-dev
      - libxtst-dev
      - libyubikey-dev
      - libykpers-1-dev
    install: |
      sed -i 's|Icon=keepassxc|Icon=${SNAP}/usr/share/icons/hicolor/256x256/apps/keepassxc.png|g' $SNAPCRAFT_PART_INSTALL/usr/share/applications/org.keepassxc.KeePassXC.desktop
    after: [desktop-qt5]

  # Redefine desktop-qt5 stage packages to work with Ubuntu 17.04
  desktop-qt5:
    stage-packages:
      - libxkbcommon0
      - ttf-ubuntu-font-family
      - dmz-cursor-theme
      - light-themes
      - shared-mime-info
      - libqt5gui5
      - libgdk-pixbuf2.0-0
      - libqt5svg5 # for loading icon themes which are svg
      - locales-all

  # Overcome limitation in snapd to support URL loading (CTRL+U)
  # client needs to install "snapd-xdg-open" on their system
  snapd-xdg-open:
    source: https://github.com/ubuntu-core/snapd-xdg-open.git
    source-depth: 1
    plugin: nil
    install: |
      install -D -t $SNAPCRAFT_PART_INSTALL/usr/bin/ data/xdg-open
    stage-packages:
      - dbus