X-Git-Url: https://svn.cri.ensmp.fr/git/minwii.git/blobdiff_plain/2866c2d4bba983cd34930b246bc32bf76d1d4100..64f0533e41c3ad60a31e078c7cfd2cf34d08d2c0:/setup_win_exe.py diff --git a/setup_win_exe.py b/setup_win_exe.py index 55050ab..8410838 100755 --- a/setup_win_exe.py +++ b/setup_win_exe.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# -*- coding: iso-8859-1 -*- # This will create a dist directory containing the executable file, all the data # directories. All Libraries will be bundled in executable file. # @@ -26,33 +26,23 @@ def isSystemDLL(pathname): return origIsSystemDLL(pathname) py2exe.build_exe.isSystemDLL = isSystemDLL -def findPguThemesDir() : - import pgu.gui.theme - theme_file = pgu.gui.theme.__file__ - dnames = [] - dnames.append(os.path.join(os.path.dirname(theme_file),"..","..","data","themes")) - - #if the package is installed, and the package is installed - #in /usr/lib/python2.3/site-packages/pgu/ - #or c:\python23\lib\site-packages\pgu\ - #the data is in ... lib/../share/ ... - dnames.append(os.path.join(os.path.dirname(theme_file),"..","..","..","..","share","pgu","themes")) - dnames.append(os.path.join(os.path.dirname(theme_file),"..","..","..","..","..","share","pgu","themes")) - dnames.append(os.path.join(os.path.dirname(theme_file),"..","..","share","pgu","themes")) - for dname in dnames: - if os.path.isdir(dname): - return dname - raise IOError('pgu themes folder not found') - +def findMinwiiDir() : + import minwii + return os.path.dirname(minwii.__file__) class MinWii2exe(py2exe.build_exe.py2exe) : def copy_extensions(self, extensions) : py2exe.build_exe.py2exe.copy_extensions(self, extensions) - - self.copyDataFiles('src/minwii/fonts', 'minwii/fonts') - self.copyDataFiles('src/minwii/soundfonts', 'minwii/soundfonts') - self.copyDataFiles('src/minwii/widgets/data', 'minwii/widgets/data') - self.copyDataFiles(findPguThemesDir(), 'data/themes') + minwiiDir = findMinwiiDir() + self.copyDataFiles(os.path.join(minwiiDir, 'fonts'), 'minwii/fonts') + self.copyDataFiles(os.path.join(minwiiDir, 'soundfonts'), 'minwii/soundfonts') + self.copyDataFiles(os.path.join(minwiiDir, 'widgets', 'data'), 'minwii/widgets/data') + + pygamedir = os.path.dirname(pygame.base.__file__) + pygame_default_font = os.path.join(pygamedir, pygame.font.get_default_font()) + dest = os.path.join(self.collect_dir, 'pygame', pygame.font.get_default_font()) + self.copy_file(pygame_default_font, dest) + self.compiled_files.append(os.path.join('pygame', pygame.font.get_default_font())) def copyDataFiles(self, src, dest) : src = src.replace('/', os.path.sep) @@ -76,20 +66,10 @@ class MinWii2exe(py2exe.build_exe.py2exe) : self.compiled_files.append(os.path.join(reldest, relpath, file)) -#class pygame2exe(py2exe.build_exe.py2exe): #This hack make sure that pygame default font is copied: no need to modify code for specifying default font -# def copy_extensions(self, extensions): -# #Get pygame default font -# pygamedir = os.path.split(pygame.base.__file__)[0] -# pygame_default_font = os.path.join(pygamedir, pygame.font.get_default_font()) -# -# #Add font to list of extension to be copied -# extensions.append(Module("pygame.font", pygame_default_font)) -# py2exe.build_exe.py2exe.copy_extensions(self, extensions) - class BuildExe: def __init__(self): #Name of starting .py - self.script = "src/minwii/start_win.py" + #self.script = "src/minwii/runminwii.py" #Name of program self.project_name = "MINWii" @@ -98,25 +78,23 @@ class BuildExe: self.project_url = "about:none" #Version of program - self.project_version = "0.0" + self.project_version = "1.0" #License of the program - self.license = "MyApps License" + self.license = "GPL" #Auhor of program - self.author_name = "Me" - self.author_email = "example@example.com" - self.copyright = "Copyright (c) 2009 Me." + self.author_name = "Samuel Benveniste" + self.author_email = "samuel.benveniste@gmail.com" + self.copyright = "Copyright 2010 MINES-ParisTech" #Description - self.project_description = "MyApps Description" + self.project_description = "Musicothérapie Interractive avec la Wiimote" #Icon file (None will use pygame default icon) - self.icon_file = None + self.icon_file = 'minwii.ico' - #Extra files/dirs copied to game - self.data_files = [('minwii/fonts', - glob.glob('src/minwii/fonts/*.ttf'))] + self.data_files = [] #Extra/excludes python modules self.extra_modules = [] @@ -126,7 +104,7 @@ class BuildExe: self.exclude_dll = [''] #Zip file name (None will bundle files in exe instead of zip file) - self.zipfile_name = None + self.zipfile_name = 'minwii_lib.zip' #Dist directory self.dist_dir ='dist' @@ -157,18 +135,26 @@ class BuildExe: license = self.license, # targets to build - #windows = [{ - # 'script': self.script, - # 'icon_resources': [(0, self.icon_file)], - # 'copyright': self.copyright - #}], - console = [self.script], - options = {'py2exe': {#'optimize': 2, - 'bundle_files': 1, - 'compressed': True, - 'excludes': self.exclude_modules, - 'packages': self.extra_modules, - 'dll_excludes': self.exclude_dll} + windows = [{ + 'script': "src/minwii/runminwii.py", + 'icon_resources': [(0, self.icon_file)], + 'copyright': self.copyright + }, + { + 'script' : "src/minwii/logapp.py", + 'icon_resources': [(0, 'logapp.ico')], + 'copyright' : self.copyright + } + ], + #console = ["src/minwii/logapp.py"], + options = {'py2exe': {'optimize': 1, + 'bundle_files': 3, + #'compressed': True, + #'excludes': self.exclude_modules, + #'packages': self.extra_modules, + #'dll_excludes': self.exclude_dll, + 'skip_archive' : True + } }, zipfile = self.zipfile_name, data_files = self.data_files,