changeset 570:f6a0fbf918fd

Packaging scripts
author Stefano Rivera <stefano@rivera.za.net>
date Sun, 10 Apr 2011 02:36:06 +0200
parents 8f7bd983e394
children ebca2f14517f
files scripts/build_unix.sh scripts/darwin-py2app.sh scripts/wine-py2exe setup.py
diffstat 4 files changed, 146 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/build_unix.sh	Sun Apr 10 02:32:42 2011 +0200
+++ b/scripts/build_unix.sh	Sun Apr 10 02:36:06 2011 +0200
@@ -1,18 +1,16 @@
 #!/bin/bash
 
-GAME_NAME="nine_tails"
-MODULE_NAME="skaapsteker"
+GAME_NAME="nine-tails"
 
-SS_VERSION=`sed -nre 's/VERSION_STR = "(.*)"/\1/p' setup.py`
-BUILD_NAME="${GAME_NAME}-${SS_VERSION}"
-BUILD_FOLDER="build/${MODULE_NAME}"
+NT_VERSION=`sed -nre 's/VERSION_STR = "(.*)"/\1/p' setup.py`
+BUILD_NAME="${GAME_NAME}-${NT_VERSION}"
+BUILD_FOLDER="build/${GAME_NAME}"
 TARBALL_NAME="${BUILD_NAME}.tgz"
 
 rm -rf ${BUILD_FOLDER}
 mkdir -p ${BUILD_FOLDER} dist
 
-cp -r LICENSE.txt README.txt setup.py scripts skaapsteker ${BUILD_FOLDER}/
-cp -r data ${BUILD_FOLDER}/skaapsteker/
+cp -r LICENSE.txt README.txt setup.py scripts data skaapsteker ${BUILD_FOLDER}/
 
 cd build
-tar czf ../dist/${TARBALL_NAME} ${MODULE_NAME}
+tar czf ../dist/${TARBALL_NAME} ${GAME_NAME}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/darwin-py2app.sh	Sun Apr 10 02:36:06 2011 +0200
@@ -0,0 +1,54 @@
+#!/bin/sh
+# Copyright 2009 Jeremy Thurgood <firxen+rinkhals@gmail.com>
+# GPL - see COPYING for details
+#
+# Usage: darwin-py2app
+
+GAME_NAME="nine-tails"
+
+NT_VERSION=`sed -nre 's/VERSION_STR = "(.*)"/\1/p' setup.py`
+BUILD_NAME="${GAME_NAME}-${NT_VERSION}"
+BUILD_FOLDER="build/${GAME_NAME}"
+DMG_NAME="${BUILD_NAME}.dmg"
+PY2APP_LOG="py2app.log"
+
+BASEDIR=`pwd`
+
+echo "=== Setting up build environment ==="
+
+./scripts/build_unix.sh
+
+cd ${BUILD_FOLDER}
+
+# find data -name '*.svg' -delete
+
+echo ""
+echo "=== Running python setup.py ==="
+echo "  Nine Tales version: ${NT_VERSION}"
+echo "  Writing log to ${PY2APP_LOG}"
+
+python setup.py py2app >${PY2APP_LOG} 2>&1
+
+echo ""
+echo "=== Removing useless cruft that just takes up space ==="
+echo ""
+
+for dir in docs examples tests; do
+    find "dist/" -path "*/Resources/lib/*/pygame/${dir}/*" -delete
+done
+
+echo "=== Building DMG ==="
+echo ""
+
+cd ${BASEDIR}
+
+pwd
+rm dist/${DMG_NAME} > /dev/null
+hdiutil create -srcfolder ${BUILD_FOLDER}/dist/*.app/ dist/${DMG_NAME}
+
+echo ""
+echo "=== Done ==="
+echo ""
+du -sh dist/* | sed 's/^/   /'
+echo ""
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/wine-py2exe	Sun Apr 10 02:36:06 2011 +0200
@@ -0,0 +1,85 @@
+#!/bin/sh
+# wine-py2exe
+# Copyright Simon Cross, Neil Muller, 2009 (see COPYING File)
+#
+# Usage: wine-py2exe
+
+NT_VERSION=`sed -nre 's/VERSION_STR = "(.*)"/\1/p' setup.py`
+BUILD_FOLDER="nine-tails-${NT_VERSION}"
+ZIP_NAME="${BUILD_FOLDER}.zip"
+PY2EXE_LOG="py2exe.log"
+
+WINE_PYTHON=`winepath "C:/Python25"`
+WINE_SYS32=`winepath "C:/windows/system32"`
+
+#
+# Run py2exe build under wine
+#
+
+echo "=== Running wine python setup.py ==="
+echo ""
+echo "  Nine Tails version: ${NT_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}"
+mkdir -p "dist/${BUILD_FOLDER}"
+rm -rf "dist/${ZIP_NAME}"
+
+wine python setup.py py2exe >${PY2EXE_LOG} 2>&1
+
+#
+# Copy dependencies py2exe missed
+#
+
+echo "=== Copying dependencies that py2exe missed ==="
+echo ""
+
+DEST="dist/${BUILD_FOLDER}"
+
+cp -v "${WINE_SYS32}/python25.dll" "${DEST}"
+cp -v "${WINE_SYS32}/msvcr71.dll" "${DEST}"
+
+#echo "'${WINE_PYTHON}/share/pgu/themes/default' -> '${DEST}/share/pgu/themes/'"
+#mkdir -p "${DEST}/share/pgu/themes"
+#cp -R "${WINE_PYTHON}/share/pgu/themes/default" "${DEST}/share/pgu/themes/"
+
+echo "'Resources' -> '${DEST}/Resources'"
+bzr export -q "${DEST}/Resources" "Resources"
+#find "${DEST}/data" -name '*.svg' -delete
+
+echo "'${WINE_PYTHON}/Lib/site-packages/pygame' -> '${DEST}'"
+rm -rf "${DEST}/pygame"
+cp -R "${WINE_PYTHON}/Lib/site-packages/pygame" "${DEST}"
+rm -rf "${DEST}/pygame/examples" "${DEST}/pygame/tests" "${DEST}/pygame/docs"
+
+echo "'docs/walkthrough.rst' -> '${DEST}/Resources'"
+rm -f "${DEST}/walkthrough.rst"
+cp "docs/walkthrough.rst" "${DEST}/walkthrough.rst"
+
+echo ""
+
+#
+# create zip file
+#
+
+echo "=== Creating zip of patched py2exe dist folder ==="
+echo ""
+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"
+cd ..
+
+echo "=== Done ==="
+echo ""
+echo -n "  "; du -sh dist/${ZIP_NAME}
+echo -n "  "; du -sh dist/${BUILD_FOLDER}
+echo ""
--- a/setup.py	Sun Apr 10 02:32:42 2011 +0200
+++ b/setup.py	Sun Apr 10 02:36:06 2011 +0200
@@ -14,7 +14,7 @@
 VERSION_STR = "0.1"
 
 setup   (   # Metadata
-            name = "nine_tales",
+            name = "nine-tales",
             version = VERSION_STR,
             description = "Nine Tales of the Kitsune: Platformer for PyWeek 12",