# SPDX-License-Identifier: GPL-2.0-or-later
name: inkscape
version-script: packaging/snappy/version.sh
version: devel # Replaced at build time ^^^
summary: Vector Graphics Editor
description: >
 An Open Source vector graphics editor, with capabilities similar to
 Illustrator, CorelDraw, or Xara X, using the W3C standard Scalable Vector
 Graphics (SVG) file format.

 Inkscape supports many advanced SVG features (markers, clones, alpha blending,
 etc.) and great care is taken in designing a streamlined interface.
 It is very easy to edit nodes, perform complex path operations, trace
 bitmaps and much more.
 
 We also aim to maintain a thriving user and developer community by using
 open, community-oriented development.
confinement: strict
grade: stable

parts:
  inkscape:
    plugin: cmake
    source: .
    configflags:
      - '-DENABLE_BINRELOC=ON'
    build-packages:
      - cmake
      - intltool
      - libart-2.0-dev
      - libaspell-dev
      - libboost-dev
      - libcdr-dev
      - libgc-dev
      - libgdl-3-dev
      - libglib2.0-dev
      - libgnomevfs2-dev
      - libgsl-dev
      - libgtk-3-dev
      - libgtkmm-3.0-dev
      - libgtkspell-dev
      - libharfbuzz-dev
      - liblcms2-dev
      - libmagick++-dev
      - libpango1.0-dev
      - libpoppler-glib-dev
      - libpoppler-private-dev
      - libpopt-dev
      - libpotrace-dev
      - librevenge-dev
      - libsigc++-2.0-dev
      - libsoup2.4-dev
      - libtool
      - libvisio-dev
      - libwpg-dev
      - libxml-parser-perl
      - libxml2-dev
      - libxslt1-dev
      - pkg-config
      - zlib1g-dev
    stage-packages:
      - libaspell15
      - libatkmm-1.6-1v5
      - libcairomm-1.0-1v5
      - libcdr-0.1-1
      - libgdk-pixbuf2.0-0
      - libglibmm-2.4-1v5
      - libgnomevfs2-0
      - libgtkmm-2.4-1v5
      - libgtkspell0
      - liblcms2-2
      - libmagick++-6.q16-5v5
      - libpangomm-1.4-1v5
      - libpoppler-glib8
      - librevenge-0.0-0
      - libvisio-0.1-1
      - libwpg-0.3-3
      - libglib2.0-bin
      - aspell
      - imagemagick
      - libimage-magick-perl
      - libwmf-bin
      - transfig
      - libsvg-perl
      - libxml-xql-perl
      - ruby
    prime:
      - -lib/inkscape/*.a
    after:
      - desktop-gtk3
      - gnome-3-26
  snapcraft-wrapper:
    plugin: dump
    source: packaging/snappy/
  python-deps:
    plugin: python
    python-version: python2
    python-packages:
      - lxml
      - numpy
      - scour
    stage-packages:
      - pstoedit
      - python-uniconvertor
    after:
      - gnome-3-26
  gnome-3-26:
    plugin: nil
    build-packages:
      - software-properties-common
    prepare: |
       add-apt-repository -y ppa:ubuntu-desktop/gnome-3-26
       apt-get -y update
       apt-get -y dist-upgrade
       apt-get -y install gtk-update-icon-cache
  desktop-gtk3:
    source: https://github.com/Ubuntu/snapcraft-desktop-helpers.git
    source-type: git
    source-subdir: gtk
    plugin: make
    make-parameters: ["FLAVOR=gtk3"]
    build-packages:
      - libgtk-3-dev
    stage-packages:
      - libxkbcommon0  # XKB_CONFIG_ROOT
      - ttf-ubuntu-font-family
      - dmz-cursor-theme
      - light-themes
      - adwaita-icon-theme
      - gnome-themes-standard
      - shared-mime-info
      - libgtk-3-0
      - libgdk-pixbuf2.0-0
      - libglib2.0-bin
      - libgtk-3-bin
      - unity-gtk3-module
      - libappindicator3-1
      - locales-all
      - xdg-user-dirs
    after:
      - gnome-3-26

apps:
  inkscape:
    command: desktop-launch ${SNAP}/snapcraft.sh inkscape
    plugs:
      - home
      - unity7
      - gsettings
      - cups-control
      - desktop
      - desktop-legacy
      - x11
      - wayland
      - removable-media
    desktop: share/applications/inkscape.desktop
  viewer:
    command: desktop-launch ${SNAP}/snapcraft.sh inkview
    plugs:
      - home
      - unity7
      - gsettings
      - cups-control
      - desktop
      - desktop-legacy
      - x11
      - wayland
      - removable-media
