package version up to 2.7.2
[platform/core/uifw/libtbm.git] / packaging / libtbm.spec
1 %bcond_with x
2 %bcond_with wayland
3 %define UTEST_PACKAGE 1
4 %define UTEST_GCOV    0
5
6 Name:           libtbm
7 Version:        2.7.2
8 Release:        1
9 License:        MIT
10 Summary:        The library for Tizen Buffer Manager
11 Group:          System/Libraries
12 Source0:        %{name}-%{version}.tar.gz
13 Source1001:             %name.manifest
14
15 BuildRequires:  pkgconfig(libdrm)
16 BuildRequires:  pkgconfig(wayland-server)
17 BuildRequires:  pkgconfig(wayland-client)
18 BuildRequires:  pkgconfig(capi-base-common)
19 BuildRequires:  pkgconfig(libpng)
20 BuildRequires:  pkgconfig(dlog)
21 BuildRequires:  pkgconfig(pixman-1)
22 BuildRequires:  gtest-devel 
23
24 %description
25 Description: %{summary}
26
27 %package devel
28 Summary:        Tizen Buffer Manager Library - Development
29 Group:          Development/Libraries
30 Requires:       libtbm = %{version}
31 Requires:       pkgconfig(capi-base-common)
32
33 %description devel
34 The library for Tizen Buffer Manager.
35
36 Development Files.
37
38 %if "%{UTEST_PACKAGE}" == "1"
39 %package utests
40 Summary: Tizen Buffer Manager unit tests package
41 Group: System/Libraries
42
43 %description utests
44 Test module for testing libtbm APIs
45 %endif
46
47 %global TZ_SYS_RO_SHARE  %{?TZ_SYS_RO_SHARE:%TZ_SYS_RO_SHARE}%{!?TZ_SYS_RO_SHARE:/usr/share}
48
49 %prep
50 %setup -q
51 cp %{SOURCE1001} .
52
53 %build
54 UTEST="no"
55
56 %if "%{UTEST_PACKAGE}" == "1"
57 UTEST="yes"
58 %endif
59
60 %if "%{UTEST_GCOV}" == "1"
61 CFLAGS+=" -fprofile-arcs -ftest-coverage -DTIZEN_TEST_GCOV"
62 CXXFLAGS+=" -fprofile-arcs -ftest-coverage -DTIZEN_TEST_GCOV"
63 LDFLAGS+=" -lgcov"
64 %endif
65
66 %if %{with wayland}
67 %reconfigure --prefix=%{_prefix} --with-tbm-platform=WAYLAND  --with-utests=${UTEST} \
68             CFLAGS="${CFLAGS} -Wall -Werror" LDFLAGS="${LDFLAGS} -Wl,--hash-style=both -Wl,--as-needed"
69 %else
70 %reconfigure --prefix=%{_prefix} --with-tbm-platform=X11  --with-utests=${UTEST} \
71             CFLAGS="${CFLAGS} -Wall -Werror" LDFLAGS="${LDFLAGS} -Wl,--hash-style=both -Wl,--as-needed"
72 %endif
73
74 make %{?_smp_mflags}
75
76 %install
77 rm -rf %{buildroot}
78 %make_install
79
80 %__mkdir_p %{buildroot}%{_unitdir_user}
81 install -m 644 service/tbm-drm-auth-user.service %{buildroot}%{_unitdir_user}
82 install -m 644 service/tbm-drm-auth-user.path %{buildroot}%{_unitdir_user}
83
84 %clean
85 rm -rf %{buildroot}
86
87 %pre
88 %__mkdir_p %{_unitdir_user}/basic.target.wants
89 ln -sf ../tbm-drm-auth-user.path %{_unitdir_user}/basic.target.wants/
90
91 %post -p /sbin/ldconfig
92 %postun -p /sbin/ldconfig
93 rm -f %{_unitdir_user}/basic.target.wants/tbm-drm-auth-user.path
94
95 %files
96 %manifest %{name}.manifest
97 %defattr(-,root,root,-)
98 %license COPYING
99 %{_libdir}/libtbm.so.*
100 %{_unitdir_user}/tbm-drm-auth-user.path
101 %{_unitdir_user}/tbm-drm-auth-user.service
102
103 %files devel
104 %manifest %{name}.manifest
105 %defattr(-,root,root,-)
106 %dir %{_includedir}
107 %{_includedir}/tbm_bufmgr.h
108 %{_includedir}/tbm_surface.h
109 %{_includedir}/tbm_surface_internal.h
110 %{_includedir}/tbm_surface_queue.h
111 %{_includedir}/tbm_bufmgr_backend.h
112 %{_includedir}/tbm_type.h
113 %{_includedir}/tbm_type_common.h
114 %{_includedir}/tbm_drm_helper.h
115 %{_includedir}/tbm_sync.h
116 %{_includedir}/tbm_bo.h
117 %{_includedir}/tbm_log.h
118 %{_includedir}/tbm_backend.h
119 %{_libdir}/libtbm.so
120 %{_libdir}/pkgconfig/libtbm.pc
121
122 %if "%{UTEST_PACKAGE}" == "1"
123 %files utests
124 %defattr(-,root,root,-)
125 %{_bindir}/tbm-utests
126 %endif