51 lines
1.3 KiB
Bash
51 lines
1.3 KiB
Bash
#!/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
|
|
mkdir -p $projectName
|
|
EXTRACT_DIR=`pwd`"/$projectName"
|
|
tar -xf "../build/linux/x64/release/$projectName-linux-*.tar.gz" -C "$EXTRACT_DIR"
|
|
|
|
# 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/ |