freezer/flatpak/build-flatpak.sh

51 lines
1.3 KiB
Bash
Raw Normal View History

2024-05-01 22:59:30 +00:00
#!/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 ----------------------------- #
# Find and extract portable build
2024-05-01 22:59:30 +00:00
mkdir -p $projectName
EXTRACT_DIR=`pwd`"/$projectName"
tar -xf "../build/linux/x64/release/$projectName-linux-*.tar.gz" -C "$EXTRACT_DIR"
2024-05-01 22:59:30 +00:00
# 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 <<EOF > "$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/