diff --git a/.github/workflows/snap.yml b/.github/workflows/snap.yml new file mode 100644 index 0000000..53e8104 --- /dev/null +++ b/.github/workflows/snap.yml @@ -0,0 +1,34 @@ +name: Build LinuxPlayer snap + +on: + push: + branches: + - snap-store-packaging + paths: + - snap/** + - .github/workflows/snap.yml + workflow_dispatch: + +permissions: + contents: read + +jobs: + build: + runs-on: ubuntu-24.04 + steps: + - uses: actions/checkout@v4 + - name: Build snap + uses: snapcore/action-build@v1 + id: snapcraft + with: + snapcraft-args: --platform amd64 + - name: Install snap and run smoke test + run: | + sudo snap install --dangerous "${{ steps.snapcraft.outputs.snap }}" + QT_QPA_PLATFORM=offscreen snap run linuxplayer --smoke-test + - name: Upload snap artifact + uses: actions/upload-artifact@v4 + with: + name: linuxplayer-snap-amd64 + path: ${{ steps.snapcraft.outputs.snap }} + if-no-files-found: error diff --git a/README.md b/README.md index 72443df..9ada241 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,12 @@ A clean, modern video player for Linux. ## Download +[**Install from the Snap Store**](https://snapcraft.io/linuxplayer) on amd64, or run: + +```bash +sudo snap install linuxplayer +``` + [**Download (.deb, 64-bit x86)**](https://github.com/teamkrope/linuxplayer/releases/latest/download/linuxplayer_amd64.deb) Open the downloaded file with your package installer, or run `sudo apt install ./linuxplayer_amd64.deb` from its folder. The package is built on an older supported Ubuntu baseline and install-tested on newer Ubuntu. Your package manager checks dependencies on your system. diff --git a/snap/gui/linuxplayer.png b/snap/gui/linuxplayer.png new file mode 100644 index 0000000..6399c19 Binary files /dev/null and b/snap/gui/linuxplayer.png differ diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml new file mode 100644 index 0000000..5de0b6a --- /dev/null +++ b/snap/snapcraft.yaml @@ -0,0 +1,44 @@ +name: linuxplayer +title: LinuxPlayer +base: core24 +version: '1.0.0' +summary: A clean, modern video player for Linux +description: | + LinuxPlayer plays local videos with a focused interface powered by libmpv. + It supports subtitles, playback speed, resume, a compact mini-player, and + canvas ratio previews without changing the original video file. +grade: stable +confinement: strict +license: GPL-3.0-or-later +website: https://linuxplayer.teamkrope.com/ +source-code: https://github.com/teamkrope/linuxplayer +issues: https://github.com/teamkrope/linuxplayer/issues +icon: snap/gui/linuxplayer.png +platforms: + amd64: + arm64: + +apps: + linuxplayer: + command: usr/bin/linuxplayer + extensions: [kde-neon-6] + common-id: io.github.teamkrope.LinuxPlayer.desktop + desktop: usr/share/applications/io.github.teamkrope.LinuxPlayer.desktop + plugs: + - home + - removable-media + +parts: + linuxplayer: + plugin: cmake + source: https://github.com/teamkrope/linuxplayer.git + source-tag: v1.0.0 + build-packages: + - libmpv-dev + - pkg-config + stage-packages: + - libmpv2 + cmake-parameters: + - -DCMAKE_BUILD_TYPE=Release + - -DBUILD_TESTING=OFF + - -DCMAKE_INSTALL_PREFIX=/usr