LogarithmPlotter/scripts/build-wine.sh
Ad5001 1fc19f6ba3
Some checks failed
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is failing
Adding rebuild to scripts
2024-10-01 21:50:10 +02:00

52 lines
1.6 KiB
Bash

#!/bin/bash
cd "$(dirname "$(readlink -f "$0" || realpath "$0")")/.." || exit
rebuild=true
while [ $# -gt 0 ]; do
case "$1" in
--no-rebuild)
rebuild=false
;;
*)
box "Error: Invalid argument."
exit 1
esac
shift
done
if [ "$rebuild" == "true" ]; then
rm -rf build
bash scripts/build.sh
fi
cd build/runtime-pyside6 || exit 1
rm -rf $(find . -name "*.pyc")
wine pyinstaller --add-data "LogarithmPlotter/logarithmplotter.svg;." \
--add-data "LogarithmPlotter/qml;qml" \
--add-data "LogarithmPlotter/i18n;i18n" \
--noconsole \
LogarithmPlotter/logarithmplotter.py \
--icon=../../assets/native/win/logarithmplotter.ico \
-n logarithmplotter
# Copy Qt6ShaderTools, a required library for for Qt5Compat
PYSIDE6PATH="$(wine python -c "import PySide6; from os import path; print(path.dirname(PySide6.__file__));")"
# Converting PySide6 path to absolute path
DRIVEC="${WINEPREFIX:-$HOME/.wine}/drive_c"
PYSIDE6PATH="${PYSIDE6PATH%$'\r'}"
PYSIDE6PATH="${PYSIDE6PATH//\\/\/}"
PYSIDE6PATH="${PYSIDE6PATH//C:/$DRIVEC}"
cp "$PYSIDE6PATH/Qt6ShaderTools.dll" dist/logarithmplotter/_internal/PySide6/
# Remove QtWebEngine
rm dist/logarithmplotter/_internal/PySide6/Qt6WebEngineCore.dll
# Remove the QtQuick styles that are unused
rm -rf dist/logarithmplotter/_internal/PySide6/qml/QtQuick/Controls/{Imagine,Material,designer}
# Remove unused tools
rm -r dist/logarithmplotter/_internal/PySide6/qml/{Qt3D,QtQuick3D}
rm dist/logarithmplotter/_internal/PySide6/Qt6{Pdf.dll,*3D*,Location.dll}