build: linux AppImage release

This commit is contained in:
ardocrat 2024-06-19 22:46:33 +03:00
parent a54d9521e8
commit ff66ad7923
9 changed files with 44 additions and 10 deletions

12
.gitignore vendored
View file

@ -5,14 +5,14 @@ android/keystore
android/keystore.properties android/keystore.properties
/.idea /.idea
.DS_Store .DS_Store
/build
/captures /captures
.externalNativeBuild .externalNativeBuild
.cxx .cxx
*.so *.so
/target target
/.cargo/ .cargo/
/app/src/main/jniLibs app/src/main/jniLibs
/scripts/macos/Grim.app/Contents/MacOS/grim-bin scripts/macos/Grim.app/Contents/MacOS/grim-bin
/scripts/macos/cert.pem scripts/macos/cert.pem
scripts/linux/Grim.AppDir/AppRun
.intentionally-empty-file.o .intentionally-empty-file.o

View file

@ -12,11 +12,10 @@ build = "src/build/build.rs"
[package.metadata.bundle] [package.metadata.bundle]
name = "Grim" name = "Grim"
identifier = "mw.gri" identifier = "mw.gri"
icon = ["img/icon.png", "img/128x128.png", "img/128x128@2x.png"] icon = ["img/icon.png"]
version = "0.1.0" version = "0.1.0"
resources = ["img"] resources = ["img"]
copyright = "Copyright (c) Grim 2024. All rights reserved." category = "Finance"
category = "public.app-category.finance"
short_description = "Cross-platform GUI for Grin." short_description = "Cross-platform GUI for Grin."
long_description = """ long_description = """
Cross-platform GUI for Grin on Rust with focus on usability and availability to be used by anyone, anywhere. Cross-platform GUI for Grin on Rust with focus on usability and availability to be used by anyone, anywhere.

View file

@ -0,0 +1 @@
grim.png

View file

@ -0,0 +1,6 @@
[Desktop Entry]
Name=Grim
Exec=grim
Icon=grim
Type=Application
Categories=Finance

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

28
scripts/release_linux.sh Executable file
View file

@ -0,0 +1,28 @@
#!/bin/bash
case $1 in
x86|arm)
;;
*)
echo "Usage: release_macos.sh [platform]\n - platform: 'x86', 'arm'" >&2
exit 1
esac
# Setup build directory
BASEDIR=$(cd $(dirname $0) && pwd)
cd ${BASEDIR}
cd ..
# Setup platform argument
[[ $1 == "x86" ]] && arch+=(x86_64-unknown-linux-gnu)
[[ $1 == "arm" ]] && arch+=(aarch64-unknown-linux-gnu)
# Start release build with zig linker for cross-compilation
cargo install cargo-zigbuild
cargo zigbuild --release --target ${arch}
# Create AppImage with https://github.com/AppImage/appimagetool
cp target/${arch}/release/grim scripts/linux/Grim.AppDir/AppRun
rm target/${arch}/release/*.AppImage
appimagetool scripts/linux/Grim.AppDir
mv *.AppImage target/${arch}/release/Grim-0.1.0-linux-$1.AppImage

View file

@ -35,7 +35,7 @@ yes | cp -rf target/${arch}/release/grim scripts/macos/Grim.app/Contents/MacOS/g
### Sign .app before distribution: ### Sign .app before distribution:
### rcodesign generate-self-signed-certificate ### rcodesign generate-self-signed-certificate
### rcodesign sign --pem-file test.pem scripts/macos/Grim.app ### rcodesign sign --pem-file cert.pem scripts/macos/Grim.app
# Create release package # Create release package
FILE_NAME=Grim-0.1.0-macos-$1.zip FILE_NAME=Grim-0.1.0-macos-$1.zip