The usual windows packaging stuff
[tabakrolletjie.git] / packaging / wine-py2exe
1 #!/bin/sh
2 # wine-py2exe
3 #
4 # Usage: wine-py2exe
5
6 WS_VERSION=`sed -nre 's/( *)version="(.*)",/\2/p' setup.py`
7 BUILD_FOLDER="tabakrolletjie-${WS_VERSION}"
8 ZIP_NAME="${BUILD_FOLDER}.zip"
9 PY2EXE_LOG="py2exe.log"
10
11 WINE_PYTHON=`winepath "C:/Python27"`
12 WINE_SYS32=`winepath "C:/windows/system32"`
13
14 #
15 # Run py2exe build under wine
16 #
17
18 echo "=== Running wine python setup.py ==="
19 echo ""
20 echo "  Attack of the Giant Space Mould version: ${WS_VERSION}"
21 echo "  Writing log to ${PY2EXE_LOG}."
22 echo ""
23
24 rm -rf "dist/${BUILD_FOLDER}"
25 mkdir -p "dist/${BUILD_FOLDER}"
26 rm -rf "dist/${ZIP_NAME}"
27
28 wine python setup.py py2exe >${PY2EXE_LOG} 2>&1
29
30 #
31 # Copy dependencies py2exe missed
32 #
33
34 echo "=== Copying dependencies that py2exe missed ==="
35 echo ""
36
37 DEST="dist/${BUILD_FOLDER}"
38
39 cp -v "${WINE_SYS32}/python27.dll" "${DEST}"
40
41 echo "'data' -> '${DEST}/data'"
42 cp -R data ${DEST}/data
43
44 echo "'${WINE_PYTHON}/Lib/site-packages/pygame' -> '${DEST}'"
45 rm -rf "${DEST}/pygame"
46 cp -R "${WINE_PYTHON}/Lib/site-packages/pygame" "${DEST}"
47 echo "'${WINE_PYTHON}/Lib/site-packages/pymunk' -> '${DEST}'"
48 rm -rf "${DEST}/pymunk"
49 cp -R "${WINE_PYTHON}/Lib/site-packages/pymunk" "${DEST}"
50 # Needed so we'll find it when running
51 cp -R "${WINE_PYTHON}/Lib/site-packages/pymunk/chipmunk.dll" "${DEST}"
52 rm -rf "${DEST}/pygame/examples" "${DEST}/pygame/tests" "${DEST}/pygame/docs"
53
54 #
55 # create zip file
56 #
57
58 echo "=== Creating zip of patched py2exe dist folder ==="
59 echo ""
60 echo "  Zip file: dist/${ZIP_NAME}"
61 echo "  Build folder: dist/${BUILD_FOLDER}"
62 echo ""
63
64 cd dist
65 rm -f "$ZIP_NAME"
66 zip -r -q "$ZIP_NAME" "$BUILD_FOLDER"
67 cd ..
68
69 echo "=== Done ==="
70 echo ""
71 echo -n "  "; du -sh dist/${ZIP_NAME}
72 echo -n "  "; du -sh dist/${BUILD_FOLDER}
73 echo ""