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
81
|
name: gsequencer-4 # you probably want to 'snapcraft register <name>'
version: '4.4.2' # 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/local/ags.png
base: core22
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-4:
source: http://download-mirror.savannah.gnu.org/releases/gsequencer/4.4.x/gsequencer-4.4.2.tar.gz # See 'snapcraft plugins'
plugin: autotools
build-packages: [wget,fop,gstreamer1.0-plugins-base,gstreamer1.0-plugins-good,gstreamer1.0-plugins-bad,libgstreamer1.0-dev,libgstreamer-plugins-base1.0-dev,libgtk-4-dev,libinstpatch-dev,libsndfile-dev,libsamplerate-dev,libsoup2.4-dev,libxml2-dev,libpoppler-glib-dev,gobject-introspection,libgmp-dev,ladspa-sdk,dssi-dev,lv2-dev,fftw3-dev,libasound2-dev,libjack-jackd2-dev,libpulse-dev,uuid-dev,libcunit1-dev,docbook-xsl,docbook-xml,gtk-doc-tools,xsltproc]
stage-packages: [libatk-bridge2.0-0,libatspi2.0-0,libbrotli1,libcairo-gobject2,libdrm2,libegl1,libenchant-2-2,libepoxy0,libfftw3-double3,libgbm1,libgl1,libglvnd0,libglx0,libgstreamer-gl1.0-0,gstreamer1.0-plugins-base,gstreamer1.0-plugins-good,libgstreamer-plugins-base1.0-0,libgstreamer1.0-0,libgtk-4-1,libgudev-1.0-0,libharfbuzz-icu0,libhyphen0,libinstpatch-1.0-2,libnotify4,liborc-0.4-0,libsecret-1-0,libsoup2.4-1,libpoppler-glib8,libwayland-client0,libwayland-cursor0,libwayland-egl1,libwayland-server0,libwebp7,libwebpdemux2,libwoff1,libx11-xcb1,libxkbcommon0,libxslt1.1,ubuntustudio-audio-plugins,cmt,xsynth-dssi,calf-plugins,invada-studio-plugins-lv2,mda-lv2,swh-plugins,hydrogen-drumkits,fluid-soundfont-gm,fluid-soundfont-gs]
override-build: |
./configure --prefix=/usr --libdir=/usr/lib/$SNAPCRAFT_ARCH_TRIPLET --enable-public-libgsequencer --with-poppler --disable-introspection
make -j $SNAPCRAFT_PARALLEL_BUILD_COUNT
make -j1 pdf
DESTDIR=$SNAPCRAFT_PART_INSTALL make -j1 install
DESTDIR=$SNAPCRAFT_PART_INSTALL make -j1 install-pdf-mkdir
DESTDIR=$SNAPCRAFT_PART_INSTALL make -j1 install-pdf
rm -rf $SNAPCRAFT_PART_INSTALL/usr/include
override-pull: |
snapcraftctl pull
wget https://xn--krhemann-1za.com/snap/gsequencer-4-shortcuts.patch
patch -p0 < gsequencer-4-shortcuts.patch
autoreconf -fi
slots:
dbus-daemon:
interface: dbus
bus: session
name: org.nongnu.gsequencer.gsequencer
apps:
gsequencer-4:
command: usr/bin/gsequencer
extensions: [gnome]
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/gsequencer-800x450.png
AGS_LOGO_FILENAME: $SNAP/usr/share/gsequencer/images/ags.png
AGS_CSS_FILENAME: $SNAP/usr/share/gsequencer/styles/ags.css
AGS_ONLINE_HELP_PDF_FILENAME: $SNAP/usr/share/doc/gsequencer/pdf/user-manual-a4.pdf
slots:
- dbus-daemon
plugs:
- x11
- wayland
- desktop
- alsa
- pulseaudio
- gsettings
- home
- content
- openvswitch
plugs:
icon-themes:
interface: content
target: $SNAP/usr/share/icons
default-provider: gtk-common-themes:icon-themes
#passthrough:
# layout:
# /usr/share/sounds:
# bind: $SNAP/usr/share/sounds
# /usr/share/hydrogen:
# bind: $SNAP/usr/share/hydrogen
|