8 from os.path import join
10 def add_flag(option, opt, value, parser):
13 def add_value(option, opt, value, parser):
15 dist_args.append(value)
17 def add_prefix_value(option, opt, value, parser):
20 add_value(option, opt, value, parser)
22 parser = optparse.OptionParser()
25 help='installation prefix',
26 action='callback', callback=add_prefix_value, type=str)
29 help='compile .py to .pyc [default]',
30 action='callback', callback=add_flag)
33 help="don't compile .py files",
34 action='callback', callback=add_flag)
38 action='callback', callback=add_value, type=str)
41 help='force installation (overwrite any existing files)',
42 action='callback', callback=add_flag)
46 dist_prefix = '/usr/local'
48 for i in xrange(1, len(sys.argv)):
50 if arg.startswith('-'):
52 if arg.startswith('install'):
53 dist_args = sys.argv[:i+1]
54 parse_args = sys.argv[i+1:]
58 parser.usage = '%s [options]' % ' '.join(dist_args)
59 parser.parse_args(args=parse_args)
70 scriptdir = 'share/matrix/scripts'
79 (scriptdir, glob('scripts/*.sh') + glob('scripts/*.mk')),
80 (join(scriptdir, 'styles'), glob('scripts/styles/*.mk')),
84 python_version = 'python%d.%d' % tuple(sys.version_info[0:2])
86 dist_moduledir = join(dist_prefix, 'lib', python_version, 'site-packages')
87 dist_scriptdir = join(dist_prefix, scriptdir)
89 dist_binfiles = [join(dist_prefix, file) for file in binfiles]
93 path = dist_binfiles[0]
95 file = open(path, 'rU')
96 lines = file.readlines()
99 file = open(path, 'w')
101 line = line.replace('@MODULEDIR@', dist_moduledir)
102 line = line.replace('@SCRIPTDIR@', dist_scriptdir)
108 for path in dist_binfiles: