forked from johncheetham/jcchess
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
81 lines (69 loc) · 2.3 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
import ez_setup
ez_setup.use_setuptools()
from setuptools import setup
import os
import sys
import shutil
import jcchess.constants
assert sys.version_info >= (3,0)
VERSION = jcchess.constants.VERSION
# linux
data_files=[
(sys.prefix+'/share/applications',['jcchess.desktop']),
(sys.prefix+'/share/pixmaps', ['jcchess.png'])]
package_data_list = []
# translations
if shutil.which("msgfmt") is None:
print("msgfmt not found. Translations will not be built")
else:
localedir = "locale"
dirlist = os.listdir(localedir)
for d in dirlist:
pth = os.path.join(localedir, d)
if not os.path.isdir(pth):
continue
filein = os.path.join(pth, "LC_MESSAGES", "jcchess.po")
pthout = os.path.join("jcchess", pth, "LC_MESSAGES")
if not os.path.exists(pthout):
try:
os.makedirs(pthout)
except OSError as exc:
print("Unable to create locale folder", pthout)
sys.exit()
fileout = os.path.join(pthout, "jcchess.mo")
os.popen("msgfmt %s -o %s" % (filein, fileout))
package_data_list.append(os.path.join(pth, "LC_MESSAGES", "jcchess.mo"))
def read(fname):
return open(os.path.join(os.path.dirname(__file__), fname)).read()
setup(name="jcchess",
version=VERSION,
description="A Chess GUI",
include_package_data=True,
author="John Cheetham",
author_email="developer@johncheetham.com",
url="http://www.johncheetham.com/projects/jcchess/",
long_description=read("README.rst"),
platforms=["Linux"],
license="GPLv3+",
zip_safe=False,
packages=["jcchess", "chess"],
package_data={
"jcchess": package_data_list,
},
data_files=data_files,
entry_points={
"gui_scripts": [
"jcchess = jcchess.jcchess:run",
]
},
classifiers=[
"Development Status :: 4 - Beta",
"Environment :: X11 Applications :: GTK",
"Intended Audience :: End Users/Desktop",
"License :: OSI Approved :: GNU General Public License (GPL)",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python",
"Programming Language :: C",
"Topic :: Games/Entertainment :: Board Games",
],
)