Name: dali-toolkit
-Summary: The OpenGLES Canvas Core Library Toolkit
-Version: 1.2.10
+Summary: Dali 3D engine Toolkit
+Version: 1.3.7
Release: 1
Group: System/Libraries
-License: Apache-2.0 and BSD-2-Clause and MIT
+License: Apache-2.0 and BSD-3-Clause and MIT
URL: https://review.tizen.org/git/?p=platform/core/uifw/dali-toolkit.git;a=summary
Source0: %{name}-%{version}.tar.gz
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
+%if 0%{?tizen_version_major} < 4
+%define disable_cxx03_build 1
+%endif
+
BuildRequires: pkgconfig
BuildRequires: pkgconfig(dlog)
BuildRequires: pkgconfig(dali-core)
+%if !0%{?disable_cxx03_build}
+BuildRequires: pkgconfig(dali-core-cxx03)
+%endif
BuildRequires: gettext
# dali-toolkit only need to know the interfaces(APIs) of dali-adaptor(the devel package).
# It doesn't need to know which adaptor will be used by applications.
# Applications or dali-addon will decide which one they will use.
BuildRequires: dali-adaptor-devel
+%if !0%{?disable_cxx03_build}
+BuildRequires: dali-adaptor-devel-cxx03
+%endif
#need libtzplatform-config for directory if tizen version is 3.x
-%if "%{tizen_version_major}" == "3"
+%if 0%{?tizen_version_major} >= 3
BuildRequires: pkgconfig(libtzplatform-config)
%endif
%define profile %{tizen_profile_name}
%endif
-%if "%{profile}" == "mobile"
-%define dali_toolkit_profile MOBILE
-%define dali_style_folder 720x1280
-# 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
-%endif
+%description
+Dali 3D engine Toolkit - a set of controls that provide
+user interface functionality.
-%if "%{profile}" == "tv"
-%define dali_toolkit_profile TV
-%define dali_style_folder 1920x1080
-%endif
+##############################
+# resource
+##############################
+%package resources_360x360
+Summary: default resource files for 360x360
+Requires: %{name} = %{version}-%{release}
+Conflicts: %{name}-resources_480x800
+Conflicts: %{name}-resources_720x1280
+Conflicts: %{name}-resources_1920x1080
+%description resources_360x360
+dali-toolkit default resource files for 360x360
+Contain po / sounds / common images / style / style images
-%if "%{?dali_style}"
- %define dali_style_folder %{dali_style}
-%endif
+%package resources_480x800
+Summary: default resource files for 480x800
+Requires: %{name} = %{version}-%{release}
+Conflicts: %{name}-resources_360x360
+Conflicts: %{name}-resources_720x1280
+Conflicts: %{name}-resources_1920x1080
+%description resources_480x800
+dali-toolkit default resource files for 480x800
+Contain po / sounds / common images / style / style images
-%description
-The OpenGLES Canvas Core Library Toolkit - a set of controls that provide
-user interface functionality.
+%package resources_720x1280
+Summary: default resource files for 720x1280
+Requires: %{name} = %{version}-%{release}
+Conflicts: %{name}-resources_360x360
+Conflicts: %{name}-resources_480x800
+Conflicts: %{name}-resources_1920x1080
+%description resources_720x1280
+dali-toolkit default resource files for 720x1280
+Contain po / sounds / common images / style / style images
+
+%package resources_1920x1080
+Summary: default resource files for 1920x1080
+Requires: %{name} = %{version}-%{release}
+Conflicts: %{name}-resources_360x360
+Conflicts: %{name}-resources_480x800
+Conflicts: %{name}-resources_720x1280
+%description resources_1920x1080
+dali-toolkit default resource files for 1920x1080
+Contain po / sounds / common images / style / style images
+
+%if !0%{?disable_cxx03_build}
+%package cxx03
+Summary: Dali 3D engine Toolkit with cxx03
+Provides: %{name}-cxx03 = %{version}-%{release}
+
+%description cxx03
+Dali 3D engine Toolkit with cxx03
+%endif
##############################
# devel
##############################
%package devel
-Summary: Application development package for the OpenGLES Canvas toolkit
+Summary: Application development package for Dali 3D engine toolkit
Group: Development/Building
Requires: %{name} = %{version}-%{release}
%description devel
-Application development package for the OpenGLES Canvas toolkit - headers and package config
+Application development package for Dali 3D engine toolkit - headers and package config
##############################
# Preparation
DALI_DATA_RW_DIR="%{dali_data_rw_dir}" ; export DALI_DATA_RW_DIR
DALI_DATA_RO_DIR="%{dali_data_ro_dir}" ; export DALI_DATA_RO_DIR
-%configure --enable-profile=%{dali_toolkit_profile} \
- --with-style=%{dali_style_folder} \
+%configure --enable-profile=TIZEN \
+%if 0%{?enable_debug}
+ --enable-debug \
+%endif
+ --enable-i18n=yes \
+ --enable-rename-so=no
+
+make %{?jobs:-j%jobs}
+
+pushd %{_builddir}/%{name}-%{version}/build/tizen
+%make_install DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
+popd
+
+pushd %{buildroot}%{_libdir}
+for FILE in libdali-toolkit-cxx11.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE"; done
+mv pkgconfig/dali-toolkit.pc %{_builddir}/%{name}-%{version}/build/tizen/dali-toolkit.pc
+popd
+
+%if !0%{?disable_cxx03_build}
+make clean
+
+libtoolize --force
+cd %{_builddir}/dali-toolkit-%{version}/build/tizen
+autoreconf --install
+
+DALI_DATA_RW_DIR="%{dali_data_rw_dir}" ; export DALI_DATA_RW_DIR
+DALI_DATA_RO_DIR="%{dali_data_ro_dir}" ; export DALI_DATA_RO_DIR
+
+%configure --enable-profile=TIZEN \
+ --enable-cxx03-abi=yes \
%if 0%{?enable_debug}
--enable-debug \
%endif
- --enable-i18n=yes
+ --enable-i18n=yes \
+ --enable-rename-so=no
make %{?jobs:-j%jobs}
+%endif
##############################
# Installation
##############################
%install
rm -rf %{buildroot}
-cd build/tizen
+pushd %{_builddir}/%{name}-%{version}/build/tizen
%make_install DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
-# LICENSE
-mkdir -p %{buildroot}/usr/share/license
-cp -af %{_builddir}/%{name}-%{version}/LICENSE %{buildroot}/usr/share/license/%{name}
+for FILE in libdali-toolkit-cxx11.so*; do mv "$FILE" "%{buildroot}%{_libdir}/$FILE"; done
+mv dali-toolkit.pc %{buildroot}%{_libdir}/pkgconfig/dali-toolkit.pc
# PO
{
cp ${language}.mo %{buildroot}/%{_datadir}/locale/${language}/LC_MESSAGES/dali-toolkit.mo
done
} &> /dev/null
+popd
+
+#############################
+#rename
+#############################
+pushd %{buildroot}%{_libdir}
+rm -rf libdali-toolkit.so
+rm -rf libdali-toolkit-cxx11.so
+%if !0%{?disable_cxx03_build}
+ln -s libdali-toolkit.so.0.0.* libdali-toolkit-cxx03.so
+%endif
+ln -s libdali-toolkit-cxx11.so.0.0.* libdali-toolkit.so
+popd
+
+# Remove default style and style images which are for Linux build
+rm -rf %{buildroot}%{dali_toolkit_style_files}/*
+
+# Make folder to contain style and style images
+# After making folder, copy local style and style images to new folder
+mkdir -p %{buildroot}%{dali_toolkit_style_files}/360x360
+cp -r dali-toolkit/styles/360x360/* %{buildroot}%{dali_toolkit_style_files}/360x360
+mkdir -p %{buildroot}%{dali_toolkit_style_files}/480x800
+cp -r dali-toolkit/styles/480x800/* %{buildroot}%{dali_toolkit_style_files}/480x800
+mkdir -p %{buildroot}%{dali_toolkit_style_files}/720x1280
+cp -r dali-toolkit/styles/720x1280/* %{buildroot}%{dali_toolkit_style_files}/720x1280
+mkdir -p %{buildroot}%{dali_toolkit_style_files}/1920x1080
+cp -r dali-toolkit/styles/1920x1080/* %{buildroot}%{dali_toolkit_style_files}/1920x1080
+
+# Copy default feedback theme
+cp dali-toolkit/styles/default-feedback-theme.json %{buildroot}%{dali_toolkit_style_files}
+
+##############################
+# Pre Install
+##############################
+
+%pre resources_360x360
+case "$1" in
+ 2)
+ pushd %{dali_toolkit_style_files}
+ rm -rf ./*
+ popd
+ ;;
+esac
+
+%pre resources_480x800
+case "$1" in
+ 2)
+ pushd %{dali_toolkit_style_files}
+ rm -rf ./*
+ popd
+ ;;
+esac
+
+%pre resources_720x1280
+case "$1" in
+ 2)
+ pushd %{dali_toolkit_style_files}
+ rm -rf ./*
+ popd
+ ;;
+esac
+
+%pre resources_1920x1080
+case "$1" in
+ 2)
+ pushd %{dali_toolkit_style_files}
+ rm -rf ./*
+ popd
+ ;;
+esac
##############################
# Post Install
/sbin/ldconfig
exit 0
+%post resources_360x360
+pushd %{dali_toolkit_style_files}/360x360
+for FILE in *; do mv ./"${FILE}" ../"${FILE}"; done
+popd
+
+%post resources_480x800
+pushd %{dali_toolkit_style_files}/480x800
+for FILE in *; do mv ./"${FILE}" ../"${FILE}"; done
+popd
+
+%post resources_720x1280
+pushd %{dali_toolkit_style_files}/720x1280
+for FILE in *; do mv ./"${FILE}" ../"${FILE}"; done
+popd
+
+%post resources_1920x1080
+pushd %{dali_toolkit_style_files}/1920x1080
+for FILE in *; do mv ./"${FILE}" ../"${FILE}"; done
+popd
+
+##############################
+# Pre Uninstall
+##############################
+
+%preun resources_360x360
+case "$1" in
+ 0)
+ %preun resources_360x360
+ pushd %{dali_toolkit_style_files}
+ mv images ./360x360
+ mv dali-toolkit-default-theme.json ./360x360
+ popd
+ ;;
+esac
+
+%preun resources_480x800
+case "$1" in
+ 0)
+ %preun resources_480x800
+ pushd %{dali_toolkit_style_files}
+ mv images ./480x800
+ mv dali-toolkit-default-theme.json ./480x800
+ popd
+ ;;
+esac
+
+%preun resources_720x1280
+case "$1" in
+ 0)
+ %preun resources_720x1280
+ pushd %{dali_toolkit_style_files}
+ mv images ./720x1280
+ mv dali-toolkit-default-theme.json ./720x1280
+ popd
+ ;;
+esac
+
+%preun resources_1920x1080
+case "$1" in
+ 0)
+ %preun resources_1920x1080
+ pushd %{dali_toolkit_style_files}
+ mv images ./1920x1080
+ mv dali-toolkit-default-theme.json ./1920x1080
+ popd
+ ;;
+esac
+
##############################
# Post Uninstall
##############################
/sbin/ldconfig
exit 0
+%postun resources_360x360
+case "$1" in
+ 0)
+ pushd %{dali_toolkit_style_files}
+ rm -rf *
+ popd
+ ;;
+esac
+
+%postun resources_480x800
+case "$1" in
+ 0)
+ pushd %{dali_toolkit_style_files}
+ rm -rf *
+ popd
+ ;;
+esac
+
+%postun resources_720x1280
+case "$1" in
+ 0)
+ pushd %{dali_toolkit_style_files}
+ rm -rf *
+ popd
+ ;;
+esac
+
+%postun resources_1920x1080
+case "$1" in
+ 0)
+ pushd %{dali_toolkit_style_files}
+ rm -rf *
+ popd
+ ;;
+esac
+
##############################
# Files in Binary Packages
##############################
%manifest dali-toolkit.manifest
%endif
%defattr(-,root,root,-)
-%{_libdir}/lib%{name}.so*
+%{_libdir}/libdali-toolkit-cxx11.so.*
+%{_libdir}/libdali-toolkit.so
+%license LICENSE
+
+%if !0%{?disable_cxx03_build}
+%files cxx03
+%if 0%{?enable_dali_smack_rules}
+%manifest dali-toolkit.manifest-smack
+%else
+%manifest dali-toolkit.manifest
+%endif
+%defattr(-,root,root,-)
+%{_libdir}/libdali-toolkit.so.*
+%{_libdir}/libdali-toolkit-cxx03.so
+%license LICENSE
+%endif
+
+%files devel
+%defattr(-,root,root,-)
+%{dev_include_path}/dali-toolkit/*
+%{_libdir}/pkgconfig/dali-toolkit.pc
+
+%files resources_360x360
+%manifest dali-toolkit-resources.manifest
+%defattr(-,root,root,-)
%{dali_toolkit_image_files}/*
%{dali_toolkit_sound_files}/*
-%{dali_toolkit_style_files}/*
-%{_datadir}/license/%{name}
+%{dali_toolkit_style_files}/360x360/*
+%{dali_toolkit_style_files}/default-feedback-theme.json
%{_datadir}/locale/*/LC_MESSAGES/*
-%files devel
+%files resources_480x800
+%manifest dali-toolkit-resources.manifest
%defattr(-,root,root,-)
-%{dev_include_path}/%{name}/*
-%{_libdir}/pkgconfig/*.pc
+%{dali_toolkit_image_files}/*
+%{dali_toolkit_sound_files}/*
+%{dali_toolkit_style_files}/480x800/*
+%{dali_toolkit_style_files}/default-feedback-theme.json
+%{_datadir}/locale/*/LC_MESSAGES/*
+
+%files resources_720x1280
+%manifest dali-toolkit-resources.manifest
+%defattr(-,root,root,-)
+%{dali_toolkit_image_files}/*
+%{dali_toolkit_sound_files}/*
+%{dali_toolkit_style_files}/720x1280/*
+%{dali_toolkit_style_files}/default-feedback-theme.json
+%{_datadir}/locale/*/LC_MESSAGES/*
+
+%files resources_1920x1080
+%manifest dali-toolkit-resources.manifest
+%defattr(-,root,root,-)
+%{dali_toolkit_image_files}/*
+%{dali_toolkit_sound_files}/*
+%{dali_toolkit_style_files}/1920x1080/*
+%{dali_toolkit_style_files}/default-feedback-theme.json
+%{_datadir}/locale/*/LC_MESSAGES/*