github / src / setup.py @ master
1 |
# Copyright (c) 2016-2020, LE GOFF Vincent |
---|---|
2 |
# All rights reserved.
|
3 |
|
4 |
# Redistribution and use in source and binary forms, with or without
|
5 |
# modification, are permitted provided that the following conditions are met:
|
6 |
|
7 |
# * Redistributions of source code must retain the above copyright notice, this
|
8 |
# list of conditions and the following disclaimer.
|
9 |
|
10 |
# * Redistributions in binary form must reproduce the above copyright notice,
|
11 |
# this list of conditions and the following disclaimer in the documentation
|
12 |
# and/or other materials provided with the distribution.
|
13 |
|
14 |
# * Neither the name of ytranslate nor the names of its
|
15 |
# contributors may be used to endorse or promote products derived from
|
16 |
# this software without specific prior written permission.
|
17 |
|
18 |
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
19 |
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
20 |
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
21 |
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
22 |
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
23 |
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
24 |
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
25 |
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
26 |
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
27 |
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
28 |
|
29 |
import distutils |
30 |
import opcode |
31 |
import os |
32 |
import shutil |
33 |
|
34 |
from cx_Freeze import setup, Executable |
35 |
|
36 |
client = Executable( |
37 |
script="cocomud.py",
|
38 |
base="Win32GUI",
|
39 |
) |
40 |
|
41 |
updater = Executable( |
42 |
script="updater.py",
|
43 |
base="Win32GUI",
|
44 |
) |
45 |
|
46 |
dbg_updater = Executable( |
47 |
script="dbg_updater.py",
|
48 |
) |
49 |
|
50 |
distutils_path = os.path.join(os.path.dirname(opcode.__file__), 'distutils')
|
51 |
includefiles = [ |
52 |
(distutils_path, 'lib/distutils'),
|
53 |
# The 'pubsub' package has to be copied from the virtual environment
|
54 |
(os.path.join(os.environ["VIRTUAL_ENV"], 'lib', 'site-packages', 'pubsub', 'utils'), 'lib/pubsub/utils'), |
55 |
"translations",
|
56 |
"worlds",
|
57 |
"../doc",
|
58 |
"../settings",
|
59 |
|
60 |
# Requests
|
61 |
"cacert.pem",
|
62 |
] |
63 |
|
64 |
if os.path.exists("build/CocoMUD"): |
65 |
shutil.rmtree("build/CocoMUD")
|
66 |
|
67 |
setup( |
68 |
name = "CocoMUD client",
|
69 |
version = "0.2",
|
70 |
description = "The CocoMUD client.",
|
71 |
options = {'build_exe': {
|
72 |
"include_files": includefiles,
|
73 |
"excludes": ["_gtkagg", "_tkagg", "bsddb", "distutils", "curses", |
74 |
"pywin.debugger", "pywin.debugger.dbgcon", |
75 |
"pywin.dialogs", "tcl", "Tkconstants", "Tkinter"], |
76 |
"packages": ["accesspanel", "redminelib.resources", "_cffi_backend", "idna.idnadata", "pubsub.pub"], |
77 |
"namespace_packages": ["zope.interface"], |
78 |
}}, |
79 |
executables = [client, updater, dbg_updater] |
80 |
) |
81 |
|
82 |
shutil.move("build/exe.win32-3.6", "build/CocoMUD") |
83 |
if os.name == "nt": |
84 |
for library in os.listdir("../lib/windows"): |
85 |
shutil.copyfile("../lib/windows/" + library, "build/CocoMUD/" + library) |