Add gcov package generation feature
[platform/core/uifw/stt.git] / packaging / stt.spec
1 Name:       stt
2 Summary:    Speech To Text client library and daemon
3 Version:    0.2.56
4 Release:    1
5 Group:      Graphics & UI Framework/Voice Framework
6 License:    Apache-2.0
7 Source0:    %{name}-%{version}.tar.gz
8 Source1001: %{name}.manifest
9 Source1002: %{name}-devel.manifest
10 Requires(post): /sbin/ldconfig
11 Requires(post): /usr/bin/buxton2ctl
12 Requires(postun): /sbin/ldconfig
13 Requires:  gawk
14 BuildRequires:  pkgconfig(aul)
15 BuildRequires:  pkgconfig(capi-appfw-app-manager)
16 BuildRequires:  pkgconfig(buxton2)
17 BuildRequires:  pkgconfig(capi-base-common)
18 BuildRequires:  pkgconfig(capi-media-audio-io)
19 BuildRequires:  pkgconfig(capi-media-wav-player)
20 BuildRequires:  pkgconfig(capi-system-info)
21 BuildRequires:  pkgconfig(cynara-client)
22 BuildRequires:  pkgconfig(cynara-session)
23 BuildRequires:  pkgconfig(dbus-1)
24 BuildRequires:  pkgconfig(dlog)
25 BuildRequires:  pkgconfig(ecore)
26 BuildRequires:  pkgconfig(glib-2.0)
27 BuildRequires:  pkgconfig(libgum)
28 BuildRequires:  pkgconfig(libtzplatform-config)
29 BuildRequires:  pkgconfig(libxml-2.0)
30 BuildRequires:  pkgconfig(libsystemd)
31 BuildRequires:  pkgconfig(pkgmgr)
32 BuildRequires:  pkgconfig(pkgmgr-info)
33 BuildRequires:  pkgconfig(pkgmgr-installer)
34 BuildRequires:  pkgconfig(vconf)
35 %if "%{tizen_profile_name}" == "tv"
36 BuildRequires:  pkgconfig(capi-network-bluetooth)
37 BuildRequires:  pkgconfig(capi-network-bluetooth-tv)
38 %endif
39
40 BuildRequires:  cmake
41
42 %description
43 Speech To Text client library and daemon.
44
45
46 %package devel
47 Summary:    Speech To Text header files for STT development
48 Group:      Graphics & UI Framework/Development
49 Requires:   %{name} = %{version}-%{release}
50
51 %package file-devel
52 Summary:    File To Text header files for STT FILE development
53 Group:      Graphics & UI Framework/Development
54 Requires:   %{name} = %{version}-%{release}
55
56 %package setting-devel
57 Summary:    Speech To Text setting header files for STT development
58 Group:      Graphics & UI Framework/Development
59 Requires:   %{name} = %{version}-%{release}
60
61 %package engine-devel
62 Summary:    Speech To Text engine header files for STT development
63 Group:      Graphics & UI Framework/Development
64 Requires:   %{name} = %{version}-%{release}
65
66 %description devel
67 Speech To Text header files for STT development.
68
69 %description file-devel
70 File To Text header files for STT FILE development.
71
72 %description setting-devel
73 Speech To Text setting header files for STT development.
74
75 %description engine-devel
76 Speech To Text engine header files for STT development.
77
78 %if 0%{?gcov:1}
79 %package gcov
80 Summary:        Speech To Text (gcov)
81 Group:          Graphics & UI Framework/Voice Framework
82 %description gcov
83 Speech To Text gcov objects
84 %endif
85
86
87 %prep
88 %setup -q -n %{name}-%{version}
89 cp %{SOURCE1001} %{SOURCE1002} .
90
91
92 %build
93 export CFLAGS="$CFLAGS -DTIZEN_ENGINEER_MODE"
94 export CXXFLAGS="$CXXFLAGS -DTIZEN_ENGINEER_MODE"
95 export FFLAGS="$FFLAGS -DTIZEN_ENGINEER_MODE"
96
97 export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
98 export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
99 export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
100
101 %if 0%{?gcov:1}
102 export CFLAGS="$CFLAGS -fprofile-arcs -ftest-coverage"
103 export CXXFLAGS="$CXXFLAGS -fprofile-arcs -ftest-coverage"
104 export FFLAGS="$FFLAGS -fprofile-arcs -ftest-coverage"
105 export LDFLAGS="$LDFLAGS -lgcov"
106 %endif
107
108
109 %if "%{tizen_profile_name}" == "tv"
110 export CFLAGS="$CFLAGS -DTV_PRODUCT"
111 cmake . -DCMAKE_INSTALL_PREFIX=/usr -DLIBDIR=%{_libdir} -DBINDIR=%{_bindir} -DINCLUDEDIR=%{_includedir} \
112         -DTZ_SYS_RO_SHARE=%TZ_SYS_RO_SHARE -DTZ_SYS_BIN=%TZ_SYS_BIN -D_TV_PRODUCT=TRUE
113 %else
114 cmake . -DCMAKE_INSTALL_PREFIX=/usr -DLIBDIR=%{_libdir} -DBINDIR=%{_bindir} -DINCLUDEDIR=%{_includedir} \
115         -DTZ_SYS_RO_SHARE=%TZ_SYS_RO_SHARE -DTZ_SYS_BIN=%TZ_SYS_BIN
116 %endif
117
118 make %{?jobs:-j%jobs}
119
120 %if 0%{?gcov:1}
121 mkdir -p gcov-obj
122 find . -name '*.gcno' -exec cp '{}' gcov-obj ';'
123 %endif
124
125
126 %install
127 rm -rf %{buildroot}
128
129 %if "%{tizen_profile_name}" == "tv"
130 mv -f org.tizen.voice.sttserver.tv.service org.tizen.voice.sttserver.service
131 %endif
132
133 %make_install
134
135 %if 0%{?gcov:1}
136 mkdir -p %{buildroot}%{_datadir}/gcov/obj
137 install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj
138 %endif
139
140
141 %post
142 /sbin/ldconfig
143
144 mkdir -p %{_libdir}/voice/
145
146 mkdir -p %{TZ_SYS_RO_SHARE}/voice/test
147
148 %postun -p /sbin/ldconfig
149
150
151 %files
152 %manifest %{name}.manifest
153 %license LICENSE.APLv2
154 %defattr(-,root,root,-)
155 %{_libdir}/lib*.so
156 /etc/dbus-1/session.d/stt-server.conf
157 %{TZ_SYS_RO_SHARE}/voice/stt/1.0/stt-config.xml
158 %{TZ_SYS_RO_SHARE}/dbus-1/services/org.tizen.voice.sttserver.service
159 %{TZ_SYS_RO_SHARE}/dbus-1/services/org.tizen.voice.sttservercustom.service
160 #%{TZ_SYS_RO_SHARE}/voice/test/stt-test
161 #%{TZ_SYS_BIN}/*
162 %{_bindir}/voice_getengine
163 %{TZ_SYS_RO_ETC}/package-manager/parserlib/metadata/libstt-engine-parser.so*
164
165 %files devel
166 %manifest %{name}-devel.manifest
167 %defattr(-,root,root,-)
168 %{_libdir}/pkgconfig/stt.pc
169 %{_includedir}/stt.h
170 %{_includedir}/stt_internal.h
171
172 %files file-devel
173 %defattr(-,root,root,-)
174 %{_libdir}/pkgconfig/stt-file.pc
175 %{_includedir}/stt_file.h
176
177 %files setting-devel
178 %defattr(-,root,root,-)
179 %{_libdir}/pkgconfig/stt-setting.pc
180 %{_includedir}/stt_setting.h
181
182 %files engine-devel
183 %defattr(-,root,root,-)
184 %{_libdir}/pkgconfig/stt-engine.pc
185 %{_includedir}/stte.h
186 %{_includedir}/stte_internal.h
187
188 %if 0%{?gcov:1}
189 %files gcov
190 %{_datadir}/gcov/obj/*
191 %endif