Merge "[3.0] Tizen Directory Migration" into tizen
[platform/core/uifw/dali-toolkit.git] / packaging / dali-toolkit.spec
1 Name:       dali-toolkit
2 Summary:    The OpenGLES Canvas Core Library Toolkit
3 Version:    1.1.39
4 Release:    1
5 Group:      System/Libraries
6 License:    Apache-2.0 and BSD-2-Clause and MIT
7 URL:        https://review.tizen.org/git/?p=platform/core/uifw/dali-toolkit.git;a=summary
8 Source0:    %{name}-%{version}.tar.gz
9
10 Requires(post): /sbin/ldconfig
11 Requires(postun): /sbin/ldconfig
12
13 BuildRequires:  pkgconfig
14 BuildRequires:  pkgconfig(dlog)
15 BuildRequires:  pkgconfig(dali-core)
16 BuildRequires: gettext
17
18 # dali-toolkit only need to know the interfaces(APIs) of dali-adaptor(the devel package).
19 # It doesn't need to know which adaptor will be used by applications.
20 # Applications or dali-addon will decide which one they will use.
21 BuildRequires:  dali-adaptor-devel
22
23 #need libtzplatform-config for directory if tizen version is 3.x
24
25 %if "%{tizen_version_major}" == "3"
26 BuildRequires:  pkgconfig(libtzplatform-config)
27 %endif
28
29
30 #############################
31 # profile setup
32 #############################
33
34 %define dali_toolkit_profile MOBILE
35 %define dali_style_folder 720x1280
36 # dali_style to be provided by build system as with dali_toolkit_profile or by passing --define 'dali_style 470x800' to the rpm build command
37
38 %if "%{?dali_style}"
39   %define dali_style_folder %{dali_style}
40 %endif
41
42 # Further resource locations profiles can be provided here otherwise MOBILE will be used
43 %if "%{tizen_profile_name}" == "mobile"
44   %define dali_toolkit_profile MOBILE
45 %endif
46
47 %description
48 The OpenGLES Canvas Core Library Toolkit - a set of controls that provide
49 user interface functionality.
50
51 ##############################
52 # devel
53 ##############################
54 %package devel
55 Summary:    Application development package for the OpenGLES Canvas toolkit
56 Group:      Development/Building
57 Requires:   %{name} = %{version}-%{release}
58
59 %description devel
60 Application development package for the OpenGLES Canvas toolkit - headers and package config
61
62 ##############################
63 # Preparation
64 ##############################
65 %prep
66 %setup -q
67
68 #Use TZ_PATH when tizen version is 3.x
69
70 %if "%{tizen_version_major}" == "2"
71 %define dali_data_rw_dir            /opt/usr/share/dali/
72 %define dali_data_ro_dir            /usr/share/dali/
73 %endif
74
75 %if "%{tizen_version_major}" == "3"
76 %define dali_data_rw_dir            %TZ_SYS_SHARE/dali/
77 %define dali_data_ro_dir            %TZ_SYS_RO_SHARE/dali/
78 %endif
79
80 %define dali_toolkit_image_files    %{dali_data_ro_dir}/toolkit/images/
81 %define dali_toolkit_sound_files    %{dali_data_ro_dir}/toolkit/sounds/
82 %define dali_toolkit_style_files    %{dali_data_ro_dir}/toolkit/styles/
83 %define dev_include_path %{_includedir}
84
85 # PO
86 {
87 cd %{_builddir}/dali-toolkit-%{version}/dali-toolkit/po
88 for language in *.po
89 do
90   language=${language%.po}
91   msgfmt -o ${language}.mo ${language}.po
92 done
93 } &> /dev/null
94
95 ##############################
96 # Build
97 ##############################
98 %build
99 PREFIX="/usr"
100 CXXFLAGS+=" -Wall -g -Os -fPIC -fvisibility-inlines-hidden -fdata-sections -ffunction-sections "
101 LDFLAGS+=" -Wl,--rpath=$PREFIX/lib -Wl,--as-needed -Wl,--gc-sections -Wl,-Bsymbolic-functions "
102
103 %if 0%{?enable_coverage}
104 CXXFLAGS+=" --coverage "
105 LDFLAGS+=" --coverage "
106 %endif
107
108 libtoolize --force
109 cd %{_builddir}/dali-toolkit-%{version}/build/tizen
110 autoreconf --install
111 DALI_DATA_RW_DIR="%{dali_data_rw_dir}" ; export DALI_DATA_RW_DIR
112 DALI_DATA_RO_DIR="%{dali_data_ro_dir}" ; export DALI_DATA_RO_DIR
113
114 %configure --enable-profile=%{dali_toolkit_profile} \
115            --with-style=%{dali_style_folder} \
116 %if 0%{?enable_debug}
117            --enable-debug \
118 %endif
119            --enable-i18n=yes
120
121 make %{?jobs:-j%jobs}
122
123 ##############################
124 # Installation
125 ##############################
126 %install
127 rm -rf %{buildroot}
128 cd build/tizen
129 %make_install DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
130
131 # LICENSE
132 mkdir -p %{buildroot}/usr/share/license
133 cp -af %{_builddir}/%{name}-%{version}/LICENSE %{buildroot}/usr/share/license/%{name}
134
135 # PO
136 {
137 cd %{_builddir}/dali-toolkit-%{version}/dali-toolkit/po
138 for language in *.mo
139 do
140   language=${language%.mo}
141   mkdir -p %{buildroot}/%{_datadir}/locale/${language}/LC_MESSAGES/
142   cp ${language}.mo %{buildroot}/%{_datadir}/locale/${language}/LC_MESSAGES/dali-toolkit.mo
143 done
144 } &> /dev/null
145
146 ##############################
147 # Post Install
148 ##############################
149 %post
150 /sbin/ldconfig
151 exit 0
152
153 ##############################
154 # Post Uninstall
155 ##############################
156 %postun
157 /sbin/ldconfig
158 exit 0
159
160 ##############################
161 # Files in Binary Packages
162 ##############################
163 %files
164 %if 0%{?enable_dali_smack_rules}
165 %manifest dali-toolkit.manifest-smack
166 %else
167 %manifest dali-toolkit.manifest
168 %endif
169 %defattr(-,root,root,-)
170 %{_libdir}/lib%{name}.so*
171 %{dali_toolkit_image_files}/*
172 %{dali_toolkit_sound_files}/*
173 %{dali_toolkit_style_files}/*
174 %{_datadir}/license/%{name}
175 %{_datadir}/locale/*/LC_MESSAGES/*
176
177 %files devel
178 %defattr(-,root,root,-)
179 %{dev_include_path}/%{name}/*
180 %{_libdir}/pkgconfig/*.pc
181