-
Notifications
You must be signed in to change notification settings - Fork 3
/
build.sh
executable file
·71 lines (68 loc) · 2.82 KB
/
build.sh
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/bin/bash
if [[ "$OSTYPE" == "linux-gnu" ]]; then
# Get location of libxcb.so.1 so it can be included
LIBXCB=`ldconfig -p | grep libxcb.so.1 | grep x86-64 | sed 's/^.*=> //'`
rm -fr dist
python3 -m PyInstaller --add-binary "$LIBXCB:." \
--hidden-import "cairo" \
--hidden-import "numpy" \
--hidden-import "cv2" \
--hidden-import "pystackreg" \
--hidden-import "pywt" \
--hidden-import "webbrowser" \
--hidden-import "psutil" \
--hidden-import "importlib" \
--exclude-module "gi.repository.Gst" \
AstraStack.py
rm -fr dist/AstraStack/*.dist-info
rm -fr dist/AstraStack/share/
cp -r ui dist/AstraStack/
cp -r manual dist/AstraStack/
rm dist/AstraStack/ui/logo.xcf
rm dist/AstraStack/ui/logo.ico
rm dist/AstraStack/manual/Manual.odt
cp scripts/astrastack dist/AstraStack/
cp scripts/astrastack.desktop dist/AstraStack
if [[ "$1" != "snap" ]]; then
# Normal Linux build
mkdir -p dist/AstraStack/share_override/icons/Adwaita/
cp -r share_override/icons/Adwaita dist/AstraStack/share_override/icons/
cp scripts/install.sh dist/
cd dist
echo "Compressing..."
tar cf - . -P | pv -s $(du -sb . | awk '{print $1}') | xz > ../AstraStack.tar.xz
else
# Snap build
cp scripts/astrastack.snap.desktop dist/AstraStack/ui/AstraStack.desktop
fi
elif [[ "$OSTYPE" == "msys" ]]; then
rm -fr dist
pyinstaller --windowed \
--icon "ui/logo.ico" \
--hidden-import "packaging.requirements" \
--hidden-import "pkg_resources.py2_warn" \
--hidden-import "cairo" \
--hidden-import "numpy" \
--hidden-import "cv2" \
--hidden-import "pystackreg" \
--hidden-import "pywt" \
--hidden-import "webbrowser" \
--hidden-import "psutil" \
--hidden-import "importlib" \
--exclude-module "FixTk" \
--exclude-module "tcl" \
--exclude-module "tk" \
--exclude-module "_tkinter" \
--exclude-module "tkinter" \
--exclude-module "Tkinter" \
AstraStack.py
rm -fr dist/AstraStack/*.dist-info
rm -fr dist/AstraStack/share/locale/
rm -fr dist/AstraStack/site-packages/
cp -r ui dist/AstraStack/
cp -r manual dist/AstraStack/
rm dist/AstraStack/ui/logo.xcf
rm dist/AstraStack/ui/logo.ico
rm dist/AstraStack/manual/Manual.odt
C:/'Program Files (x86)'/'Inno Setup 6'/ISCC.exe scripts/inno.iss
fi