DuckieTV snap review


#1

I was trying to snap this software DuckieTV, it’s using nwjs so I used the template that I found in this thread.
It works but sometimes (one every 5 times I open the program) it gets stuck loading instead of showing the calendar.

name: duckietv # you probably want to 'snapcraft register <name>'
version: '1.1.6' # just for humans, typically '1.2+git' or '1.3.2'
summary:
        DuckieTV track your favorite tv-shows with semi-automagic torrent integration
description: |
        DuckieTV is an application that takes care of TV-Show addicts by providing a personalized TV-Show calendar.
#icon: img/logo/icon256.png
grade: stable # must be 'stable' to release into candidate/stable channels
confinement: strict # use 'strict' once you have the right plugs and slots

parts:
  duckietv:
    # See 'snapcraft plugins'
    plugin: dump
    source: https://github.com/SchizoDuckie/DuckieTV.git
    source-tag: 1.1.6
    after:
        - nwjs-support
        - desktop-gtk3
  nwjs:
     plugin: dump
     source: https://dl.nwjs.io/v0.35.5/nwjs-v0.35.5-linux-x64.tar.gz
 
apps:
   duckietv:
     command: desktop-launch $SNAP/nw 
     plugs:
      - network
      - network-bind
      - x11
      - wayland
      - desktop
      - opengl
      - pulseaudio
      - browser-support
      - home
      - gsettings


#2

I have tried to update the package to the new core18 syntax but it seems that there are still some problems where occasionally the software can’t load its database and get stuck.

name: duckietv 
version: '1.1.6' 
grade: stable
summary:
        DuckieTV track your favorite tv-shows with semi-automagic torrent integration
description: |
        DuckieTV is an application that takes care of TV-Show addicts by providing a personalized TV-Show calendar.
confinement: strict 
base: core18

parts:
  duckietv2:
    plugin: dump
    source: https://github.com/SchizoDuckie/DuckieTV.git
    source-tag: 1.1.6
    after: [desktop-gnome-platform]
    stage-packages:
      - libasound2:amd64
      - libavahi-client3:amd64
      - libavahi-common3:amd64
      - libcom-err2:amd64
      - libcups2:amd64
      - libdatrie1:amd64
      - libdbus-1-3:amd64
      - libepoxy0:amd64
      - libexpat1:amd64
      - libffi6:amd64
      - libgcrypt20:amd64
      - libgmp10:amd64
      - libgnutls30:amd64
      - libgpg-error0:amd64
      - libgraphite2-3:amd64
      - libgssapi-krb5-2:amd64
      - libgtk-3-0:amd64
      - libharfbuzz0b:amd64
      - libhogweed4:amd64
      - libidn2-0:amd64
      - libk5crypto3:amd64
      - libkeyutils1:amd64
      - libkrb5-3:amd64
      - libkrb5support0:amd64
      - liblz4-1:amd64
      - liblzma5:amd64
      - libmount1:amd64
      - libnettle6:amd64
      - libnspr4:amd64
      - libnss3:amd64
      - libp11-kit0:amd64
      - libpcre3:amd64
      - libpixman-1-0:amd64
      - libpng16-16:amd64
      - libtasn1-6:amd64
      - libthai0:amd64
      - libunistring2:amd64
      - libwayland-client0:amd64
      - libwayland-cursor0:amd64
      - libwayland-egl1:amd64
      - libx11-6:amd64
      - libx11-xcb1:amd64
      - libxau6:amd64
      - libxcb1:amd64
      - libxcb-render0:amd64
      - libxcb-shm0:amd64
      - libxcomposite1:amd64
      - libxcursor1:amd64
      - libxdamage1:amd64
      - libxdmcp6:amd64
      - libxext6:amd64
      - libxfixes3:amd64
      - libxi6:amd64
      - libxinerama1:amd64
      - libxkbcommon0:amd64
      - libxrender1:amd64
      - libxss1:amd64
      - libxtst6:amd64
      - zlib1g:amd64
  nwjs:
     plugin: dump
     source: https://dl.nwjs.io/v0.37.4/nwjs-v0.37.4-linux-x64.tar.gz 
  desktop-gnome-platform:
    source: https://github.com/ubuntu/snapcraft-desktop-helpers.git
    source-subdir: gtk
    plugin: make
    make-parameters: ["FLAVOR=gtk3"]
    build-packages:
      - build-essential
      - libgtk-3-dev
    override-build: |
      snapcraftctl build
      mkdir -pv $SNAPCRAFT_PART_INSTALL/gnome-platform

apps:
   duckietv2:
     command: desktop-launch $SNAP/nw 
     plugs: [desktop, desktop-legacy, opengl, x11, network, browser-support]

plugs:
        gnome-3-26-1604:
                interface: content
                target: gnome-platform
                default-provider: gnome-3-26-1604:gnome-3-26-1604
        gtk-3-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