b6da917c595870c799727e80afdfac4366c7a1c1
[profile/ivi/speech-recognition.git] / packaging / speech-recognition.spec
1 %{!?_with_debug:%{!?_without_debug:%define _with_debug 1}}
2 %{!?_with_sphinx:%{!?_without_sphinx:%define _with_sphinx 1}}
3 %{!?_with_festival:%{!?_without_festival:%define _with_festival 1}}
4 %{!?_with_wrt:%{!?_without_wrt:%define _with_wrt 1}}
5 %{!?_with_dbus:%{!?_without_dbus:%define _without_dbus 1}}
6
7 Summary: Speech recognition service for Tizen
8 Name: speech-recognition
9 Version: 0.0.10
10 Release: 0
11 License: BSD-3-Clause
12 Group: Base/Utilities
13 URL: https://github.com/otcshare/speech-recognition
14 Source0: %{name}-%{version}.tar.gz
15
16 BuildRequires: pkgconfig(libpulse)
17
18 BuildRequires: pkgconfig(murphy-common)
19 BuildRequires: pkgconfig(murphy-pulse)
20 BuildRequires: pkgconfig(murphy-glib)
21
22 BuildRequires: pkgconfig(libudev)
23 BuildRequires: pkgconfig(json)
24 %if %{?_with_sphinx:1}%{!?_with_sphinx:0}
25 BuildRequires: pkgconfig(pocketsphinx)
26 BuildRequires: pkgconfig(sphinxbase)
27 %endif
28 %if %{?_with_festival:1}%{!?_with_festival:0}
29 BuildRequires: festival-devel
30 Requires: festival
31 %endif
32 %if %{?_with_dbus:1}%{!?_with_dbus:0}
33 BuildRequires: pkgconfig(dbus-1)
34 %endif
35 Requires: pulseaudio
36 %if %{?_with_sphinx:1}%{!?_with_sphinx:0}
37 Requires: sphinxbase
38 Requires: pocketsphinx
39 %endif
40 BuildRequires: pkgconfig(libsystemd-daemon)
41 BuildRequires: pkgconfig(glib-2.0)
42
43 %description
44 SRS/Winthorpe speech recognition system service.
45
46 %package devel
47 Summary: The header files and libraries needed for SRS/Winthorpe clients
48 Group: Development/Libraries
49 Requires: %{name} = %{version}
50
51 %description devel
52 This package contains header files and libraries necessary for development.
53
54 %package tests
55 Summary: Various test binaries for SRS/Winthorpe
56 Group: Development/Debug
57 Requires: %{name} = %{version}
58
59 %description tests
60 This package contains various test binaries for SRS/Winthorpe.
61
62 %prep
63 %setup -q -n %{name}-%{version}
64
65 %build
66 %if %{?_with_debug:1}%{!?_with_debug:0}
67 export CFLAGS="-O0 -g3"
68 export CXXFLAGS="-O0 -g3"
69 V="V=1"
70 %endif
71
72 CONFIG_OPTIONS=""
73
74 %if %{?_with_sphinx:1}%{!?_with_sphinx:0}
75 CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-sphinx"
76 %else
77 CONFIG_OPTIONS="$CONFIG_OPTIONS --disable-sphinx"
78 %endif
79
80 %if %{?_with_festival:1}%{!?_with_festival:0}
81 CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-festival"
82 %else
83 CONFIG_OPTIONS="$CONFIG_OPTIONS --disable-festival"
84 %endif
85
86 %if %{?_with_wrt:1}%{!?_with_wrt:0}
87 CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-wrt-client"
88 %else
89 CONFIG_OPTIONS="$CONFIG_OPTIONS --disable-wrt-client"
90 %endif
91
92 %if %{?_with_dbus:1}%{!?_with_dbus:0}
93 CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-gpl --enable-dbus"
94 %else
95 CONFIG_OPTIONS="$CONFIG_OPTIONS --disable-dbus"
96 %endif
97
98 CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-w3c-speech"
99 CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-systemd"
100
101 ./bootstrap && \
102     %configure $CONFIG_OPTIONS && \
103     make
104
105 %install
106 rm -fr $RPM_BUILD_ROOT
107
108 %make_install
109
110 # Install dictionaries, configuration and service files.
111 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} \
112     $RPM_BUILD_ROOT%{_sysconfdir}/speech-recognition \
113     $RPM_BUILD_ROOT%{_sysconfdir}/speech-recognition/w3c-grammars \
114     $RPM_BUILD_ROOT%{_unitdir_user} \
115     $RPM_BUILD_ROOT%{_datadir}/speech-recognition/dictionaries/demo \
116     $RPM_BUILD_ROOT%{_libdir}/srs/scripts \
117     $RPM_BUILD_ROOT%{_datadir}/dbus-1/services
118
119 cat packaging/speech-recognition.conf.in | \
120     sed "s#@DATADIR@#%{_datadir}#g" \
121         > packaging/speech-recognition.conf
122 cat packaging/speech-recognition.service.in | \
123     sed "s#@LIBDIR@#%{_libdir}#g" \
124         > packaging/speech-recognition.service
125
126 /usr/bin/install -m 644 packaging/speech-recognition.conf \
127     $RPM_BUILD_ROOT%{_sysconfdir}/speech-recognition
128
129 /usr/bin/install -m 644 packaging/speech-recognition.service \
130     $RPM_BUILD_ROOT%{_unitdir_user}
131
132 /usr/bin/install -m 644 packaging/speech-recognition.socket \
133     $RPM_BUILD_ROOT%{_unitdir_user}
134 /usr/bin/install -m 644 \
135     -t $RPM_BUILD_ROOT%{_datadir}/speech-recognition/dictionaries/demo \
136     dictionaries/demo/demo.*
137 /usr/bin/install -m 755 packaging/start-speech-service.sh \
138      $RPM_BUILD_ROOT%{_libdir}/srs/scripts
139
140 /usr/bin/install -m 755 packaging/org.tizen.srs.service \
141      $RPM_BUILD_ROOT%{_datadir}/dbus-1/services
142
143 mkdir -p $RPM_BUILD_ROOT%{_datadir}/speech-recognition/dictionaries/w3c-speech
144
145 %install_service ../user/weston.target.wants speech-recognition.socket
146
147 %clean
148 rm -rf $RPM_BUILD_ROOT
149
150 %post
151 ldconfig
152 %systemd_post speech-recognition.service
153
154 %preun
155 %systemd_preun speech-recognition.service
156
157 %postun
158 ldconfig
159 %systemd_postun speech-recognition.service
160
161 %files
162 %defattr(-,root,root,-)
163 %{_sbindir}/srs-daemon
164 %{_libdir}/srs
165 %{_libdir}/libsrs*.so.*
166 # crosswalk speech extension.
167 %{_libdir}/tizen-extensions-crosswalk/*
168 %config %{_sysconfdir}/speech-recognition/speech-recognition.conf
169 %dir %{_sysconfdir}/speech-recognition/w3c-grammars
170 %{_datadir}/speech-recognition/dictionaries
171 %dir %{_datadir}/speech-recognition/dictionaries/w3c-speech
172 %{_unitdir_user}/speech-recognition.service
173 %{_unitdir_user}/speech-recognition.socket
174 %{_unitdir_user}/weston.target.wants/speech-recognition.socket
175
176 %{_datadir}/dbus-1/services/org.tizen.srs.service
177
178 %files devel
179 %defattr(-,root,root,-)
180 %{_includedir}/srs
181 %{_libdir}/libsrs*.so
182 %{_libdir}/pkgconfig/srs*.pc
183
184 %files tests
185 %defattr(-,root,root,-)
186 %{_bindir}/srs-native-client
187 %{_bindir}/srs-w3c-client
188 %if %{?_with_dbus:1}%{!?_with_dbus:0}
189 %{_bindir}/srs-client
190 %endif