name: keepassxc
adopt-info: keepassxc
grade: stable
base: core20
confinement: strict
compression: lzo

apps:
  keepassxc:
    command: usr/bin/keepassxc
    common-id: org.keepassxc.KeePassXC.desktop
    extensions: [kde-neon]
    plugs: [home, unity7, network, network-bind, removable-media, raw-usb]
  cli:
    command: usr/bin/keepassxc-cli
    extensions: [kde-neon]
    plugs: [home, removable-media, raw-usb]
  proxy:
    command: usr/bin/keepassxc-proxy
    extensions: [kde-neon]
    plugs: [home]
    
slots:
  session-dbus-interface:
    interface: dbus
    name: org.keepassxc.KeePassXC.MainWindow
    bus: session

parts:
  keepassxc:
    source: .
    plugin: cmake
    parse-info: [usr/share/metainfo/org.keepassxc.KeePassXC.appdata.xml]
    cmake-parameters:
      - -DCMAKE_BUILD_TYPE=Release
      - -DCMAKE_INSTALL_PREFIX=/usr
      - -DKEEPASSXC_DIST_TYPE=Snap
      - -DKEEPASSXC_BUILD_TYPE=Release
      - -DWITH_TESTS=OFF
      - -DWITH_XC_ALL=ON
      - -DWITH_XC_UPDATECHECK=OFF
    build-packages:
      - g++
      - libbotan-2-dev
      - libargon2-dev
      - zlib1g-dev
      - libqrencode-dev
      - libusb-1.0-0-dev
      - libreadline-dev
      - libpcsclite-dev
      - libminizip-dev
      - libxi-dev
      - libxtst-dev
      - asciidoctor
    stage-packages:
      - dbus
      - libbotan-2-12
      - libqrencode4
      - libusb-1.0-0
      - libreadline8
      - libpcsclite1
      - libminizip1
      - libxtst6
      - xclip