diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 591575fd2..6238d33bd 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -1,82 +1,203 @@ -name: clementine # check to see if it's available -version: '1.3.1.30+git' # check the version number of clementine's packages -summary: Clementine is a modern music player. # 79 char long summary +name: clementine +version: '1.3.1.31+git' +summary: modern music player description: | - Clementine is a modern music player and library organizer for Windows, Linux and Mac OS X. -grade: stable # must be 'stable' to release into candidate/stable channels -confinement: strict # use 'strict' once you have the right plugs + Clementine is a modern music player and library organizer + +grade: stable +confinement: strict +base: core18 + +parts: + + desktop-qt5: + build-packages: + - build-essential + - qtbase5-dev + - dpkg-dev + make-parameters: + - FLAVOR=qt5 + plugin: make + source: https://github.com/ubuntu/snapcraft-desktop-helpers.git + source-subdir: qt + stage-packages: + - libqt5gui5 + - libqt5svg5 + - libgdk-pixbuf2.0-0 + - locales-all + - xdg-user-dirs + - fcitx-frontend-qt5 + - libxkbcommon0 + - ttf-ubuntu-font-family + - dmz-cursor-theme + - light-themes + - gnome-themes-standard + - shared-mime-info + - adwaita-icon-theme + - oxygen-icon-theme + - breeze-icon-theme + - try: [appmenu-qt5] + + alsa-lib: + plugin: autotools + source: https://www.alsa-project.org/files/pub/lib/alsa-lib-1.1.5.tar.bz2 + configflags: + - --prefix=/usr + - --sysconfdir=/etc + - --libexec=/usr/lib + - --libdir=/usr/lib + - --localstatedir=/var + - --with-configdir=/snap/$SNAPCRAFT_PROJECT_NAME/current/usr/share/alsa + - --with-plugindir=/snap/$SNAPCRAFT_PROJECT_NAME/current/usr/lib/alsa-lib + - --disable-static + stage: + - usr/include + - usr/lib + prime: + - -usr/bin + - -usr/include + - -usr/lib/pkgconfig + - -usr/share/alsa/alsa.conf + - -usr/share/alsa/pcm + - -usr/share/alsa/topology/broadwell + + clementine: + plugin: cmake + source-type: git + source: https://github.com/clementine-player/Clementine + after: + - alsa-lib + - desktop-qt5 + override-build: | + cmake ../src -DCMAKE_INSTALL_PREFIX=/usr + make -j $(getconf _NPROCESSORS_ONLN) + make DESTDIR=$SNAPCRAFT_PART_INSTALL install + sed -i 's|Icon=clementine|Icon=/usr/share/icons/hicolor/scalable/apps/clementine\.svg|' $SNAPCRAFT_PART_INSTALL/usr/share/applications/clementine.desktop + sed -i 's|TryExec=.*|TryExec=/snap/bin/clementine|' $SNAPCRAFT_PART_INSTALL/usr/share/applications/clementine.desktop + + build-packages: + - cmake + - make + - gcc + - g++ + - protobuf-compiler + - gettext + - libglib2.0-dev + - libgnutls28-dev + - libdbus-1-dev + - libprotobuf-dev + - libboost-dev + - libsqlite3-dev + - libasound2-dev + - libpulse-dev + - libtag1-dev + - qtbase5-dev + - qtbase5-dev-tools + - qtbase5-private-dev + - qttools5-dev + - libqt5x11extras5-dev + - libqt5opengl5-dev + - libgstreamer1.0-dev + - libgstreamer-plugins-base1.0-dev + - libcdio-dev + - libgpod-dev + - libmtp-dev + - libplist-dev + - libusbmuxd-dev + - libchromaprint-dev + - libfftw3-dev + - liblastfm5-dev + - libglew-dev + - libcrypto++-dev + - libsparsehash-dev + + stage-packages: + - libstdc++6 + - libgcc1 + - libprotobuf10 + - libpcre16-3 + - libqt5core5a + - libqt5gui5 + - libqt5widgets5 + - libqt5concurrent5 + - libqt5network5 + - libqt5dbus5 + - libqt5sql5 + - libqt5x11extras5 + - libqt5opengl5 + - libqt5xml5 + - libqt5sql5-sqlite + - libsqlite3-0 + - libgpm2 + - libasound2 + - libasound2-plugins + - libpulse0 + - libcdio17 + - libgpod4 + - libmtp9 + - libplist3 + - libusbmuxd4 + - libtag1v5 + - libchromaprint1 + - zlib1g + - libx11-6 + - libxcomposite1 + - libxcursor1 + - libxinerama1 + - libxrandr2 + - libdb5.3 + - libglu1 + - libslang2 + - libatk1.0-0 + - libatk-bridge2.0-0 + - libatk1.0-data + - libatk-adaptor + - libprojectm2v5 + - libcrypto++6 + - liblastfm5-1 + - libgstreamer1.0-0 + - libgstreamer-plugins-base1.0-0 + - gstreamer1.0-alsa + - gstreamer1.0-pulseaudio + - gstreamer1.0-plugins-base + - gstreamer1.0-plugins-good + - gstreamer1.0-plugins-bad + - gstreamer1.0-plugins-ugly + - gstreamer1.0-libav + - dbus-x11 + - projectm-data apps: clementine: - command: desktop-launch $SNAP/bin/clementine - desktop: share/applications/clementine.desktop + command: desktop-launch $SNAP/usr/bin/clementine + desktop: usr/share/applications/clementine.desktop + environment: + ALSA_CONFIG_PATH: /snap/$SNAPCRAFT_PROJECT_NAME/current/usr/share/alsa/alsa.conf + LD_LIBRARY_PATH: $LD_LIBRARY_PATH:$SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/pulseaudio plugs: - - network - - network-bind - home - - pulseaudio - - unity7 - - x11 - - optical-drive - - removable-media - - screen-inhibit-control - - alsa - - raw-usb - - media-hub + - udisks2 + - network + - network-manager-observe + - network-bind - desktop - desktop-legacy + - x11 - wayland - - -parts: - my-part: - # See 'snapcraft plugins' - build-packages: + - alsa + - pulseaudio + - removable-media + - optical-drive + - raw-usb + - media-hub + - screen-inhibit-control + - unity7 + slots: + - mpris - [libgpm2,liblastfm-dev,libtag1-dev,gettext,libboost-dev,libboost-serialization-dev,libqt4-dev,qt4-dev-tools,libqt4-opengl-dev,cmake,libgstreamer1.0-dev,libgstreamer-plugins-base1.0-dev,libglew1.5-dev,libqjson-dev,libgpod-dev,libplist-dev,libusbmuxd-dev,libmtp-dev,libcdio-dev,protobuf-compiler,libprotobuf-dev,libcrypto++-dev,libfftw3-dev,libsparsehash-dev,libsqlite3-dev,libpulse-dev,libqtwebkit-dev,libchromaprint-dev,libqca2-dev] - - stage-packages: - - libc6 - - libcdio13 - - libchromaprint0 - - libcrypto++9v5 - - libfftw3-double3 - - libgcc1 - - libgl1-mesa-glx - - libgl1 - - libglew1.13 - - libglib2.0-0 - - libgpod4 - - libgstreamer-plugins-base1.0-0 - - libgstreamer1.0-0 - - liblastfm1 - - libmtp9 - - libprotobuf9v5 - - libpulse0 - - libqjson0 - - libqt4-dbus - - libqt4-network - - libqt4-opengl - - libqt4-sql - - libqtcore4 - - libqtgui4 - - libsqlite3-0 - - libstdc++6 - - libtag1v5 - - libx11-6 - - zlib1g - - gstreamer1.0-plugins-base - - gstreamer1.0-plugins-good - - gstreamer1.0-plugins-ugly - - gstreamer1.0-plugins-bad - - gstreamer1.0-pulseaudio - - libprojectm2v5 - - projectm-data - - libgpm2 - - source-type: git - source: https://github.com/clementine-player/Clementine - after: [desktop-qt5] - plugin: cmake - - # add new revision to enable builds for arm and i386 + clementine-tagreader: + command: clementine-tagreader + plugs: + - network + - network-manager-observe + - network-bind