1 %bcond_without lws_static
2 %bcond_without lws_static_prebuilt
3 %bcond_without use_glib_event_loop
4 Name: capi-network-vine
5 Summary: An service discovery framework
8 Group: Network & Connectivity/API
10 Source0: %{name}-%{version}.tar.gz
11 Source1: %{name}.manifest
14 BuildRequires: pkgconfig(dns_sd)
15 %if %{with lws_static}
16 BuildRequires: pkgconfig(openssl1.1)
18 %if %{without lws_static}
19 BuildRequires: pkgconfig(libwebsockets)
22 %if 0%{?_with_tizen:1}
23 BuildRequires: pkgconfig(capi-base-common)
24 BuildRequires: pkgconfig(capi-system-info)
25 BuildRequires: pkgconfig(dlog)
27 %ifnarch %i586 i686 x86_64
28 BuildRequires: pkgconfig(capi-network-wifi-aware)
30 BuildRequires: pkgconfig(capi-network-bluetooth)
33 %if %{with use_glib_event_loop}
34 BuildRequires: pkgconfig(glib-2.0)
37 BuildRequires: pkgconfig(gmock)
40 BuildRequires: gtest-devel
44 Requires(post): /sbin/ldconfig
45 Requires(postun): /sbin/ldconfig
48 A Vine library is a Tizen Framework to provide service discovery and connection to communicate between devices in a local network
51 Summary: A Vine library in Native API (Development)
52 Group: Development/Libraries
53 Requires: %{name} = %{version}-%{release}
54 Requires: capi-base-common-devel
57 A Vine library in Native API (Development)
60 Summary: Vine - Test binaries
63 Test Application for Vine
67 Summary: Coverage Data of %{name}
70 The %{name}-gcov package contains gcov objects
74 Summary: %{name} unittests binary
76 %description unittests
82 cp %{SOURCE1} ./%{name}.manifest
92 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
93 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
94 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
98 -DTIZEN_OS=%{?_with_tizen} \
102 -DCMAKE_BUILD_TYPE=%{?build_type} \
103 -DCMAKE_VERBOSE_MAKEFILE=ON \
104 -DLIB_DIR:PATH=%{_libdir} \
105 -DBIN_DIR:PATH=%{_bindir} \
106 -DINCLUDE_DIR:PATH=%{_includedir} \
107 -DUSE_EVENT_LOOP_EPOLL=ON \
108 %if %{with use_glib_event_loop}
109 -DUSE_EVENT_LOOP_EXTERNAL_GLIB=ON \
111 -DUSE_EVENT_LOOP_EXTERNAL_GLIB=OFF \
113 %if %{with lws_static}
114 -DUSE_LIBWEBSOCKETS_STATIC=ON \
116 -DUSE_LIBWEBSOCKETS_STATIC=OFF \
118 %ifnarch %i586 i686 x86_64
121 %if %{with lws_static_prebuilt}
122 -DUSE_LIBWEBSOCKETS_STATIC_PREBUILT=ON \
124 -DUSE_LIBWEBSOCKETS_STATIC_PREBUILT=OFF \
127 -DENABLE_DATAPATH_PLUGIN_DEBUG=ON \
130 make %{?jobs:-j%jobs}
136 %if %{with lws_static}
137 rm -rf %{buildroot}%{_libdir}/cmake/libwebsockets
141 builddir=$(basename $PWD)
142 gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$builddir"
143 mkdir -p "$gcno_obj_dir"
144 find . -name '*.gcno' ! -path '*/verifier/*' ! -path '*/vine-test/*' ! -path '*/tool/*' -exec cp --parents '{}' "$gcno_obj_dir" ';'
147 cat << EOF > run-unittest.sh
154 echo "test_main start"
155 /usr/bin/vine-unittest
159 echo "teardown start"
171 mkdir -p %{buildroot}%{_bindir}/tizen-unittests/%{name}
172 install -m 0755 run-unittest.sh %{buildroot}%{_bindir}/tizen-unittests/%{name}/
177 LD_LIBRARY_PATH=%{buildroot}%{_libdir} tests/unittest/vine-unittest
178 lcov -c --ignore-errors graph --no-external -b . -d . -o %{name}.info
179 genhtml %{name}.info -o out --legend --show-details
182 %post -p /sbin/ldconfig
184 %postun -p /sbin/ldconfig
187 %manifest %{name}.manifest
189 %defattr(-,root,root,-)
193 %defattr(-,root,root,-)
194 %{_libdir}/pkgconfig/vine.pc
196 %if %{with lws_static} && %{without lws_static_prebuilt}
197 %{_includedir}/libwebsockets/*.h
198 %{_includedir}/libwebsockets/abstract/*.h
199 %{_includedir}/libwebsockets/abstract/protocols/*.h
200 %{_includedir}/libwebsockets/abstract/transports/*.h
201 %exclude %{_libdir}/pkgconfig/libwebsockets.pc
202 %exclude %{_libdir}/pkgconfig/libwebsockets_static.pc
207 %manifest %{name}.manifest
208 %attr(755,root,root) %{_bindir}/*
209 %attr(644,root,root) %{_datadir}/vine-verifier/certs/rootCA/ca.pem
210 %attr(644,root,root) %{_datadir}/vine-verifier/certs/server/*
214 %{_datadir}/gcov/obj/*
218 %{_bindir}/vine-unittest
219 %{_bindir}/tizen-unittests/%{name}/run-unittest.sh