# HG changeset patch # User Simon Cross # Date 1252172151 0 # Node ID 67021d0920dcf867eecb4294931d9d1ae1ba7bda # Parent e12d99215b74953f13ae06f0ba65f31724dd30c6 Script for running py2exe on Fox Assault under Wine. diff -r e12d99215b74 -r 67021d0920dc wine-py2exe --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wine-py2exe Sat Sep 05 17:35:51 2009 +0000 @@ -0,0 +1,76 @@ +#!/bin/sh +# Copyright 2008 Simon Cross +# GPL - see COPYING for details +# +# Usage: wine-py2exe + +OFA_VERSION=`PYTHONPATH=. python -c "from gamelib import version; print version.VERSION_STR"` +BUILD_FOLDER="foxassault-${OFA_VERSION}" +ZIP_NAME="${BUILD_FOLDER}.zip" +TEMPLATE_FOLDER="$1" +PY2EXE_LOG="py2exe.log" +WINE_PYTHON=`winepath "C:/Python25"` + +if [ "x$TEMPLATE_FOLDER" = "x" ] ; then + echo "Please specify a template folder!" + exit 1 +fi + +# +# Run py2exe build under wine +# + +echo "=== Running wine python setup.py ===" +echo " Fox Assault version: ${OFA_VERSION}" +echo " Writing log to ${PY2EXE_LOG}." +echo " ---" +echo " Please make sure you have patched your py2exe run.exe" +echo " and run_w.exe with PETools (they need to have their" +echo " executable size correctly set)." +echo "" + +rm -rf "dist/${BUILD_FOLDER}" +rm -rf "dist/${ZIP_NAME}" +wine python setup.py py2exe >${PY2EXE_LOG} 2>&1 + +# +# Copy in GTK dependencies py2exe missed +# One should be able to obtain /etc, /lib +# and /share by installing GTK in a Windows machine +# and copying them into the template folder. +# Copy python dll that py2exe misses +# Copy sqlite dll that py2exe misses +# One should be able to obtain python25.dll and +# sqlite3.dll from a Windows Python 2.5 installation. + +echo "=== Copying dependencies that py2exe missed ===" +echo " Using template folder ${TEMPLATE_FOLDER}." +echo "" + +DEST="dist/${BUILD_FOLDER}" + +cp -v "${WINE_PYTHON}/Lib/site-packages/pygame"/*.dll "${DEST}" +cp -v "${TEMPLATE_FOLDER}/python25.dll" "${DEST}" +mkdir -p "${DEST}/share/pgu/themes" +echo "'${WINE_PYTHON}/share/pgu/themes/default' -> '${DEST}/share/pgu/themes/'" +cp -R "${WINE_PYTHON}/share/pgu/themes/default" "${DEST}/share/pgu/themes/" +echo "'data' -> '${DEST}/data'" +svn export -q "data" "${DEST}/data" + +echo "" + +# +# create zip file +# + +echo "=== Creating zip of patched py2exe dist folder ===" +echo " Zip file: dist/${ZIP_NAME}" +echo " Build folder: dist/${BUILD_FOLDER}" +echo "" + +cd dist +rm -f "$ZIP_NAME" +zip -r -q "$ZIP_NAME" "$BUILD_FOLDER" +rm -rf "~/.VirtualBox/shared/$BUILD_FOLDER" +cp -R "$BUILD_FOLDER" ~/.VirtualBox/shared/ +cd ..