/
.travis.yml
124 lines (113 loc) · 3.93 KB
/
.travis.yml
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# autoconf-archive for Ubuntu 12.04 LTS is too old
# need to use at least Ubuntu 14.04 LTS (trusty) with custom install step
# `apt' travis plugin is not suitable as not all build dependencies are whitelisted
#TODO: allow to build in 12.04 LTS (precise): fix missing C++11 checking macro if it is not required
#TODO: investigate if Ubuntu 14.04 contained support for mate applet or it was added later (--disable-mate for now)
sudo: required
dist: trusty
notifications:
email: false
language: cpp
# TODO: current configure.ac does not allow to specify gtk2 or gtk3 explicitly
# using CONF_GTK_VER here only to install required libs and thus influence gtk version choice
#
# build matrix
#
env:
- >
CONF_GTK_VER=2
CONF_ENABLE="gconf,gstreamer,exercises"
CONF_DISABLE="gnome2,gnome3,gsettings,xml,pulse,indicator,xfce,mate,dbus,distribution,manual,experimental"
- >
CONF_GTK_VER=2
CONF_ENABLE="xml,dbus,distribution,pulse,xfce,exercises,manual"
CONF_DISABLE="gnome2,gnome3,gconf,gsettings,gstreamer,mate,indicator,experimental"
- >
CONF_GTK_VER=2
CONF_ENABLE="gsettings,pulse,xfce,exercises,manual"
CONF_DISABLE="gnome2,gnome3,xml,gconf,gstreamer,dbus,mate,indicator,distribution,experimental"
- >
CONF_GTK_VER=3
CONF_ENABLE="gnome3,gsettings,gstreamer,pulse,exercises"
CONF_DISABLE="gnome2,gconf,xml,dbus,indicator,mate,xfce,distribution,manual,experimental"
- >
CONF_GTK_VER=3
CONF_ENABLE="gnome3,gsettings,indicator,xfce,dbus,distribution,gstreamer,pulse,exercises,manual,experimental"
CONF_DISABLE="gnome2,gconf,xml,mate"
os:
- linux
#TODO: - osx
before_install: |
conf_opt()
{
if [[ $CONF_ENABLE =~ (^|[, ])$1([, ]|$) ]]; then
echo "--enable-$1";
else
if [[ $CONF_DISABLE =~ (^|[, ])$1([, ]|$) ]]; then
echo "--disable-$1";
else
echo "Parameter $1 is not in \$CONF_ENABLE or \$CONF_DISABLE " 1>&2
fi
fi
}
conf_opt_packages()
{
if [[ $CONF_ENABLE =~ (^|[, ])$1([, ]|$) ]]; then
shift
echo "$@"
else
if [[ !( $CONF_DISABLE =~ (^|[, ])$1([, ]|$) ) ]]; then
echo "Parameter $1 is not in \$CONF_ENABLE or \$CONF_DISABLE " 1>&2
fi
fi
}
install:
- pip install --user Cheetah # required for dbus support, system (distro) wide include paths are ignored
- sudo apt-get update -q
- |
sudo apt-get -y -q -V --no-install-recommends install \
build-essential \
automake \
autoconf \
autoconf-archive \
libtool \
autopoint \
intltool \
libxtst-dev \
libxss-dev \
gobject-introspection \
`conf_opt_packages xml libgdome2-dev` \
`conf_opt_packages gconf libgconf2-dev` \
`[[ $CONF_GTK_VER = 2 ]] && echo libgtk2.0-dev libgtkmm-2.4-dev` \
`[[ $CONF_GTK_VER = 3 ]] && echo libgtk-3-dev libgtkmm-3.0-dev` \
`conf_opt_packages gnome2 libglib2.0-dev libsigc++-2.0-dev libglibmm-2.4-dev` \
`conf_opt_packages gnome3 libglib2.0-dev libpanel-applet-4-dev` \
`conf_opt_packages dbus libdbus-glib-1-dev` \
`conf_opt_packages gstreamer libgstreamer1.0-dev` \
`conf_opt_packages pulse libpulse-dev` \
`conf_opt_packages indicator gobject-introspection libindicator3-dev libdbusmenu-glib-dev libdbusmenu-gtk3-dev libgirepository1.0-dev` \
`conf_opt_packages xfce xfce4-panel-dev` \
`conf_opt_packages manual docbook-utils xmlto`
before_script:
- ./autogen.sh
- |
./configure \
--enable-option-checking=fatal \
--disable-static \
--disable-dependency-tracking \
`conf_opt gconf` \
`conf_opt gsettings` \
`conf_opt xml` \
`conf_opt gnome2` \
`conf_opt gnome3` \
`conf_opt indicator` \
`conf_opt xfce` \
`conf_opt mate` \
`conf_opt dbus` \
`conf_opt distribution` \
`conf_opt gstreamer` \
`conf_opt pulse` \
`conf_opt exercises` \
`conf_opt experimental` \
`conf_opt manual`
script: make && make check