[0.3.153] Add contents unittest
[platform/core/api/player.git] / packaging / capi-media-player.spec
1 Name:       capi-media-player
2 Summary:    A Media Player API
3 Version:    0.3.153
4 Release:    0
5 Group:      Multimedia/API
6 License:    Apache-2.0
7 Source0:    %{name}-%{version}.tar.gz
8 Source1001:     capi-media-player.manifest
9 BuildRequires:  cmake
10 BuildRequires:  pkgconfig(dlog)
11 BuildRequires:  pkgconfig(glib-2.0)
12 BuildRequires:  pkgconfig(muse-client)
13 BuildRequires:  pkgconfig(mm-common)
14 BuildRequires:  pkgconfig(mm-display-interface)
15 BuildRequires:  pkgconfig(capi-base-common)
16 BuildRequires:  pkgconfig(capi-media-sound-manager)
17 BuildRequires:  pkgconfig(tizen-extension-client)
18 BuildRequires:  pkgconfig(appcore-efl)
19 BuildRequires:  pkgconfig(elementary)
20 BuildRequires:  pkgconfig(ecore)
21 BuildRequires:  pkgconfig(ecore-wl2)
22 BuildRequires:  pkgconfig(evas)
23 BuildRequires:  pkgconfig(capi-media-tool)
24 BuildRequires:  pkgconfig(mmsvc-player)
25 BuildRequires:  pkgconfig(libtbm)
26 BuildRequires:  pkgconfig(eom)
27 BuildRequires:  pkgconfig(storage)
28 BuildRequires:  pkgconfig(capi-system-info)
29 BuildRequires:  pkgconfig(libinput)
30
31 %if 0%{?gtests:1}
32 BuildRequires:  pkgconfig(gmock)
33 BuildRequires:  pkgconfig(jsoncpp)
34 %endif
35
36 Requires(post): /sbin/ldconfig
37 Requires(postun): /sbin/ldconfig
38
39 %description
40 A Media Player library in Tizen Native API.
41
42 %package devel
43 Summary:  A Media Player library in Tizen Native API (Development)
44 Group:    Development/Multimedia
45 Requires: %{name} = %{version}-%{release}
46
47 %description devel
48 %devel_desc
49
50 %package utils
51 Summary: A test app for Media Player API
52 Group:   Utils/Multimedia
53 Requires: %{name} = %{version}-%{release}
54
55 %description utils
56 A test app for Media Player API
57
58 %if 0%{?gtests:1}
59 %package ut
60 Summary: A unittest app for Media Player API
61 Group:   Utils/Multimedia
62 Requires: %{name} = %{version}-%{release}
63
64 %description ut
65 A unittest app for Media Player API
66 %endif
67
68 %if 0%{?gcov:1}
69 %package gcov
70 Summary: Line Coverage of Player library in Tizen C API
71 Group: Development/Multimedia
72
73 %description gcov
74 Collection of files related to Line Coverage. It is teseted as gcov for a Player library in Tizen native API
75 %endif
76
77 %prep
78 %setup -q
79 cp %{SOURCE1001} .
80
81 %build
82 %if 0%{?sec_build_binary_debug_enable}
83 export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
84 #export CFLAGS+=" -D_USE_X_DIRECT_"
85 export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
86 %endif
87 export CFLAGS+=" -DEFL_BETA_API_SUPPORT -DPATH_LIBDIR=\\\"%{_libdir}\\\""
88
89 %if 0%{?gcov:1}
90 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
91 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
92 export LDFLAGS+=" -lgcov"
93 %endif
94
95 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
96 %cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DFULLVER=%{version} -DMAJORVER=${MAJORVER} \
97 %if 0%{?gtests:1}
98   -DBUILD_UNITTEST=YES
99 %else
100   -DBUILD_UNITTEST=NO
101 %endif
102
103 make %{?jobs:-j%jobs}
104
105 %install
106 rm -rf %{buildroot}
107 mkdir -p %{buildroot}/usr/bin
108 cp test/player_test %{buildroot}/usr/bin
109 cp test/player_media_packet_test %{buildroot}/usr/bin
110 cp test/player_es_push_test %{buildroot}/usr/bin
111 cp test/player_audio_test %{buildroot}/usr/bin
112
113 %make_install
114
115 %if 0%{?gcov:1}
116 builddir=$(basename $PWD)
117 gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$builddir"
118 mkdir -p "$gcno_obj_dir"
119 find . -name '*.gcno' ! -name '*internal*' -exec cp --parents '{}' "$gcno_obj_dir" ';'
120 %endif
121
122 %post -p /sbin/ldconfig
123
124 %postun -p /sbin/ldconfig
125
126
127 %files
128 %manifest %{name}.manifest
129 %license LICENSE.APLv2
130 %{_libdir}/libcapi-media-player.so.*
131
132 %files devel
133 %manifest %{name}.manifest
134 %{_includedir}/media/player.h
135 %{_includedir}/tv/media/player.h
136 %{_includedir}/media/player_internal.h
137 %{_libdir}/pkgconfig/*.pc
138 %{_libdir}/libcapi-media-player.so
139
140 %files utils
141 %manifest %{name}.manifest
142 %license LICENSE.APLv2
143 %{_bindir}/player_test
144 %{_bindir}/player_media_packet_test
145 %{_bindir}/player_es_push_test
146 %{_bindir}/player_audio_test
147 %{_libdir}/libmm-navevent-handler.so*
148
149 %if 0%{?gtests:1}
150 %files ut
151 %manifest %{name}.manifest
152 %license LICENSE.APLv2
153 %{_bindir}/player_ut
154 %endif
155
156 %if 0%{?gcov:1}
157 %files gcov
158 %{_datadir}/gcov/obj/*
159 %endif