From 1738c1bf00e2c6297cb2928cc1b1b36096ccf2fa Mon Sep 17 00:00:00 2001 From: Pato05 Date: Thu, 2 May 2024 00:59:30 +0200 Subject: [PATCH] add files to build flatpak --- flatpak/build-flatpak.sh | 50 ++++++++++++++++++ flatpak/f.f.freezer.json | 88 ++++++++++++++++++++++++++++++++ flatpak/f.f.freezer.metainfo.xml | 24 +++++++++ 3 files changed, 162 insertions(+) create mode 100644 flatpak/build-flatpak.sh create mode 100644 flatpak/f.f.freezer.json create mode 100644 flatpak/f.f.freezer.metainfo.xml diff --git a/flatpak/build-flatpak.sh b/flatpak/build-flatpak.sh new file mode 100644 index 0000000..062e1f0 --- /dev/null +++ b/flatpak/build-flatpak.sh @@ -0,0 +1,50 @@ +#!/bin/bash +# Exit if any command fails +set -e + +# Echo all commands for debug purposes +set -x + + +# No spaces in project name. +projectName=freezer +projectId=f.f.freezer +executableName=freezer + + +# ------------------------------- Build Flatpak ----------------------------- # + +# Extract portable Flutter build. +mkdir -p $projectName +tar -xf $projectName-linux.tar.gz -C $projectName + +# Copy the portable app to the Flatpak-based location. +cp -r $projectName /app/ +chmod +x /app/$projectName/$executableName +mkdir -p /app/bin +ln -s /app/$projectName/$executableName /app/bin/$executableName + +# Install the icon. +iconDir=/app/share/icons/hicolor/scalable/apps +mkdir -p $iconDir +cp -r "$projectName/data/flutter_assets/assets/icon.ico" "$iconDir/freezer.ico" + +# Install the desktop file. +desktopFileDir=/app/share/applications +cat < "$desktopFileDir/$projectId.desktop" +[Desktop Entry] +Type=Application +Name=freezer +GenericName=No DRM Deezer client +Comment=No DRM Deezer client to listen and download your songs +Exec=$executableName +Icon=freezer +Categories=Audio;Music;Player;AudioVideo; +Keywords=Music;Player;Streaming;Online; +Terminal=false +EOF + +# Install the AppStream metadata file. +metadataDir=/app/share/metainfo +mkdir -p $metadataDir +cp -v $projectId.metainfo.xml $metadataDir/ \ No newline at end of file diff --git a/flatpak/f.f.freezer.json b/flatpak/f.f.freezer.json new file mode 100644 index 0000000..cd86338 --- /dev/null +++ b/flatpak/f.f.freezer.json @@ -0,0 +1,88 @@ +{ + "app-id": "f.f.freezer", + "runtime": "org.freedesktop.Platform", + "runtime-version": "22.08", + "sdk": "org.freedesktop.Sdk", + "command": "freezer", + "finish-args": [ + "--share=ipc", + "--socket=fallback-x11", + "--socket=wayland", + "--device=dri", + "--share=network", + "--socket=pulseaudio" + ], + "modules": [ + { + "name": "ffmpeg", + "cleanup": ["/include", "/lib/pkgconfig", "/share/ffmpeg/examples"], + "config-opts": [ + "--enable-shared", + "--disable-static", + "--enable-gnutls", + "--disable-doc", + "--disable-programs", + "--disable-encoders", + "--disable-muxers", + "--enable-encoder=png", + "--enable-libv4l2", + "--enable-libdav1d" + ], + "sources": [ + { + "type": "git", + "url": "https://git.ffmpeg.org/ffmpeg.git" + } + ] + }, + { + "name": "libass", + "cleanup": ["/include", "/lib/*.la", "/lib/pkgconfig"], + "config-opts": ["--disable-static"], + "sources": [ + { + "type": "archive", + "url": "https://github.com/libass/libass/releases/download/0.14.0/libass-0.14.0.tar.xz", + "sha256": "881f2382af48aead75b7a0e02e65d88c5ebd369fe46bc77d9270a94aa8fd38a2" + } + ] + }, + { + "name": "libmpv", + "cleanup": ["/include", "/lib/pkgconfig", "/share/man"], + "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": "git", + "url": "https://github.com/mpv-player/mpv.git" + }, + { + "type": "file", + "url": "https://waf.io/waf-2.0.19", + "sha256": "ba63c90a865a9bcf46926c4e6776f9a3f73d29f33d49b7f61f96bc37b7397cef", + "dest-filename": "waf" + } + ] + }, + { + "name": "freezer", + "buildsystem": "simple", + "build-commands": ["./build-flatpak.sh"], + "sources": [ + { + "type": "file", + "path": "freezer-linux.tar.gz" + }, + { + "type": "file", + "path": "build-flatpak.sh" + } + ] + } + ] +} diff --git a/flatpak/f.f.freezer.metainfo.xml b/flatpak/f.f.freezer.metainfo.xml new file mode 100644 index 0000000..cace05f --- /dev/null +++ b/flatpak/f.f.freezer.metainfo.xml @@ -0,0 +1,24 @@ + + + + f.f.freezer + Freezer + A DRM-free Deezer client + Pato05 + https://fem.mint.lgbt/pato05/freezer + + pointing + keyboard + touch + + +

DRM-free Deezer music player.

+
+ f.f.freezer.desktop + + + +