-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild-linux.sh
More file actions
executable file
·35 lines (28 loc) · 1.01 KB
/
Copy pathbuild-linux.sh
File metadata and controls
executable file
·35 lines (28 loc) · 1.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/usr/bin/env bash
# Build RawView as a standalone PyInstaller bundle on Linux.
# Run from the repo root with the venv active:
# source .venv/bin/activate
# bash build-linux.sh
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
cd "$SCRIPT_DIR"
echo "=== RawView Linux build ==="
if ! python -c "import PyInstaller" 2>/dev/null; then
echo "Installing PyInstaller..."
pip install "pyinstaller>=6.0"
fi
if ! python -c "import pypresence" 2>/dev/null; then
echo "Installing pypresence for Discord Rich Presence..."
pip install pypresence
fi
# Compile the Java bridge if GHIDRA_INSTALL_DIR is set and classes are missing.
MARKER="rawview/java/out/io/rawview/ghidra/GhidraServer.class"
if [ -n "${GHIDRA_INSTALL_DIR:-}" ] && [ ! -f "$MARKER" ]; then
echo "Compiling Java bridge classes..."
python -m rawview.scripts.compile_java
fi
echo "Running PyInstaller..."
pyinstaller packaging/rawview.spec --noconfirm
echo ""
echo "Done. Bundle: dist/RawView/"
echo "Run with: ./dist/RawView/RawView"