packaging: generate config file, added W3C-speech dictionary dir.
[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.8
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
42 %description
43 SRS/Winthorpe speech recognition system service.
44
45 %package devel
46 Summary: The header files and libraries needed for SRS/Winthorpe clients
47 Group: Development/Libraries
48 Requires: %{name} = %{version}
49
50 %description devel
51 This package contains header files and libraries necessary for development.
52
53 %package tests
54 Summary: Various test binaries for SRS/Winthorpe
55 Group: Development/Debug
56 Requires: %{name} = %{version}
57
58 %description tests
59 This package contains various test binaries for SRS/Winthorpe.
60
61 %prep
62 %setup -q -n %{name}-%{version}
63
64 %build
65 %if %{?_with_debug:1}%{!?_with_debug:0}
66 export CFLAGS="-O0 -g3"
67 export CXXFLAGS="-O0 -g3"
68 V="V=1"
69 %endif
70
71 CONFIG_OPTIONS=""
72
73 %if %{?_with_sphinx:1}%{!?_with_sphinx:0}
74 CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-sphinx"
75 %else
76 CONFIG_OPTIONS="$CONFIG_OPTIONS --disable-sphinx"
77 %endif
78
79 %if %{?_with_festival:1}%{!?_with_festival:0}
80 CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-festival"
81 %else
82 CONFIG_OPTIONS="$CONFIG_OPTIONS --disable-festival"
83 %endif
84
85 %if %{?_with_wrt:1}%{!?_with_wrt:0}
86 CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-wrt-client"
87 %else
88 CONFIG_OPTIONS="$CONFIG_OPTIONS --disable-wrt-client"
89 %endif
90
91 %if %{?_with_dbus:1}%{!?_with_dbus:0}
92 CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-gpl --enable-dbus"
93 %else
94 CONFIG_OPTIONS="$CONFIG_OPTIONS --disable-dbus"
95 %endif
96
97 CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-w3c-speech"
98 CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-systemd"
99
100 ./bootstrap && \
101     %configure $CONFIG_OPTIONS && \
102     make
103
104 %install
105 rm -fr $RPM_BUILD_ROOT
106
107 %make_install
108
109 # Install dictionaries, configuration and service files.
110 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} \
111     $RPM_BUILD_ROOT%{_sysconfdir}/speech-recognition \
112     $RPM_BUILD_ROOT%{_sysconfdir}/speech-recognition/w3c-grammars \
113     $RPM_BUILD_ROOT%{_unitdir_user} \
114     $RPM_BUILD_ROOT%{_datadir}/speech-recognition/dictionaries/demo \
115     $RPM_BUILD_ROOT%{_libdir}/srs/scripts \
116     $RPM_BUILD_ROOT%{_datadir}/dbus-1/services
117
118 /usr/bin/install -m 644 packaging/speech-recognition.conf \
119     $RPM_BUILD_ROOT%{_sysconfdir}/speech-recognition
120
121 cat packaging/speech-recognition.conf.in | \
122     sed "s#@DATADIR@#%{_datadir}#g" \
123         > packaging/speech-recognition.conf
124 cat packaging/speech-recognition.service.in | \
125     sed "s#@LIBDIR@#%{_libdir}#g" \
126         > packaging/speech-recognition.service
127
128 /usr/bin/install -m 644 packaging/speech-recognition.service \
129     $RPM_BUILD_ROOT%{_unitdir_user}
130
131 /usr/bin/install -m 644 packaging/speech-recognition.socket \
132     $RPM_BUILD_ROOT%{_unitdir_user}
133 /usr/bin/install -m 644 \
134     -t $RPM_BUILD_ROOT%{_datadir}/speech-recognition/dictionaries/demo \
135     dictionaries/demo/demo.*
136 /usr/bin/install -m 755 packaging/start-speech-service.sh \
137      $RPM_BUILD_ROOT%{_libdir}/srs/scripts
138
139 /usr/bin/install -m 755 packaging/org.tizen.srs.service \
140      $RPM_BUILD_ROOT%{_datadir}/dbus-1/services
141
142 mkdir -p $RPM_BUILD_ROOT%{_datadir}/speech-recognition/dictionaries/w3c-speech
143
144 %install_service ../user/weston.target.wants speech-recognition.socket
145
146 %clean
147 rm -rf $RPM_BUILD_ROOT
148
149 %post
150 ldconfig
151 %systemd_post speech-recognition.service
152
153 %preun
154 %systemd_preun speech-recognition.service
155
156 %postun
157 ldconfig
158 %systemd_postun speech-recognition.service
159
160 %files
161 %defattr(-,root,root,-)
162 %{_sbindir}/srs-daemon
163 %{_libdir}/srs
164 %{_libdir}/libsrs*.so.*
165 %{_sysconfdir}/speech-recognition/speech-recognition.conf
166 %dir %{_sysconfdir}/speech-recognition/w3c-grammars
167 %{_datadir}/speech-recognition/dictionaries
168 %dir %{_datadir}/speech-recognition/w3c-speech
169 %{_unitdir_user}/speech-recognition.service
170 %{_unitdir_user}/speech-recognition.socket
171 %{_unitdir_user}/weston.target.wants/speech-recognition.socket
172
173 %{_datadir}/dbus-1/services/org.tizen.srs.service
174
175 %files devel
176 %defattr(-,root,root,-)
177 %{_includedir}/srs
178 %{_libdir}/libsrs*.so
179 %{_libdir}/pkgconfig/srs*.pc
180
181 %files tests
182 %defattr(-,root,root,-)
183 %{_bindir}/srs-native-client
184 %{_bindir}/srs-w3c-client
185 %if %{?_with_dbus:1}%{!?_with_dbus:0}
186 %{_bindir}/srs-client
187 %endif