Release version 1.4.5
[platform/core/appfw/appcore-widget.git] / packaging / appcore-widget.spec
1 Name:       appcore-widget
2 Summary:    Widget Application
3 Version:    1.4.5
4 Release:    1
5 Group:      Application Framework/Libraries
6 License:    Apache-2.0
7 Source0:    %{name}-%{version}.tar.gz
8 Source1001: %{name}.manifest
9 BuildRequires:  pkgconfig(aul)
10 BuildRequires:  pkgconfig(dlog)
11 BuildRequires:  pkgconfig(elementary)
12 BuildRequires:  pkgconfig(app-core-cpp)
13 BuildRequires:  pkgconfig(capi-appfw-app-common)
14 BuildRequires:  pkgconfig(widget_service)
15 BuildRequires:  pkgconfig(capi-system-info)
16 BuildRequires:  pkgconfig(ecore-wl2)
17 BuildRequires:  pkgconfig(app-core-multi-window-cpp)
18 BuildRequires:  pkgconfig(appcore-multiwindow)
19 BuildRequires:  pkgconfig(screen_connector_provider)
20 BuildRequires:  pkgconfig(gmock)
21 BuildRequires:  cmake
22
23 %if 0%{?gcov:1}
24 BuildRequires:  lcov
25 BuildRequires:  zip
26 %endif
27
28 %description
29 Widget base
30
31 %package -n appcore-widget-base
32 Summary:    Widget base
33 Group:      Development/Libraries
34 Requires(post): /sbin/ldconfig
35 %description -n appcore-widget-base
36 Requires(postun): /sbin/ldconfig
37
38 %description
39 Widget base devel
40
41 %package -n appcore-widget-base-devel
42 Summary:    Widget base
43 Group:      Development/Libraries
44 Requires:   %{name} = %{version}-%{release}
45 %description -n appcore-widget-base-devel
46 widget application (development files)
47
48 %description
49 Widget application devel
50
51 %package -n capi-appfw-widget-application-devel
52 Summary:    Widget application
53 Group:      Development/Libraries
54 Requires:   %{name} = %{version}-%{release}
55 %description -n capi-appfw-widget-application-devel
56 widget application (development files)
57
58 %package -n appcore_widget_unittests
59 Summary:    GTest for appcore-widget
60 Group:      Development/Libraries
61 %description -n appcore_widget_unittests
62 GTest for appcore-widget
63
64
65 %if 0%{?gcov:1}
66 %package gcov
67 Summary:  Widget application API(gcov)
68 Group:    Application Framework/Libraries
69
70 %description gcov
71 gcov objects of a widget application library
72 %endif
73
74 %prep
75 %setup -q
76 cp %{SOURCE1001} .
77
78 %build
79 %if 0%{?gcov:1}
80 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
81 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
82 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
83 export LDFLAGS+=" -lgcov"
84 %endif
85
86 export CFLAGS+=" -DEFL_BETA_API_SUPPORT "
87 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
88 %cmake . -DFULLVER=%{version} -DMAJORVER=${MAJORVER} -DBIN_INSTALL_DIR:PATH=%{_bindir}
89 %__make %{?jobs:-j%jobs}
90
91 %install
92 rm -rf %{buildroot}
93 %make_install
94
95 %if 0%{?gcov:1}
96 builddir=$(basename $PWD)
97 gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$builddir"
98 mkdir -p "$gcno_obj_dir"
99 find . -name '*.gcno' -exec cp --parents '{}' "$gcno_obj_dir" ';'
100 %endif
101
102 cat << EOF > run-unittest.sh
103 #!/bin/sh
104 setup() {
105     echo "setup start"
106 }
107
108 test_main() {
109     echo "test_main start"
110     /usr/bin/appcore-widget-unittest
111 }
112
113 teardown() {
114     echo "teardown start"
115 }
116
117 main() {
118     setup
119     test_main
120     teardown
121 }
122
123 main "\$*"
124 EOF
125
126 mkdir -p %{buildroot}%{_bindir}/tizen-unittests/%{name}
127 install -m 0755 run-unittest.sh %{buildroot}%{_bindir}/tizen-unittests/%{name}/
128
129 %check
130 export LD_LIBRARY_PATH=../../src/base:../../src/efl_base
131 ctest -V
132 %if 0%{?gcov:1}
133 lcov -c --ignore-errors graph --no-external -q -d . -o appcore-widget.info
134 genhtml appcore-widget.info -o appcore-widget.out
135 zip -r appcore-widget.zip appcore-widget.out
136 install -m 0644 appcore-widget.zip %{buildroot}%{_datadir}/gcov/obj/
137 %endif
138
139 %post -p /sbin/ldconfig
140
141 %postun -p /sbin/ldconfig
142
143 %files -n appcore-widget-base
144 %manifest %{name}.manifest
145 %defattr(-,root,root,-)
146 %{_libdir}/libappcore-widget-base.so.*
147 %license LICENSE
148
149 %files -n appcore-widget-base-devel
150 /usr/include/appfw/widget_base.hh
151 /usr/include/appfw/widget_base.h
152 %{_libdir}/pkgconfig/appcore-widget-base.pc
153 %{_libdir}/libappcore-widget-base.so
154
155 %files -n appcore-widget
156 %manifest %{name}.manifest
157 %defattr(-,root,root,-)
158 %{_libdir}/libcapi-appfw-widget-application.so.*
159 %license LICENSE
160
161 %files -n capi-appfw-widget-application-devel
162 /usr/include/appfw/widget_app.h
163 /usr/include/appfw/widget_app.hpp
164 /usr/include/appfw/widget_app_efl.h
165 /usr/include/appfw/widget_app_internal.h
166 %{_libdir}/pkgconfig/capi-appfw-widget-application.pc
167 %{_libdir}/libcapi-appfw-widget-application.so
168
169 %files -n appcore_widget_unittests
170 %{_bindir}/appcore-widget-unittest
171 %{_bindir}/tizen-unittests/%{name}/run-unittest.sh
172
173 %if 0%{?gcov:1}
174 %files gcov
175 %{_datadir}/gcov/obj/*
176 %endif