add for type com.youtube.playready (#149)
[platform/core/multimedia/esplusplayer.git] / packaging / esplusplayer.spec
1 #%bcond_with : disable ESPLUSPLAYER_UT by default, %bcond_without : enable ESPLUSPLAYER_UT
2 %if ("%{_vd_cfg_product_type}" != "AUDIO")
3 %bcond_without ESPLUSPLAYER_UT
4 %else
5 %bcond_with ESPLUSPLAYER_UT
6 %endif
7 #echo "Product Type: %{_vd_cfg_product_type}"
8 Name:       esplusplayer
9 Summary:    new multimedia streaming player
10 Version:    1.3.7
11 Release:    0
12 Group:      Multimedia/Libraries
13 License:    Apache-2.0
14 Source0:    %{name}-%{version}.tar.gz
15 Source1001: esplusplayer.manifest
16 BuildRequires:  cmake
17 BuildRequires:  curl
18 BuildRequires:  pkgconfig(glib-2.0)
19 BuildRequires:  pkgconfig(gstreamer-1.0)
20 BuildRequires:  pkgconfig(gstreamer-plugins-base-1.0)
21 BuildRequires:  pkgconfig(dlog)
22 BuildRequires:  pkgconfig(boost)
23 BuildRequires:  pkgconfig(elementary)
24 BuildRequires:  pkgconfig(ecore)
25 BuildRequires:  pkgconfig(evas)
26 BuildRequires:  pkgconfig(ecore-wl2)
27 BuildRequires:  pkgconfig(tv-resource-manager)
28 BuildRequires:  pkgconfig(libtzplatform-config)
29 BuildRequires:  pkgconfig(jsoncpp)
30 BuildRequires:  pkgconfig(icu-i18n)
31 BuildRequires:  pkgconfig(drmdecrypt)
32 BuildRequires:  pkgconfig(logger)
33 BuildRequires:  pkgconfig(gio-2.0)
34 BuildRequires:  pkgconfig(libtbm)
35 BuildRequires:  pkgconfig(context-aware-api)
36 BuildRequires:  pkgconfig(capi-trackrenderer-tv)
37 BuildRequires:  pkgconfig(libtbm)
38 BuildRequires:  pkgconfig(capi-system-info)
39
40 %if ("%{_vd_cfg_product_type}" != "AUDIO")
41 BuildRequires:  pkgconfig(graphics-control)
42 %endif
43
44 %if ("%{sec_buildconf_product_lite_tizen}" == "n")
45 # for ut
46 BuildRequires:  gtest-devel
47 BuildRequires:  pkgconfig(appcore-efl)
48 %endif
49
50 %define _packagedir /usr
51 %define _bindir %{_packagedir}/bin
52 %define _includedir %{_packagedir}/include
53 %define _pkgconfigdir %{_libdir}/pkgconfig
54 %define _unpackaged_files_terminate_build 0
55 %define _missing_doc_files_terminate_build 0
56
57 %description
58 new multimedia player, object-oriented model
59
60 %package devel
61 Summary:    Developement for multimedia player
62 Group:      Development/Libraries
63 Requires:   %{name} = %{version}-%{release}
64
65 %package config
66 Summary:    Configuration for multimedia player
67 Group:      Development/Libraries
68 Requires:   %{name} = %{version}-%{release}
69
70 %description devel
71 %devel_desc
72
73 %description config
74
75 #################################################
76 # gcov
77 #################################################
78 %if 0%{?vd_gcov:1}
79 %package gcov
80 Summary: gcov enabled package
81 Group: gcov package
82
83 %description gcov
84 This package is gcov package for coverage measurement.
85 %endif
86
87 %prep
88 %setup -q
89 cp %{SOURCE1001} .
90
91 %if ("%{sec_buildconf_product_lite_tizen}" == "n")
92 %if ("%{_vd_cfg_product_type}" != "AUDIO")
93 %{?!TOMATO: %define TOMATO n}
94
95 %define _tomatoname esplusplayer
96 %define _tomatodir  /opt/usr/apps/tomato/testcase/%{name}
97 %define _tomatobin /opt/usr/apps/tomato/testcase/%{name}/bin
98
99 %package ut-component-tomato
100 Summary: Test package with TOMATO
101 BuildRequires:  gtest-devel
102 BuildRequires:  pkgconfig(video-capture)
103 BuildRequires:  pkgconfig(audio-control)
104 BuildRequires:  libjpeg-turbo-devel
105 BuildRequires:  pkgconfig(video-sink)
106 #BuildRequires:  pkgconfig(capi-system-info)
107 Requires: %{name} = %{version}-%{release}
108
109 %description ut-component-tomato
110 This package is for test
111
112 %files ut-component-tomato
113 %defattr(-,root,root,-)
114 %{_bindir}/esplusplayer_ut
115 %{_tomatodir}/*
116
117 %endif
118 %endif
119
120 %build
121 export CFLAGS+=" -Wno-deprecated-declarations"
122 export CXXFLAGS+=" -Wno-deprecated-declarations"
123
124 %if ("%{_vd_cfg_product_type}" == "AUDIO")
125 export CFLAGS+=" -DIS_AUDIO_PRODUCT"
126 export CXXFLAGS+=" -DIS_AUDIO_PRODUCT"
127 %define PRODUCT_TYPE_AUDIO yes
128 %define USE_MIXER no
129 %else
130 export CFLAGS+=" -DUSE_MIXER"
131 export CXXFLAGS+=" -DUSE_MIXER"
132 %define PRODUCT_TYPE_AUDIO no
133 %define USE_MIXER yes
134 %endif
135
136 #TODO: check AV type is used or not
137 %if ("%{_vd_cfg_product_type}" == "AV")
138 export CFLAGS+=" -DIS_AV_PRODUCT"
139 export CXXFLAGS+=" -DIS_AV_PRODUCT"
140 %endif
141
142 #TODO: AUDIO type is used to enable fmm mode API impl.
143 %if ("%{_vd_cfg_product_type}" == "AUDIO")
144 export CFLAGS+=" -DSOUNDBAR_PRODUCT"
145 export CXXFLAGS+=" -DSOUNDBAR_PRODUCT"
146 %define _support_soundbar -DSUPPORT_SOUNDBAR=ON
147 %endif
148
149 %if 0%{?vd_gcov:1}
150 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
151 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
152 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
153 export LDFLAGS+=" -lgcov"
154 #export CFLAGS+=" -DIS_TOMATO"
155 #export CXXFLAGS+=" -DIS_TOMATO"
156 %endif
157
158 export CXXFLAGS+=" -Wno-pessimizing-move"
159
160 %ifarch aarch64
161 export CXXFLAGS+=" -DDRM_MAPI_AARCH_64"
162 %endif
163
164 %if ("%{sec_buildconf_product_lite_tizen}" == "n")
165 %if %{with ESPLUSPLAYER_UT}
166 %cmake . -DESPLUSPLAYER_BUILD_UT=ON -DPRODUCT_TYPE_AUDIO=%PRODUCT_TYPE_AUDIO -DUSE_MIXER=%USE_MIXER
167 %else
168 %cmake . -DPRODUCT_TYPE_AUDIO=%PRODUCT_TYPE_AUDIO -DUSE_MIXER=%USE_MIXER
169 %endif
170 %else
171 %cmake . -DPRODUCT_TYPE_AUDIO=%PRODUCT_TYPE_AUDIO -DUSE_MIXER=%USE_MIXER
172 %endif
173
174 make %{?jobs:-j%jobs}
175
176 %install
177 rm -rf %{buildroot}
178
179 %if ("%{sec_buildconf_product_lite_tizen}" == "n")
180 mkdir -p %{buildroot}%{_tomatodir}
181 mkdir -p %{buildroot}%{_tomatodir}/log
182 mkdir -p %{buildroot}%{_tomatodir}/result
183 mkdir -p %{buildroot}%{_tomatodir}/tc
184 cp -rf tomato/tc/* %{buildroot}%{_tomatodir}/tc
185 %endif
186
187 %make_install
188 mkdir -p %{buildroot}%TZ_SYS_RO_ETC/multimedia
189 #mkdir -p %{buildroot}%TZ_SYS_RW_APP/multimedia
190 #mkdir -p %{buildroot}/opt
191 #mkdir -p %{buildroot}/opt/usr
192 #mkdir -p %{buildroot}/opt/usr/home
193 #mkdir -p %{buildroot}/opt/usr/home/owner
194 #mkdir -p %{buildroot}/opt/usr/home/owner/models
195 cp -rf config/esplusplayer.ini %{buildroot}%TZ_SYS_RO_ETC/multimedia/esplusplayer.ini
196
197 %if 0%{?vd_gcov:1}
198 mkdir -p %{buildroot}%{_datadir}/gcov/obj
199 find . \( -name '*.gcno' -o -name '*.cpp' -o -name '*.c' -o -name '*.hpp' -o -name '*.h' \) ! -path "./ut/*" ! -path "./test/*" ! -path "*/CompilerIdCXX/*" -exec cp --parents -r '{}' %{buildroot}%{_datadir}/gcov/obj ';'
200 %endif
201
202 %files
203 %defattr(-,root,root,-)
204 %manifest esplusplayer.manifest
205 %license LICENSE.APLv2
206 %{_libdir}/libespplayer-core.so
207 %{_libdir}/libesplusplayer.so
208 %if ("%{USE_MIXER}" == "yes")
209 %{_libdir}/libmixer.so
210 %endif
211
212 %TZ_SYS_RO_ETC/multimedia/esplusplayer.ini
213 #%attr(0775, owner,users) %TZ_SYS_RW_APP/multimedia
214
215 #remove esplusplayer_ut in esplusplayer package by flash memory issue
216 #%if ("%{sec_buildconf_product_lite_tizen}" == "n")
217 #%if %{with ESPLUSPLAYER_UT}
218 #%{_bindir}/esplusplayer_ut
219 #%defattr(-,root,root,-)
220 #%{_tomatodir}/*
221 #%endif
222 #%endif
223
224 %files devel
225 %defattr(-,root,root,-)
226 %{_includedir}/esplusplayer/*.h
227 %{_includedir}/esplusplayer/types/*.h
228 %{_includedir}/esplusplayer_capi/*.h
229 %{_includedir}/mixer/*.h
230 %{_includedir}/mixer_capi/*.h
231 %{_pkgconfigdir}/esplusplayer.pc
232
233 %files config
234 %defattr(-,root,root,-)
235 %manifest esplusplayer.manifest
236 %license LICENSE.APLv2
237 %TZ_SYS_RO_ETC/multimedia/esplusplayer.ini
238 %attr(0775, owner,users) %TZ_SYS_RO_ETC/multimedia
239
240 %if 0%{?vd_gcov:1}
241 %files gcov
242 %{_datadir}/gcov/*
243 %endif