You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

61 lines
2.1 KiB

  1. #!/bin/bash
  2. # Run with as parameter a setup.py that works in the current directory
  3. # e.g. no os.chdir()
  4. # It will run twice, the first time will crash
  5. set -e
  6. SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
  7. if [ ! -d wine-py2exe ]; then
  8. sudo apt-get install wine1.3 axel bsdiff
  9. mkdir wine-py2exe
  10. cd wine-py2exe
  11. export WINEPREFIX=`pwd`
  12. axel -a "http://www.python.org/ftp/python/2.7/python-2.7.msi"
  13. axel -a "http://downloads.sourceforge.net/project/py2exe/py2exe/0.6.9/py2exe-0.6.9.win32-py2.7.exe"
  14. axel -a "http://pypi.python.org/packages/2.7/l/lxml/lxml-2.3.win32-py2.7.exe"
  15. #axel -a "http://winetricks.org/winetricks"
  16. # http://appdb.winehq.org/objectManager.php?sClass=version&iId=21957
  17. echo "Follow python setup on screen"
  18. wine msiexec /i python-2.7.msi
  19. echo "Follow py2exe setup on screen"
  20. wine py2exe-0.6.9.win32-py2.7.exe
  21. echo "Follow lxml setup on screen"
  22. wine lxml-2.3.win32-py2.7.exe
  23. #echo "Follow Microsoft Visual C++ 2008 Redistributable Package setup on screen"
  24. #bash winetricks vcrun2008
  25. rm lxml-2.3.win32-py2.7.exe
  26. rm py2exe-0.6.9.win32-py2.7.exe
  27. rm python-2.7.msi
  28. #rm winetricks
  29. # http://bugs.winehq.org/show_bug.cgi?id=3591
  30. mv drive_c/Python27/Lib/site-packages/py2exe/run.exe drive_c/Python27/Lib/site-packages/py2exe/run.exe.backup
  31. bspatch drive_c/Python27/Lib/site-packages/py2exe/run.exe.backup drive_c/Python27/Lib/site-packages/py2exe/run.exe "$SCRIPT_DIR/SizeOfImage.patch"
  32. mv drive_c/Python27/Lib/site-packages/py2exe/run_w.exe drive_c/Python27/Lib/site-packages/py2exe/run_w.exe.backup
  33. bspatch drive_c/Python27/Lib/site-packages/py2exe/run_w.exe.backup drive_c/Python27/Lib/site-packages/py2exe/run_w.exe "$SCRIPT_DIR/SizeOfImage_w.patch"
  34. cd -
  35. else
  36. export WINEPREFIX="$( cd wine-py2exe && pwd )"
  37. fi
  38. wine "C:\\Python27\\python.exe" "$1" py2exe > "py2exe.log" 2>&1 || true
  39. echo '# Copying python27.dll' >> "py2exe.log"
  40. cp "$WINEPREFIX/drive_c/windows/system32/python27.dll" build/bdist.win32/winexe/bundle-2.7/
  41. wine "C:\\Python27\\python.exe" "$1" py2exe >> "py2exe.log" 2>&1