name: zano
base: core18
adopt-info: zano
summary: "Zano coin: official wallet. Secure. Scalable. Easy to Use."
description: |
  Zano is a scalable and secure coin, designed for use in e-commerce.
  The technology behind our blockchain provides reliability, security,
  and flexibility a perfect option for P2P transactions.
  More info: http://zano.org
grade: stable
confinement: strict

architectures:
  - build-on: amd64
  - build-on: i386

parts:
  zano:
    source: https://github.com/hyle-team/zano.git
    plugin: cmake
    override-pull: |
        snapcraftctl pull
        snapcraftctl set-version "$(git describe)"
    configflags:
      - -DBUILD_GUI=TRUE
    override-build: |
      snapcraftctl build
      mkdir -p $SNAPCRAFT_PART_INSTALL/opt/Zano
      cp $SNAPCRAFT_PART_BUILD/src/Zano $SNAPCRAFT_PART_INSTALL/opt/Zano/
      cp $SNAPCRAFT_PART_BUILD/src/simplewallet $SNAPCRAFT_PART_INSTALL/opt/Zano/
      cp $SNAPCRAFT_PART_BUILD/src/zanod $SNAPCRAFT_PART_INSTALL/opt/Zano/
      rsync -a $SNAPCRAFT_PART_SRC/src/gui/qt-daemon/html $SNAPCRAFT_PART_INSTALL/opt/Zano --exclude less --exclude package.json --exclude gulpfile.js
    build-packages:
      - make
      - g++
      - libboost-all-dev
      - qtwebengine5-dev
      - rsync
    build-attributes: [keep-execstack]
    stage-packages:
      - libboost-system1.65.1
      - libboost-filesystem1.65.1
      - libboost-thread1.65.1
      - libboost-date-time1.65.1
      - libboost-chrono1.65.1
      - libboost-regex1.65.1
      - libboost-serialization1.65.1
      - libboost-program-options1.65.1
      - libboost-locale1.65.1

apps:
  zano:
    command: opt/Zano/Zano --data-dir $SNAP_USER_COMMON
    extensions:
      - kde-neon
    plugs:
      - network
      - home
      - desktop
      - opengl #for QML support
      - browser-support #for Qt WebEngine support
      - audio-playback
      - unity7 #for tray icon support
  simplewallet:
    command: opt/Zano/simplewallet
    plugs:
      - network
      - home
  zanod:
    command: opt/Zano/zanod --data-dir $SNAP_USER_COMMON
    environment:
      LC_ALL: C
    plugs:
      - network
      - network-bind
