Starcraft Clinic 2024-Aug-30

The next edition of the Starcraft Clinics is 2024-08-30T14:00:00Z! Come chat and get support for Snapcraft, Charmcraft, Rockcraft, or the Craft libraries in general.

You can join via Google Meet.

During the previous clinic clinic, we talked about remote builds, the mesa-2404 snap, creating new dotnet snaps, and some bugs related to the kernel plugin.

If you want to discuss any topics other than starcraft applications themselves, reply here in advance so we can invite the correct parties. For example, if you have snapd/runtime questions, we can invite someone from the snapd team.

3 Likes

Scarlett mam and I are stuck with the snap of audiotube. It shows up but it never audible. Can anyone else help us with the snap in the meeting?

EDIT: This is the new snap manifest for kde-neon-6 extension

name: audiotube
confinement: strict
grade: stable
base: core22
adopt-info: audiotube
compression: lzo

layout:
  /usr/share/alsa:
    bind: $SNAP/kf6/usr/share/alsa

apps:
  audiotube:
    extensions:
      - kde-neon-6
    common-id: org.kde.audiotube.desktop
    desktop: usr/share/applications/org.kde.audiotube.desktop
    command: usr/bin/audiotube
    environment:
      PYTHONPATH: ${SNAP}/usr/lib/python3/dist-packages:${PYTHONPATH}
    plugs:
      - home
      - audio-playback
      - unity7
      - network
      - network-observe
      - alsa

plugs:
  ffmpeg-2204:
    interface: content
    target: ffmpeg-platform
    default-provider: ffmpeg-2204

slots:
  mpris:
    interface: mpris
    name: AudioTube

parts:
  futuresql:
    source: https://download.kde.org/stable/futuresql/futuresql-0.1.1.tar.xz
    plugin: cmake
    cmake-parameters:
      - -DCMAKE_INSTALL_PREFIX=/usr
      - -DBUILD_TESTING=OFF
      - -DCMAKE_BUILD_TYPE=Release
      - -DQT_MAJOR_VERSION=6
    prime:
      - -usr/include
      - -usr/lib/*/cmake

  python-deps:
    source: .
    plugin: python
    python-packages:
      - yt-dlp==2024.4.9
      - ytmusicapi==1.7.0
    prime:
      - -usr/bin/activate
      - -usr/bin/activate.csh
      - -usr/bin/activate.fish
      - -usr/bin/Activate.ps1
      - -usr/bin/python
      - -usr/bin/python3
      - -usr/bin/python3.10
      - -usr/bin/pip
      - -usr/bin/pip3
      - -usr/bin/pip3.10
      - -usr/bin/wheel
      - -usr/lib/python3.10/dist-packages/pip*
      - -usr/lib/python3.10/dist-packages/pkg_resources
      - -usr/lib/python3.10/dist-packages/setuptools*
      - -pyvenv.cfg
      - -lib
      - -lib64
      - -include
      - -share
    organize:
      bin: usr/bin
      lib/python3.10/site-packages: usr/lib/python3/dist-packages

  audiotube:
    after:
      - python-deps
      - futuresql
    parse-info:
      - usr/share/metainfo/org.kde.audiotube.appdata.xml
    plugin: cmake
    build-snaps:
      - cmake
    build-packages:
      - docbook
      - docbook-xsl
      - docbook-xml
      - libpulse0
      - libxkbcommon-dev
      - libvulkan-dev
      - pybind11-dev
    stage-packages:
      - libsqlite3-0
    source: https://invent.kde.org/multimedia/audiotube/-/archive/v24.05.2/audiotube-v24.05.2.tar.gz
    cmake-parameters:
      - -DCMAKE_INSTALL_PREFIX=/usr
      - -DCMAKE_BUILD_TYPE=Release
      - -DKDE_SKIP_TEST_SETTINGS=ON
      - -DCMAKE_PREFIX_PATH=$CRAFT_STAGE/usr
    prime:
      - -usr/lib/*/cmake/*
      - -usr/include/*
      - -usr/share/ECM/*
      - -usr/share/doc/*
      - -usr/share/man/*
      - -usr/share/icons/breeze-dark*
      - -usr/bin/X11
      - -usr/lib/gcc/$CRAFT_ARCH_TRIPLET_BUILD_FOR/6.0.0
      - -usr/lib/aspell/*
      - -usr/share/lintian
    build-environment:
      - PYTHONPATH: ${CRAFT_STAGE}/lib/python3.10/site-packages:${CRAFT_STAGE}/usr/lib/python3/dist-packages

Also, I have noticed that the CMAKE_PREFIX_PATH environment variable never works. I always needed to pass it as a CMake parameter.

As in, there is no audio from the snap?

Have you figured out anything or narrowed down the problem from debugging? I’m asking in the context of these types of debugging actions related to snapd, system logs, and apparmor: https://snapcraft.io/docs/debug-snaps

Yes, but can’t dig more. I tried to fix the QtMultimedia, which initially I thought is the issue, then some usual try like with devmode and others. The app is an audio playing app, and it probably doesn’t even plays the audio. That’s why I am unable to understand at all, where is the real issue. Also, checked with snappy-debug, almost clean, no denials.

I see. I’m not sure how much we can do during the clinic but we can try!

1 Like

Meeting summary:

Charms and charm bases

Components

  • @lonroth was also looking for a way to support a concept of plugins for a snap. Components may serve as a good solution when they are production ready.

UbuCon Asia 2024

Audiotube

  • @soumyaDghosh’s audiotube snap is not playing audio (see comments above in this thread), but we were unable to make any headway besides some ideas on what to troubleshoot next.

Available slots

Thanks all for joining!

1 Like

@mr_cal there is a slight mistake, it’s Snapcrafters not Snapcrafter's. Because the org name is Snapcrafters.

1 Like

I didn’t notice this before, but the use of Components seems very interesting. We can also use this to implement multiple media codecs, like for example gstreamer ugly plugins, not necessary, but something good to have?