# Terrible idea. Snap isn't very fit to harbour python desktop apps. # Bloats up the whole package to 65MB (from 450K). The pyz→zip roundtrip # is also fairly redundant. (But the pyz is more relocatable than using # the plain deb / make install setup.) name: streamtuner2 version: 2.2.2-rc1 summary: Directory browser for internet radio, audio and video streams description: | Streamtuner2 is a GUI for browsing internet radio directories, music collections, and video services - grouped by genres or categories. It runs your preferred audio player or streamripper for recording. | This SNAP package is just for testing. The DEB or PYZ are significantly smaller and faster to install. icon: ./icon.png grade: stable base: core18 confinement: classic # `strict` wouldn't allow exec of audacious/vlc/etc., which kinda defeats the purpose of st2 parts: # pull in python2 + libs python: plugin: python python-version: python2 python-packages: [requests,pyquery,lxml,six,"urllib3[secure]",pillow] after: [desktop-gtk2] stage-packages: - python-gtk2 # use prepared pyz in zip st2: plugin: dump source: snapcraft.zip source-type: zip # https://forum.snapcraft.io/t/gtk2-applications/13508 # # This part installs the `desktop-launch` script which initialises desktop # features such as fonts, themes and the XDG environment. It also installs # the GTK2 runtime libraries. # # It is copied straight from the snapcraft desktop helpers project. Please # periodically check the source for updates and copy the changes. # https://github.com/ubuntu/snapcraft-desktop-helpers/blob/master/snapcraft.yaml # desktop-gtk2: source: https://github.com/ubuntu/snapcraft-desktop-helpers.git source-subdir: gtk plugin: make make-parameters: ["FLAVOR=gtk2"] build-packages: - build-essential - libgtk2.0-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 - libgtk2.0-0 - libgdk-pixbuf2.0-0 - libglib2.0-bin - libgtk2.0-bin - unity-gtk2-module #- locales-all - libappindicator1 - xdg-user-dirs - ibus-gtk - libibus-1.0-5 # https://forum.snapcraft.io/t/simple-trick-to-reduce-size-and-startup-time-of-gnome-based-snaps/12006 cleanup: after: [ python, st2, desktop-gtk2 ] plugin: nil build-snaps: [ gnome-3-28-1804 ] override-prime: | set -eux #cd /snap/gnome-3-28-1804/current #find . -type f,l -exec rm -f $SNAPCRAFT_PRIME/{} \; #cd $SNAPCRAFT_PRIME/usr/lib/locale #find . -type f,l -exec rm -f $SNAPCRAFT_PRIME/{} \; apps: pyz: command: desktop-launch $SNAP/streamtuner2.pyz plugs: - x11 - home - network - desktop # needed for a lot of gtk3 and glib interaction with the host system - desktop-legacy # needed for accessibility tools IIRC - gtk-2-engines - gtk-2-themes #- gnome-3-28-1804 plugs: gtk-2-engines: interface: content target: $SNAP/lib/gtk-2.0 default-provider: gtk2-common-themes gtk-2-themes: interface: content target: $SNAP/data-dir/themes default-provider: gtk-common-themes icon-themes: interface: content target: $SNAP/data-dir/icons default-provider: gtk-common-themes sound-themes: interface: content target: $SNAP/data-dir/sounds default-provider: gtk-common-themes # gnome-3-28-1804: # interface: content # target: $SNAP/gnome-platform # default-provider: gnome-3-28-1804