Name: dali-adaptor
Summary: The DALi Tizen Adaptor
-Version: 1.0.21
+Version: 1.0.45
Release: 1
Group: System/Libraries
License: Apache-2.0
%define dali_profile MOBILE
%define dali_mobile_profile 1
-%define dali_feedback_plugin 1
-%define dali_bullet_plugin 1
-%define dali_assimp_plugin 1
+%define dali_feedback_plugin 0
+%define dali_bullet_plugin 0
+%define dali_assimp_plugin 0
+%define over_tizen_2_2 1
+
+%if 0%{?over_tizen_2_2}
+%define shaderbincache_flag ENABLE
+%endif
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
Requires: boost-thread
+Requires: boost-chrono
Requires: giflib
BuildRequires: pkgconfig
BuildRequires: gawk
BuildRequires: pkgconfig(libexif)
BuildRequires: pkgconfig(capi-system-system-settings)
BuildRequires: pkgconfig(libpng)
-BuildRequires: pkgconfig(opengl-es-20)
+BuildRequires: pkgconfig(glesv2)
BuildRequires: pkgconfig(efl-assist)
+BuildRequires: libcurl-devel
+BuildRequires: pkgconfig(harfbuzz)
+BuildRequires: fribidi-devel
+
+%if 0%{?over_tizen_2_2}
+BuildRequires: pkgconfig(capi-system-info)
+%endif
+
+%if 0%{?dali_assimp_plugin}
BuildRequires: pkgconfig(assimp)
+%endif
%description
The DALi Tizen Adaptor provides a Tizen specific implementation of the dali-core
Summary: Development components for the DALi Tizen Adaptor
Group: Development/Building
Requires: %{name} = %{version}-%{release}
+Requires: %{name}-integration-devel = %{version}-%{release}
+Requires: boost-devel
%description devel
Development components for the DALi Tizen Adaptor - public headers and package configs
##############################
+# integration-devel
+##############################
+%package integration-devel
+Summary: Integration development package for the Adaptor
+Group: Development/Building
+Requires: %{name} = %{version}-%{release}
+
+%description integration-devel
+Integration development package for the Adaptor - headers for integrating with an adaptor library.
+
+##############################
# Dali Feedback Plugin
##############################
%package dali-feedback-plugin
Summary: Plugin to play haptic and audio feedback for Dali
Group: System/Libraries
+%if 0%{?dali_feedback_plugin}
Requires: libdeviced
BuildRequires: pkgconfig(mm-sound)
BuildRequires: pkgconfig(deviced)
BuildRequires: libfeedback-devel
+%endif
%description dali-feedback-plugin
Feedback plugin to play haptic and audio feedback for Dali
%package dali-bullet-plugin
Summary: Plugin to provide physics
Group: System/Libraries
+%if 0%{?dali_bullet_plugin}
BuildRequires: libbullet-devel
+%endif
%description dali-bullet-plugin
Dynamics plugin to wrap the libBulletDynamics libraries
%setup -q
%define dali_data_rw_dir /opt/usr/share/dali/
%define dali_data_ro_dir /usr/share/dali/
-%define user_font_cache_dir %{dali_data_rw_dir}/glyphcache/
-%define user_shader_cache_dir %{dali_data_rw_dir}/core/shaderbin/
+%define smack_rule_dir /etc/smack/accesses2.d/
+%define user_shader_cache_dir %{dali_data_ro_dir}/core/shaderbin/
%define font_preloaded_path /usr/share/fonts/
%define font_downloaded_path /opt/share/fonts/
%define font_application_path /usr/share/app_fonts/
%build
PREFIX+="/usr"
CXXFLAGS+=" -Wall -g -Os -fPIC -fvisibility-inlines-hidden -fdata-sections -ffunction-sections "
-LDFLAGS+=" -Wl,--rpath=%{_libdir} -Wl,--as-needed -Wl,--gc-sections "
-
-%if 0%{?sec_build_binary_debug_enable}
-export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
-export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
-export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
-%endif
+LDFLAGS+=" -Wl,--rpath=%{_libdir} -Wl,--as-needed -Wl,--gc-sections -Wl,-Bsymbolic-functions "
%ifarch %{arm}
CXXFLAGS+=" -D_ARCH_ARM_ -lgcc"
%endif
+%if 0%{?over_tizen_2_2}
+CFLAGS+=" -DOVER_TIZEN_SDK_2_2"
+CXXFLAGS+=" -DOVER_TIZEN_SDK_2_2"
+%endif
+
libtoolize --force
cd %{_builddir}/%{name}-%{version}/build/tizen
autoreconf --install
FONT_APPLICATION_PATH="%{font_application_path}" ; export FONT_APPLICATION_PATH
FONT_CONFIGURATION_FILE="%{font_configuration_file}" ; export FONT_CONFIGURATION_FILE
-%configure --with-jpeg-turbo --enable-gles=30 --enable-profile=%{dali_profile} --libdir=%{_libdir}
+%configure --with-jpeg-turbo --enable-gles=20 --enable-shaderbincache=%{shaderbincache_flag} --enable-profile=%{dali_profile} \
+%if 0%{?dali_feedback_plugin}
+ --enable-feedback \
+%endif
+%if 0%{?dali_bullet_plugin}
+ --enable-bullet \
+%endif
+%if 0%{?dali_assimp_plugin}
+ --enable-assimp \
+%endif
+%if 0%{?over_tizen_2_2}
+ --with-over-tizen_2_2 \
+%endif
+ --libdir=%{_libdir}
make %{?jobs:-j%jobs}
cd build/tizen
%make_install DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
+##############################
+# Smack
+##############################
+mkdir -p %{buildroot}%{smack_rule_dir}
+cp -f %{_builddir}/%{name}-%{version}/%{name}.rule-mobile %{buildroot}%{smack_rule_dir}/%{name}.rule
+
# LICENSE
mkdir -p %{buildroot}/usr/share/license
cp -af %{_builddir}/%{name}-%{version}/LICENSE %{buildroot}/usr/share/license/%{name}
##############################
%pre
-rm -f %{user_font_cache_dir}/*
-rm -f %{user_shader_cache_dir}/*
exit 0
##############################
##############################
%post
/sbin/ldconfig
-chown 5000:5000 %{user_font_cache_dir}
-chown 5000:5000 %{user_shader_cache_dir}
exit 0
%if 0%{?dali_feedback_plugin}
# Pre Uninstall old package
##############################
%preun
-rm -f %{user_font_cache_dir}/*
-rm -f %{user_shader_cache_dir}/*
exit 0
##############################
%files
%manifest dali-adaptor.manifest-mobile
%defattr(-,root,root,-)
+%{smack_rule_dir}/%{name}.rule
%{_libdir}/libdali-adap*.so*
%defattr(-,app,app,-)
-%dir %{user_font_cache_dir}
%dir %{user_shader_cache_dir}
%{_bindir}/*
%{_datadir}/license/%{name}
%files devel
%defattr(-,root,root,-)
-%{dev_include_path}/dali/*
-%{_libdir}/pkgconfig/dali*.pc
+%{dev_include_path}/dali/dali.h
+%{dev_include_path}/dali/public-api/*
+%{dev_include_path}/dali/devel-api/*
+%{_libdir}/pkgconfig/dali.pc
+
+%files integration-devel
+%defattr(-,root,root,-)
+%{dev_include_path}/dali/integration-api/adaptors/*
+%{_libdir}/pkgconfig/dali-adaptor-integration.pc
%if 0%{?dali_feedback_plugin}
%files dali-feedback-plugin