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'))
|