[3.0] Make all profile have mobile dali_toolkit_profile except tv
[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.45
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 # profile setup
31 #############################
32
33 %if "%{tizen_version_major}" == "2" && 0%{?tizen_profile_name:1}
34 %define profile %{tizen_profile_name}
35 %endif
36
37 %if "%{profile}" == "tv"
38 %define dali_toolkit_profile TV
39 %define dali_style_folder 1920x1080
40 %else
41 %define dali_toolkit_profile MOBILE
42 %define dali_style_folder 720x1280
43 # 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
44 %endif
45
46 %if "%{?dali_style}"
47   %define dali_style_folder %{dali_style}
48 %endif
49
50 %description
51 The OpenGLES Canvas Core Library Toolkit - a set of controls that provide
52 user interface functionality.
53
54 ##############################
55 # devel
56 ##############################
57 %package devel
58 Summary:    Application development package for the OpenGLES Canvas toolkit
59 Group:      Development/Building
60 Requires:   %{name} = %{version}-%{release}
61
62 %description devel
63 Application development package for the OpenGLES Canvas toolkit - headers and package config
64
65 ##############################
66 # Preparation
67 ##############################
68 %prep
69 %setup -q
70
71 #Use TZ_PATH when tizen version is 3.x
72
73 %if "%{tizen_version_major}" == "2"
74 %define dali_data_rw_dir            /opt/usr/share/dali/
75 %define dali_data_ro_dir            /usr/share/dali/
76 %else
77 %define dali_data_rw_dir            %TZ_SYS_SHARE/dali/
78 %define dali_data_ro_dir            %TZ_SYS_RO_SHARE/dali/
79 %endif
80
81 %define dali_toolkit_image_files    %{dali_data_ro_dir}/toolkit/images/
82 %define dali_toolkit_sound_files    %{dali_data_ro_dir}/toolkit/sounds/
83 %define dali_toolkit_style_files    %{dali_data_ro_dir}/toolkit/styles/
84 %define dev_include_path %{_includedir}
85
86 # PO
87 {
88 cd %{_builddir}/dali-toolkit-%{version}/dali-toolkit/po
89 for language in *.po
90 do
91   language=${language%.po}
92   msgfmt -o ${language}.mo ${language}.po
93 done
94 } &> /dev/null
95
96 ##############################
97 # Build
98 ##############################
99 %build
100 PREFIX="/usr"
101 CXXFLAGS+=" -Wall -g -Os -fPIC -fvisibility-inlines-hidden -fdata-sections -ffunction-sections "
102 LDFLAGS+=" -Wl,--rpath=$PREFIX/lib -Wl,--as-needed -Wl,--gc-sections -Wl,-Bsymbolic-functions "
103
104 %if 0%{?enable_coverage}
105 CXXFLAGS+=" --coverage "
106 LDFLAGS+=" --coverage "
107 %endif
108
109 libtoolize --force
110 cd %{_builddir}/dali-toolkit-%{version}/build/tizen
111 autoreconf --install
112 DALI_DATA_RW_DIR="%{dali_data_rw_dir}" ; export DALI_DATA_RW_DIR
113 DALI_DATA_RO_DIR="%{dali_data_ro_dir}" ; export DALI_DATA_RO_DIR
114
115 %configure --enable-profile=%{dali_toolkit_profile} \
116            --with-style=%{dali_style_folder} \
117 %if 0%{?enable_debug}
118            --enable-debug \
119 %endif
120            --enable-i18n=yes
121
122 make %{?jobs:-j%jobs}
123
124 ##############################
125 # Installation
126 ##############################
127 %install
128 rm -rf %{buildroot}
129 cd build/tizen
130 %make_install DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
131
132 # LICENSE
133 mkdir -p %{buildroot}/usr/share/license
134 cp -af %{_builddir}/%{name}-%{version}/LICENSE %{buildroot}/usr/share/license/%{name}
135
136 # PO
137 {
138 cd %{_builddir}/dali-toolkit-%{version}/dali-toolkit/po
139 for language in *.mo
140 do
141   language=${language%.mo}
142   mkdir -p %{buildroot}/%{_datadir}/locale/${language}/LC_MESSAGES/
143   cp ${language}.mo %{buildroot}/%{_datadir}/locale/${language}/LC_MESSAGES/dali-toolkit.mo
144 done
145 } &> /dev/null
146
147 ##############################
148 # Post Install
149 ##############################
150 %post
151 /sbin/ldconfig
152 exit 0
153
154 ##############################
155 # Post Uninstall
156 ##############################
157 %postun
158 /sbin/ldconfig
159 exit 0
160
161 ##############################
162 # Files in Binary Packages
163 ##############################
164 %files
165 %if 0%{?enable_dali_smack_rules}
166 %manifest dali-toolkit.manifest-smack
167 %else
168 %manifest dali-toolkit.manifest
169 %endif
170 %defattr(-,root,root,-)
171 %{_libdir}/lib%{name}.so*
172 %{dali_toolkit_image_files}/*
173 %{dali_toolkit_sound_files}/*
174 %{dali_toolkit_style_files}/*
175 %{_datadir}/license/%{name}
176 %{_datadir}/locale/*/LC_MESSAGES/*
177
178 %files devel
179 %defattr(-,root,root,-)
180 %{dev_include_path}/%{name}/*
181 %{_libdir}/pkgconfig/*.pc