source: setup.py@ 875:8f22aae44a00

Last change on this file since 875:8f22aae44a00 was 875:8f22aae44a00, checked in by István Váradi <ivaradi@…>, 7 years ago

The MSVC C runtime manifest is added

File size: 4.2 KB
Line 
1# -*- coding: iso-8859-2 -*-
2
3import sys
4import os
5from glob import glob
6from distutils.core import setup
7
8scriptdir=os.path.dirname(sys.argv[0])
9sys.path.insert(0, os.path.join(scriptdir, "src"))
10
11import mlx.const
12import mlx.update
13
14data_files = [("sounds", glob(os.path.join("sounds", "*.*")))]
15for language in ["en", "hu"]:
16 data_files.append((os.path.join("doc", "manual", language),
17 glob(os.path.join("doc", "manual", language, "*.*"))))
18 data_files.append((os.path.join("locale", language, "LC_MESSAGES"),
19 [os.path.join("locale", language, "LC_MESSAGES",
20 "mlx.mo")]))
21
22rootFiles = ["logo.png", "conn_grey.png", "conn_red.png", "conn_green.png"]
23if os.name!="nt":
24 rootFiles.append("Microsoft.VC90.CRT.manifest")
25data_files.append(("", rootFiles))
26
27if os.name=="nt":
28 import py2exe
29
30 data_files.append(("", ["logo.ico"]))
31
32 msvcrDir = os.environ["MSVCRDIR"] if "MSVCRDIR" in os.environ else None
33 if msvcrDir:
34 data_files.append(("Microsoft.VC90.CRT",
35 ["Microsoft.VC90.CRT.manifest"] +
36 glob(os.path.join(msvcrDir, "*.*"))))
37 os.environ["PATH"] = os.environ["PATH"] + ";" + glob(os.path.join(msvcrDir))[0]
38
39
40 gtkRuntimeDir = os.environ["GTKRTDIR"] if "GTKRTDIR" in os.environ else None
41 if gtkRuntimeDir:
42 path = os.path.join("lib", "gtk-2.0", "2.10.0", "engines")
43 data_files.append((os.path.join("library", path),
44 [os.path.join(gtkRuntimeDir, path, "libwimp.dll")]))
45
46 path = os.path.join("share", "themes", "MS-Windows", "gtk-2.0")
47 data_files.append((os.path.join("library", path),
48 glob(os.path.join(gtkRuntimeDir, path, "*"))))
49
50 path = os.path.join("share", "locale", "hu", "LC_MESSAGES")
51 data_files.append((os.path.join("library", path),
52 glob(os.path.join(gtkRuntimeDir, path, "*"))))
53 path = os.path.join("share", "icons", "hicolor")
54 data_files.append((os.path.join("library", path),
55 glob(os.path.join(gtkRuntimeDir, path, "*"))))
56
57 cefDir = os.environ.get("CEFDIR")
58 if cefDir:
59 for fileName in ["icudt.dll", "subprocess.exe"]:
60 data_files.append(("", [os.path.join(cefDir, fileName)]))
61
62 data_files.append(("locales",
63 glob(os.path.join(cefDir, "locales", "*"))))
64
65 print data_files
66
67 with open("mlx-common.nsh", "wt") as f:
68 print >>f, '!define MLX_VERSION "%s"' % (mlx.const.VERSION)
69 f.close()
70else:
71 for (dirpath, dirnames, filenames) in os.walk("patches"):
72 if filenames:
73 filenames = [os.path.join(dirpath, filename)
74 for filename in filenames]
75 data_files.append((dirpath, filenames))
76
77
78long_description="""MAVA Logger X
79
80This is a program to log and evaluate the actions
81of a pilot flying a virtual Malév flight operated
82by MAVA."""
83
84setup(name = "mlx",
85 version = mlx.const.VERSION,
86 description = "MAVA Logger X",
87 long_description = long_description,
88 author = "István Váradi",
89 author_email = "ivaradi@gmail.com",
90 url = "http://mlx.varadiistvan.hu",
91 package_dir = { "" : "src" },
92 packages = ["mlx", "mlx.gui"],
93 requires = ["pyuipc", "xplra"],
94 windows = [{ "script" : "runmlx.py",
95 "icon_resources" : [(1, "logo.ico")]},
96 { "script" : "mlxupdate.py",
97 "uac_info" : "requireAdministrator"}],
98 options = { "py2exe" : { "includes": "gio, pango, atk, pangocairo, lxml._elementpath",
99 "skip_archive": True} },
100 zipfile = "library/.",
101 data_files = data_files,
102 platforms = ["Win32", "Linux"],
103 license = "Public Domain"
104 )
105
106if os.name=="nt":
107 os.rename(os.path.join(scriptdir, "dist", "library", "libcef.dll"),
108 os.path.join(scriptdir, "dist", "libcef.dll"))
109 mlx.update.buildManifest(os.path.join(scriptdir, "dist"))
110 with open(os.path.join(scriptdir, "dist", "Uninstall.conf"), "wt") as f:
111 print >> f, "StartMenuFolder=MAVA Logger X"
112 print >> f, "LinkName=MAVA Logger X"
Note: See TracBrowser for help on using the repository browser.