~dhananjaysathe/nuvola-player/TelepathyExt

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
99
100
101
102
103
104
#! /usr/bin/env python
# encoding: utf-8
# License: GNU GPL 3
# Copyright 2011 Jiří Janoušek <janousek.jiri@gmail.com>


DISPLAY_NAME = 'Google Music Frame'
VERSION = '0.1'
APPNAME = 'google-music-frame'
WEBSITE = 'http://www.fenryxo.cz/'
COPYRIGHT = "Copyright \xc2\xa9 2011 Jiří Janoušek"
BUG_TRACKER = 'http://www.bug.org/'

GTK3 = False
# Google Music Frame can be compiled using GTK+ 3, but:
# a) Maverick is not shipped with GTK+3 theme
# b) Flash isn't loaded (https://bugzilla.redhat.com/show_bug.cgi?id=695184)

top = '.'
out = 'build'

vala_defines = []

def check_package(conf, pkg, uselib, version, mandatory=True):
	conf.check_cfg(package=pkg, uselib_store=uselib, atleast_version=version, mandatory=mandatory, args = '--cflags --libs')
	if(conf.env['HAVE_' + uselib]): vala_defines.append('HAVE_' + uselib)

def options(opt):
	opt.load('compiler_c')
	opt.load('vala')

def configure(conf):
	ctx = conf
	print('→ configuring the project in ' + conf.path.abspath())
	print('→ prefix is ' + ctx.options.prefix)
	conf.load('compiler_c vala')
	conf.check_vala(min_version=(0,12,0))
	
	check_package(conf, 'glib-2.0', 'GLIB', '2.22.0');
	check_package(conf, 'gio-2.0', 'GIO', '2.22.0')
	if GTK3: check_package(conf, 'gtk+-3.0', 'GTK+', '2.22.0')
	else: check_package(conf, 'gtk+-2.0', 'GTK+', '2.22.0')
	#~ check_package(conf, 'atk', 'ATK', '2.0')
	#~ check_package(conf, 'cairo', 'CAIRO', '1.10.0')
	#~ check_package(conf, 'gdk-2.0', 'GDK', '2.22.0')
	#~ check_package(conf, 'libwnck-1.0', 'LIBWNCK', '2.30.5')
	check_package(conf, 'gee-1.0', 'GEE', '0.5.3')
	check_package(conf, 'libsoup-2.4', 'SOUP', '2.4')
	#~ check_package(conf, 'unique-1.0', 'UNIQUE', '0.9')
	if GTK3: check_package(conf, 'webkitgtk-3.0', 'WEBKIT', '1.0')
	else: check_package(conf, 'webkit-1.0', 'WEBKIT', '1.0')
	
	#~ conf.check_cfg('indicator', 'INDICATOR', '0.3.14', mandatory = 1, args = '--cflags --libs')
	#~ conf.check_cfg('libdecoration', 'LIBDECORATION', '0.8', args = '--cflags --libs')
	
	#~ conf.check_cfg('dbusmenu-glib-0.4', 'LIBDBUSMENU-GLIB', '0.3.16', args = '--cflags --libs')
	#~ conf.check_cfg('dbusmenu-gtk-0.4', 'LIBDBUSMENU-GTK', '0.3.16', args = '--cflags --libs')
	#~ conf.check_cfg(package = 'gconf-2.0', 'LIBGCONF', atleast_version = '2.32.2', args = '--cflags --libs')
	
		 
	conf.define ('GETTEXT_PACKAGE', APPNAME)
	conf.define ('APPNAME', APPNAME)
	conf.define ('VERSION', VERSION)
	conf.define ('COPYRIGHT', COPYRIGHT)
	conf.define ('WEBSITE', WEBSITE)
	conf.define ('BUG_TRACKER', BUG_TRACKER)
	conf.define ('DISPLAY_NAME', DISPLAY_NAME)
	# enable WNCK
	#~ conf.define('WNCK_I_KNOW_THIS_IS_UNSTABLE', 'true')
	
	conf.write_config_header ('config.h')
 
	

def build(bld):

	target = APPNAME
	source = [  
		'src/main.vala',
		'src/fenryxo.vala',
		'src/frame.vala',
		'src/application.vala',
		'src/player.vala',
	]
	packages = 'glib-2.0 gio-2.0 gee-1.0 libsoup-2.4 config'
	if GTK3: packages += " gtk+-3.0 webkitgtk-3.0"
	else: packages += " gtk+-2.0 webkit-1.0"
		
	uselib = 'GLIB GTK+ GDK GEE SOUP ATK UNIQUE WEBKIT'
	
	task = bld.program(
		target = target,
		packages = packages,
		uselib = uselib,
		source = source,
		includes = ['src', ],
		vala_defines = vala_defines
		);
	task.vapi_dirs = ['vapi',]


	bld.install_files('${PREFIX}/share/applications', '/data/applications/' + APPNAME + '.desktop')
	scripts_dir = start_dir = bld.path.find_dir('data/' + APPNAME + '/scripts')
	bld.install_files('${PREFIX}/share/'+ APPNAME + '/scripts', scripts_dir.ant_glob('*.js'))