Creating a MyPaint Snap Package

packaging
snap
Tags: #<Tag:0x00007f14c4be7488> #<Tag:0x00007f14c4be7348>

#1

I’ve started the process of creating a snap package for MyPaint. i’m a noob when it comes to coding ,or packaging. So I started a thread here to see if anybody has experience with creating the yaml file for snapcraft and can assist me in writing it.

name: mypaint # you probably want to 'snapcraft register <name>'
version: '1.2.1+git'
summary: Simple drawing and painting program with an infinite canvas.
description: |
  MyPaint is a simple drawing and painting program that works well with 
  Wacom-style graphics tablets. Its main features are a highly configurable 
  brush engine, speed, and a fullscreen mode which allows artists to fully 
  immerse themselves in their work.

grade: devel # must be 'stable' to release into candidate/stable channels
confinement: devmode # use 'strict' once you have the right plugs and slots

apps:
    MyPaint:
        command: mypaint
        plugs: [x11, unity7, home, network, removable-media]

parts:
    libmypaint:
        plugin: autotools
        source: https://github.com/mypaint/libmypaint.git
        source-type: git

    mypaint:
        after: [libmypaint, desktop-gtk3]
        plugin: scons
        source: https://github.com/mypaint/mypaint.git
        source-type: git

This thread is set as a wiki so anybody who has a trust level 1 or higher can edit the wiki. Right now I just have the basics down and haven’t gotten the dependencies typed in yet. For those who are curios what snaps are or how to create snap packages, I’ll provide links down below for the Snapcraft website. Plus I’ll also link the build pages for libmypaint and mypaint for reference as well.

Snapcraft.io Website:
http://snapcraft.io/

Build Pages for MyPaint and libmypaint:
https://github.com/mypaint/mypaint/blob/master/README_LINUX.md


Distributing MyPaint as an AppImage and/or Snap Package
#2

@achadwick could you help me out by pointing out which dependences are build specific and which ones are required to run mypaint and libmypaint? Since we are dealing with Snaps it will be ubuntu base.