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
|
#!/usr/bin/env python
import distutils
import distutils.sysconfig
from distutils.command.build import build
from distutils.core import setup
from string import Template
from recent_notifications.Globals import VERSION
class build_servers(distutils.cmd.Command):
description = "build bonobo server files"
user_options = [
("server-files=", None, "server.in files that should be built")
]
def initialize_options(self):
self.server_files = "[]"
def finalize_options(self):
pass
def run(self):
try:
file_set = eval(self.server_files)
except:
raise Exception("Invalid server-files option: " + self.server_files)
data_files = self.distribution.data_files
for (target, files) in file_set:
files_built = []
for file in files:
if file.endswith("server.in"):
output_file = file[:-3]
else:
raise Exception("Invalid server file: " + file)
print "building server file", output_file
with open(file, "r") as f:
server_data = f.read()
with open(output_file, "w") as f:
f.write(Template(server_data).substitute(PREFIX=distutils.sysconfig.PREFIX))
files_built.append(output_file)
data_files.append((target, files_built))
build.sub_commands.append(("build_servers", None))
setup(
name="recent-notifications",
version=VERSION,
author="Jason Conti",
author_email="jason.conti@gmail.com",
url="http://www.example.com/recent-notifcations",
license="GNU General Public License (GPL)",
packages=["recent_notifications"],
data_files=[
("lib/recent-notifications", ["recent-notifications"]),
("share/icons/hicolor/scalable/apps", [
"icons/notification-critical.svg",
"icons/notification-low.svg",
"icons/notification-normal.svg",
"icons/notification-read.svg",
"icons/notification-unread.svg",
"icons/recent-notifications.svg"])
],
cmdclass={
"build_servers": build_servers
}
)
|