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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
#!/usr/bin/env python
import sys, subprocess, os
from distutils.core import setup
from distutils.command.build import build as _build
prefix="/usr"
pyscripts = ["fusion-desktop-effects"]
scripts = ["compiz-fusion-gtk"]
desktopfiles = ['compiz-fusion-gtk.desktop','fusion-desktop-effects.desktop']
pofiles = []
podir = os.path.join (os.path.realpath ("."), "po")
if os.path.isdir (podir):
mopath = "build/locale/%s/fusion-desktop-effects.mo"
destpath = "share/locale/%s/LC_MESSAGES"
for name in os.listdir (podir):
if name[-2:] == "po":
name = name[:-3]
pofiles.append ((destpath % name, [mopath % name]))
def simple_getopt(l,var):
idx = 0
for i in l:
v = "%s=" % var
if v in i:
return (var,i.replace(v,''),idx)
if i == var:
return (var,l[idx+1],idx)
else:
idx += 1
return (None,None,idx)
if len(sys.argv) > 2:
o,v,i = simple_getopt(sys.argv,'--prefix')
if v:
prefix = v
if sys.argv[1] == "build":
if "%s=%s" % (o,v) in sys.argv:
sys.argv.remove("%s=%s" % (o,v))
else:
sys.argv.pop(i)
sys.argv.pop(i)
datadir="%s/share/fusion-desktop-effects/" % prefix
class build(_build):
def run(self):
# build python scripts
for s in pyscripts:
f = open("%s.in" % s).read().replace("@prefix@",prefix).replace("@datadir@",datadir)
fo = open(s,'w')
fo.write(f)
fo.close()
# build .desktop files
for d in desktopfiles:
cmd = "intltool-merge -d -u po/ %s.in %s" % (d,d)
p = subprocess.Popen(cmd.split(' '))
p.wait()
podir = os.path.join (os.path.realpath ("."), "po")
if os.path.isdir (podir):
buildcmd = "msgfmt -o build/locale/%s/fusion-desktop-effects.mo po/%s.po"
mopath = "build/locale/%s/fusion-desktop-effects.mo"
destpath = "share/locale/%s/LC_MESSAGES"
for name in os.listdir (podir):
if name[-2:] == "po":
name = name[:-3]
if not os.path.isdir ("build/locale/" + name):
os.makedirs ("build/locale/" + name)
subprocess.Popen(buildcmd % (name, name),shell=True)
pofiles.append ((destpath % name, [mopath % name]))
_build.run(self)
setup (
name = "fusion-desktop-effects",
version = "0.0.1",
description = "Compiz Fusion Desktop Effects",
author = "Mohd Izhar Firdaus Ismail",
author_email = "izhar@fedoraproject.org",
url = "http://blog.kagesenshi.org/",
license = "GPL",
data_files = [
(datadir,['images/cf_logo.png']),
('%s/share/applications' % prefix, desktopfiles)
] + pofiles,
packages = [],
scripts = scripts + pyscripts,
cmdclass = {"build":build},
)
|