~jkraehemann/+junk/gsequencer

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
name: nongnu-gsequencer # you probably want to 'snapcraft register <name>'
version: '2.4.8' # just for humans, typically '1.2+git' or '1.3.2'
summary: Advanced Gtk+ Sequencer # 79 char long summary
description: |
  GSequencer is intended to be use for music composition. It features
  notation, automation and wave form editor. Supporting LADSPA, DSSI
  and LV2 plugins.
icon: snap/ags.png

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

parts:
  gsequencer:
    after:
     - desktop-gtk2
    source: http://download-mirror.savannah.gnu.org/releases/gsequencer/2.4.x/gsequencer-2.4.8.tar.gz # See 'snapcraft plugins'
    plugin: autotools
    build-packages: [wget,libgtk2.0-dev,libinstpatch-dev,libsndfile-dev,libsamplerate-dev,libxml2-dev,libgmp-dev,ladspa-sdk,dssi-dev,lv2-dev,fftw3-dev,libasound2-dev,libjack-jackd2-dev,libpulse-dev,uuid-dev,libcunit1-dev]
    stage-packages: [libinstpatch-1.0-0,libfftw3-3,gtk2-engines-pixbuf,ubuntustudio-audio-plugins,cmt,xsynth-dssi,calf-plugins,invada-studio-plugins-lv2,mda-lv2,swh-plugins,hydrogen-drumkits,fluid-soundfont-gm,fluid-soundfont-gs]
    configflags:
      - --prefix=/usr
      - --without-included-regex
      - --enable-threads=posix
    override-pull: |
      snapcraftctl pull
      wget http://xn--krhemann-1za.com/snap-core/libgsequencer.patch
      wget http://xn--krhemann-1za.com/snap-core/configure-ac.patch
      wget http://xn--krhemann-1za.com/snap-core/makefile-am.patch
      wget http://xn--krhemann-1za.com/snap-core/file-chooser-shortcuts.patch
      patch -p0 < configure-ac.patch
      patch -p0 < makefile-am.patch
      patch -p0 < libgsequencer.patch
      patch -p0 < file-chooser-shortcuts.patch
      autoreconf -fi

apps:
  gsequencer:
    command: desktop-launch $SNAP/usr/bin/gsequencer
    desktop: usr/share/applications/gsequencer.desktop
    environment:
      XDG_DATA_DIRS: $SNAP/usr/share:$XDG_DATA_DIRS
      LADSPA_PATH: $SNAP/usr/lib/ladspa
      DSSI_PATH: $SNAP/usr/lib/dssi
      LV2_PATH: $SNAP/usr/lib/lv2
      AGS_SNAP_PATH: $SNAP
      AGS_ANIMATION_FILENAME: $SNAP/usr/share/gsequencer/images/ags_supermoon-800x450.png
      AGS_LOGO_FILENAME: $SNAP/usr/share/gsequencer/images/ags.png
      AGS_RC_FILENAME: $SNAP/usr/share/gsequencer/styles/ags.rc
    plugs:
      - x11
      - wayland
      - desktop
      - alsa
      - pulseaudio
      - gsettings
      - home
      - content

plugs:
  gtk-2-themes:
    interface: content
    target: $SNAP/usr/share/themes
    default-provider: gtk-common-themes:gtk-3-themes
  icon-themes:
    interface: content
    target: $SNAP/usr/share/icons
    default-provider: gtk-common-themes:icon-themes
  content:
    target: /

#passthrough:
#  layout:
#    /usr/share/sounds:
#      bind: $SNAP/usr/share/sounds
#    /usr/share/hydrogen:
#      bind: $SNAP/usr/share/hydrogen