50 lines
1.3 KiB
Bash
50 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 ----------------------------- #
|
||
|
|
||
|
# 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 <<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/
|