-# -*- 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.
#
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)
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"
+ self.project_name = "MINDs"
#Project url
- self.project_url = "about:none"
+ self.project_url = "http://minwii.org"
#Version of program
- self.project_version = "0.0"
+ self.project_version = "2.0.2"
#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-2011 MINES-ParisTech"
#Description
- self.project_description = "MyApps Description"
+ self.project_description = "Musique Interactive Numérique pour les Démences"
#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 = []
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'
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,