X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=packaging%2Fdali-adaptor.spec;h=2ef3c311b6c6ac557f604729f88c1de497dfe467;hb=9df67ab02259b7979a19ad229c620c7622fe154c;hp=252e49b65d5d67e55e08f72b801d915438992c24;hpb=c40f2a627d875a18f95fc532c6920ca0c6d19db1;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/packaging/dali-adaptor.spec b/packaging/dali-adaptor.spec index 252e49b..2ef3c31 100644 --- a/packaging/dali-adaptor.spec +++ b/packaging/dali-adaptor.spec @@ -1,60 +1,86 @@ +# NOTES +# This spec file is used to build DALi Adaptor for different Tizen Profiles +# Current profiles are: Mobile, TV, Wearable, Common +# +# The profile variable is defined outside of the spec file in a build.conf file. +# It will contain the profile and whether or not to build with X11 or Wayland +# +# gbs will try to download the build.conf for the platform automatically from the repo location when +# performing a gbs build ( use gbs build -v to see it download location) E.g. +# http://download.tizen.org/snapshots/tizen/tv/tizen-tv/repos/arm-wayland/packages/repodata/xxxx-build.conf.gz + + %bcond_with wayland Name: dali-adaptor Summary: The DALi Tizen Adaptor -Version: 1.1.9 +Version: 1.1.30 Release: 1 Group: System/Libraries -License: Apache-2.0, BSD-2.0, MIT +License: Apache-2.0 and BSD-2-Clause and MIT URL: https://review.tizen.org/git/?p=platform/core/uifw/dali-adaptor.git;a=summary Source0: %{name}-%{version}.tar.gz -# Get the profile from tizen_profile_name if it exists. -%if 0%{?tizen_profile_name:1} +Requires(post): /sbin/ldconfig +Requires(postun): /sbin/ldconfig +Requires: giflib + +# Get the profile from tizen_profile_name if tizen version is 2.x and tizen_profile_name exists. + +%if "%{tizen_version_major}" == "2" && 0%{?tizen_profile_name:1} %define profile %{tizen_profile_name} %endif %if "%{profile}" == "mobile" %define dali_profile MOBILE %define dali_feedback_plugin 0 -%define over_tizen_2_2 1 %define shaderbincache_flag DISABLE +BuildRequires: pkgconfig(gles20) +%define gles_requirement_setup 1 %endif %if "%{profile}" == "tv" %define dali_profile TV %define dali_feedback_plugin 0 -%define over_tizen_2_2 1 %define shaderbincache_flag ENABLE +BuildRequires: pkgconfig(glesv2) +%define gles_requirement_setup 1 %endif %if "%{profile}" == "wearable" %define dali_profile WEARABLE %define dali_feedback_plugin 0 -%define over_tizen_2_2 1 %define shaderbincache_flag DISABLE +BuildRequires: pkgconfig(gles20) +%define gles_requirement_setup 1 +%endif + +%if "%{profile}" == "ivi" +%define dali_profile IVI +%define dali_feedback_plugin 0 +%define shaderbincache_flag DISABLE +BuildRequires: pkgconfig(glesv2) +%define gles_requirement_setup 1 %endif %if "%{profile}" == "common" %define dali_profile COMMON %define dali_feedback_plugin 0 -%define over_tizen_2_2 0 +%define tizen_2_2_compatibility 0 %define shaderbincache_flag DISABLE +BuildRequires: pkgconfig(glesv2) +%define gles_requirement_setup 1 %endif -Requires(post): /sbin/ldconfig -Requires(postun): /sbin/ldconfig -Requires: giflib +# If we have not set a BuildRequires for the gles version, default it here. +%{!?gles_requirement_setup: BuildRequires: pkgconfig(glesv2)} + BuildRequires: pkgconfig BuildRequires: gawk -BuildRequires: pkgconfig(sensor) BuildRequires: pkgconfig(aul) BuildRequires: giflib-devel BuildRequires: pkgconfig(fontconfig) -BuildRequires: pkgconfig(elementary) -BuildRequires: pkgconfig(capi-appfw-application) BuildRequires: libjpeg-turbo-devel -BuildRequires: pkgconfig(evas) BuildRequires: dali-devel BuildRequires: dali-integration-devel BuildRequires: pkgconfig(vconf) @@ -62,22 +88,48 @@ BuildRequires: tts-devel BuildRequires: pkgconfig(dlog) BuildRequires: libdrm-devel BuildRequires: pkgconfig(libexif) -BuildRequires: pkgconfig(capi-system-system-settings) BuildRequires: pkgconfig(libpng) -BuildRequires: pkgconfig(glesv2) BuildRequires: pkgconfig(egl) BuildRequires: libcurl-devel +BuildRequires: pkgconfig(harfbuzz) +BuildRequires: fribidi-devel - -%if 0%{?over_tizen_2_2} +%if 0%{?tizen_2_2_compatibility} != 1 BuildRequires: pkgconfig(capi-system-info) +BuildRequires: pkgconfig(capi-system-sensor) %endif +# Tizen currently does not have libuv as a separate libuv package +# So we have to look into the uv headers bundled inside node-js +BuildRequires: nodejs-devel + + %if %{with wayland} -BuildRequires: pkgconfig(ecore-wayland) + +####### BUILDING FOR WAYLAND ####### BuildRequires: pkgconfig(wayland-egl) BuildRequires: pkgconfig(wayland-client) +BuildRequires: wayland-devel +# Currently Tizen Common we use does not have wayland extensions like xdg-shell +%if "%{profile}" != "common" +BuildRequires: wayland-extension-client-devel +%endif + +# dali-adaptor-uv uses libuv mainloop and has its own wayland client (it needs wayland-client headers). +BuildRequires: libxkbcommon-devel + +# dali-adaptor uses ecore mainloop +BuildRequires: pkgconfig(ecore-wayland) + +# dali-adaptor needs tbm_surface in tizen 3.0 wayland +BuildRequires: pkgconfig(libtbm) + +# tpkp-curl (certificate pinning for libcurl functions) is only available in Tizen 3.0 +BuildRequires: pkgconfig(tpkp-curl) + +####### BUILDING FOR X11####### %else +BuildRequires: pkgconfig(egl) BuildRequires: pkgconfig(xext) BuildRequires: pkgconfig(xi) BuildRequires: pkgconfig(xfixes) @@ -85,8 +137,17 @@ BuildRequires: pkgconfig(xdamage) BuildRequires: pkgconfig(utilX) %endif -BuildRequires: pkgconfig(harfbuzz) -BuildRequires: fribidi-devel +# for dali-adaptor +BuildRequires: pkgconfig(evas) +BuildRequires: pkgconfig(elementary) +BuildRequires: pkgconfig(capi-appfw-application) +BuildRequires: pkgconfig(capi-system-system-settings) + +%if 0%{?over_tizen_2_2} +BuildRequires: pkgconfig(capi-system-info) +%endif + + %description The DALi Tizen Adaptor provides a Tizen specific implementation of the dali-core @@ -165,9 +226,9 @@ CXXFLAGS+=" -DWAYLAND" configure_flags="--enable-wayland" %endif -%if 0%{?over_tizen_2_2} -CFLAGS+=" -DOVER_TIZEN_SDK_2_2" -CXXFLAGS+=" -DOVER_TIZEN_SDK_2_2" +%if 0%{?tizen_2_2_compatibility} +CFLAGS+=" -DTIZEN_SDK_2_2_COMPATIBILITY" +CXXFLAGS+=" -DTIZEN_SDK_2_2_COMPATIBILITY" %endif libtoolize --force @@ -181,15 +242,31 @@ FONT_DOWNLOADED_PATH="%{font_downloaded_path}" ; export FONT_DOWNLOADED_PATH FONT_APPLICATION_PATH="%{font_application_path}" ; export FONT_APPLICATION_PATH FONT_CONFIGURATION_FILE="%{font_configuration_file}" ; export FONT_CONFIGURATION_FILE -%configure --prefix=$PREFIX --with-jpeg-turbo --enable-gles=20 --enable-shaderbincache=%{shaderbincache_flag} --enable-profile=%{dali_profile} \ +# Default to GLES 2.0 if not specified. +%{!?target_gles_version: %define target_gles_version 20} + +#--enable-efl=no \ # only affects dali-adaptor-uv +#--enable-appfw=yes \ # affects both dali-adaptor & dali-adaptor-uv +#--with-libuv=/usr/include/node/ \ # only affects dali-adaptor-uv + +# Set up the build via configure. +%configure --prefix=$PREFIX --with-jpeg-turbo --enable-gles=%{target_gles_version} --enable-shaderbincache=%{shaderbincache_flag} --enable-profile=%{dali_profile} \ %if 0%{?dali_feedback_plugin} --enable-feedback \ %endif -%if 0%{?over_tizen_2_2} - --with-over-tizen_2_2 \ +%if 0%{?tizen_2_2_compatibility} + --with-tizen-2-2-compatibility \ +%endif +%if %{with wayland} + --enable-efl=no \ +%else + --enable-efl=yes \ %endif + --enable-appfw=yes \ + --with-libuv=/usr/include/node/ \ $configure_flags --libdir=%{_libdir} +# Build. make %{?jobs:-j%jobs} ############################## @@ -268,7 +345,8 @@ exit 0 %{dev_include_path}/dali/public-api/* %{dev_include_path}/dali/devel-api/* %{dev_include_path}/dali/doc/* -%{_libdir}/pkgconfig/dali.pc +%{_libdir}/pkgconfig/dali-adaptor.pc +%{_libdir}/pkgconfig/dali-adaptor-uv.pc %files integration-devel %defattr(-,root,root,-)