ci: flatpak build

This commit is contained in:
edde746
2025-11-04 16:51:14 +01:00
parent 3d5c7f7e3b
commit aa1efdff64
4 changed files with 204 additions and 1 deletions
+10
View File
@@ -0,0 +1,10 @@
[Desktop Entry]
Name=Plezy
Comment=A beautiful Plex client for Flutter
Exec=plezy
Icon=com.edde746.plezy
Type=Application
Categories=AudioVideo;Video;Player;
Terminal=false
StartupNotify=true
Keywords=plex;media;video;streaming;
+57
View File
@@ -0,0 +1,57 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>com.edde746.plezy</id>
<name>Plezy</name>
<summary>A beautiful Plex client for Flutter</summary>
<metadata_license>CC0-1.0</metadata_license>
<project_license>MIT</project_license>
<description>
<p>
Plezy is a beautiful Plex client built with Flutter, offering a modern and intuitive
interface for accessing your Plex media library.
</p>
<p>Features:</p>
<ul>
<li>Stream your Plex media library</li>
<li>Modern, responsive user interface</li>
<li>Support for video playback with hardware acceleration</li>
<li>Cross-platform compatibility</li>
</ul>
</description>
<launchable type="desktop-id">com.edde746.plezy.desktop</launchable>
<url type="homepage">https://github.com/edde746/plex-flutter</url>
<url type="bugtracker">https://github.com/edde746/plex-flutter/issues</url>
<screenshots>
<screenshot type="default">
<caption>Plezy main interface</caption>
</screenshot>
</screenshots>
<content_rating type="oars-1.1" />
<releases>
<release version="{{VERSION}}" date="{{DATE}}">
<description>
<p>Latest release</p>
</description>
</release>
</releases>
<categories>
<category>AudioVideo</category>
<category>Video</category>
<category>Player</category>
</categories>
<keywords>
<keyword>plex</keyword>
<keyword>media</keyword>
<keyword>video</keyword>
<keyword>streaming</keyword>
</keywords>
</component>
+87
View File
@@ -0,0 +1,87 @@
app-id: com.edde746.plezy
runtime: org.freedesktop.Platform
runtime-version: '23.08'
sdk: org.freedesktop.Sdk
command: plezy
finish-args:
# Graphics and display
- --share=ipc
- --socket=x11
- --socket=wayland
- --device=dri
# Audio
- --socket=pulseaudio
# Network access (required for Plex)
- --share=network
# Minimal filesystem access (home directory read-only)
- --filesystem=home:ro
# Allow access to config directory
- --filesystem=xdg-config/plezy:create
- --filesystem=xdg-data/plezy:create
modules:
# MPV for video playback
- name: mpv
buildsystem: simple
build-commands:
- python3 waf configure --prefix=/app --enable-libmpv-shared --disable-cplayer --disable-build-date
--disable-alsa
- python3 waf build
- python3 waf install
sources:
- type: archive
url: https://github.com/mpv-player/mpv/archive/v0.37.0.tar.gz
sha256: 1d2d4adbaf048a2fa6ee134575032c4b2dad9a7efafd5b3e69b88db935afaddf
- type: file
url: https://waf.io/waf-2.0.25
sha256: 21199cd220ccf60434133e1fd2ab8c8e5217c3799199c82722543970dc8e38d5
dest-filename: waf
cleanup:
- /include
- /lib/pkgconfig
- /share/man
# Main application
- name: plezy
buildsystem: simple
build-commands:
# Set up Flutter PATH
- export PATH="$PATH:/usr/src/flatpak/flutter/bin"
- export PUB_CACHE=/usr/src/flatpak/.pub-cache
# Build the app
- flutter build linux --release --dart-define=ENABLE_UPDATE_CHECK=true
# Install application files
- mkdir -p /app/bin
- mkdir -p /app/share/applications
- mkdir -p /app/share/metainfo
- mkdir -p /app/share/icons/hicolor/512x512/apps
# Copy built application
- cp -r build/linux/x64/release/bundle /app/plezy
- ln -s /app/plezy/plezy /app/bin/plezy
# Install desktop file and metadata
- install -Dm644 linux/com.edde746.plezy.desktop /app/share/applications/com.edde746.plezy.desktop
- install -Dm644 linux/com.edde746.plezy.metainfo.xml /app/share/metainfo/com.edde746.plezy.metainfo.xml
# Install icon
- install -Dm644 android/fastlane/metadata/android/en-GB/images/icon.png /app/share/icons/hicolor/512x512/apps/com.edde746.plezy.png
sources:
- type: git
url: https://github.com/edde746/plex-flutter.git
# NOTE: This will be replaced with actual commit hash by flatpak-flutter preprocessing
commit: HEAD
- type: git
url: https://github.com/flutter/flutter.git
# NOTE: This will be replaced with SDK modules by flatpak-flutter preprocessing
tag: stable
dest: flutter