state sync, many changes:

* separated css/js/rule files to pak file (glorified zip) to reduce full rebuilds
* implemented build cache
* some frontend UI spiffing up
This commit is contained in:
2025-09-02 16:44:28 -07:00
parent 621d65b9e5
commit 0bd2f4827b
16 changed files with 226 additions and 42 deletions

View File

@@ -2,6 +2,7 @@
srcdir=$(pwd)
BUILD_DIR=${BUILD_DIR:-$srcdir/build}
CACHE_DIR=${CACHE_DIR:-$srcdir/build_cache}
echo "$srcdir => $BUILD_DIR"
die () {
@@ -18,21 +19,33 @@ findcmd python
findcmd rsync
mkdir -p $BUILD_DIR && cd $BUILD_DIR
mkdir -p $CACHE_DIR
rsync -rv --include-from=$srcdir/.rsync-include $srcdir/ $BUILD_DIR/
# rant
mkdir -p opt/rant
cargo install rant --version 4.0.0-alpha.33 --root $BUILD_DIR/opt/rant --features cli
if [[ -f $CACHE_DIR/rant.tar.zst ]]; then
pv -bprt -N "unpacking: rant" $CACHE_DIR/rant.tar.zst | tar -x --zstd -f -
else
mkdir -p opt/rant
cargo install rant --version 4.0.0-alpha.33 --root $BUILD_DIR/opt/rant --features cli
tar -c -f - --zstd opt/rant | pv -bprt -N "caching: rant" > $CACHE_DIR/rant.tar.zst
fi
python $srcdir/render-wordlists.py -i $srcdir/ext/imsky/wordlists -o rant $BUILD_DIR/app/rant/wordlist.rant
# python venv
python -m venv pyvenv
source pyvenv/bin/activate
pip install -r app/requirements.txt
pip install -r app/requirements-build-desktop.txt
pip install -r app/requirements-desktop.txt
[[ $(uname -s) == "Linux" ]] && pip install -r app/requirements-desktop-linux.txt
#[[ $(uname -s) == "Darwin" ]] && pip install -r app/requirements-desktop-macos.txt
if [[ -f $CACHE_DIR/pyvenv.tar.zst ]]; then
pv -bprt -N "unpacking: pyvenv" $CACHE_DIR/pyvenv.tar.zst | tar -x --zstd -f -
source pyvenv/bin/activate
else
python -m venv pyvenv
source pyvenv/bin/activate
pip install -r app/requirements.txt
pip install -r app/requirements-build-desktop.txt
pip install -r app/requirements-desktop.txt
[[ $(uname -s) == "Linux" ]] && pip install -r app/requirements-desktop-linux.txt
#[[ $(uname -s) == "Darwin" ]] && pip install -r app/requirements-desktop-macos.txt
tar -c -f - --zstd pyvenv | pv -bprt -N "caching: pyvenv" > $CACHE_DIR/pyvenv.tar.zst
fi
pyinstaller seagull.spec
deactivate