Layers/build-linux.sh

43 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
ROOT="$(cd "$(dirname "$0")" && pwd)"
cd "$ROOT"
render_plugin_json() {
local entrypoint="$1"
local out="$2"
local in="$ROOT/plugin.json.in"
if [ ! -f "$in" ]; then
echo "ERROR: $in not found" >&2
exit 1
fi
sed "s|@ENTRYPOINT@|$entrypoint|g" "$in" > "$out"
}
STAGE="$ROOT/build/bin/com.jesshunter.layers"
APPDIR="$STAGE/bin"
rm -rf "$STAGE"
mkdir -p "$APPDIR" "$STAGE/resources"
if command -v rsvg-convert >/dev/null 2>&1 && [ -f "$ROOT/resources/Layers.svg" ]; then
for size in 24 48 128 256; do
if [ ! -f "$ROOT/resources/icon-${size}.png" ]; then
rsvg-convert --width "$size" --height "$size" \
"$ROOT/resources/Layers.svg" -o "$ROOT/resources/icon-${size}.png"
fi
done
fi
cargo build --release --bin layers
cp "$ROOT/target/release/layers" "$APPDIR/Layers"
chmod +x "$APPDIR/Layers"
render_plugin_json "bin/Layers" "$STAGE/plugin.json"
[ -f "$ROOT/LICENCE" ] && cp "$ROOT/LICENCE" "$STAGE/LICENCE"
cp -r "$ROOT/resources/." "$STAGE/resources/"
echo "staged: $STAGE"
echo "bin: $APPDIR/Layers"