BuildRequires: pkgconfig(cynara-session)
BuildRequires: capi-appfw-package-manager-devel
Requires(postun): /sbin/ldconfig
-Requires: %{name}-compat
-Recommends: %{name}-profile_common
-Requires: org.tizen.isf-kbd-mode-changer
-
-# Mobile/Common ONLY
+%if "%{?profile}" == "mobile" || "%{?profile}" == "common"
BuildRequires: pkgconfig(notification)
-# TV ONLY
+Requires: org.tizen.isf-kbd-mode-changer
+%endif
+%if "%{?profile}" == "tv"
BuildRequires: pkgconfig(libwebsockets)
+%endif
%define APP_PREFIX %{TZ_SYS_RO_APP}/org.tizen.isf-kbd-mode-changer/bin/
%description
Input Service Framewok (ISF) is an input method (IM) platform, and it has been derived from SCIM.
-%package profile_wearable
-Summary: ISF bin for wearable/ivi
-Provides: %{name}-compat = %{version}-%{release}
-Provides: %{name}-profile_ivi = %{version}-%{release}
-Conflicts: %{name}-profile_common
-Conflicts: %{name}-profile_tv
-%description profile_wearable
-Compile isf with --disable-include-notification and --disable-include-libwebsocket
-
-%package profile_common
-Summary: ISF bin for mobile/common
-Provides: %{name}-compat = %{version}-%{release}
-Provides: %{name}-profile_mobile = %{version}-%{release}
-Conflicts: %{name}-profile_wearable
-Conflicts: %{name}-profile_tv
-%description profile_common
-Compile isf with --disable-include-libwebsocket
-
-%package profile_tv
-Summary: ISF bin for TV
-Provides: %{name}-compat = %{version}-%{release}
-Conflicts: %{name}-profile_common
-Conflicts: %{name}-profile_wearable
-%description profile_tv
-Compile isf with --disable-include-notification
%package devel
Summary: ISF header files
export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
-%if %{with wayland}
-export CFLAGS="$CFLAGS -DWAYLAND"
-export CXXFLAGS="$CXXFLAGS -DWAYLAND"
+
+%if "%{profile}" == "wearable"
+CFLAGS+=" -D_WEARABLE -DENABLE_HIDE_PANEL_KEY=1";
+CXXFLAGS+=" -D_WEARABLE -DENABLE_HIDE_PANEL_KEY=1";
%endif
-export GC_SECTIONS_FLAGS="-fdata-sections -ffunction-sections -Wl,--gc-sections"
-export CFLAGS="$CFLAGS ${GC_SECTIONS_FLAGS} "
-export CXXFLAGS="$CXXFLAGS -fvisibility=hidden -fvisibility-inlines-hidden ${GC_SECTIONS_FLAGS} "
-export CFLAGS_BASIS="$CFLAGS"
-export CXXFLAGS_BASIS="$CXXFLAGS"
-%autogen
-mkdir -p build_tv
-export CFLAGS="$CFLAGS_BASIS -D_TV -DENABLE_REMOTE_INPUT=1";
-export CXXFLAGS="$CFLAGS_BASIS -D_TV -DENABLE_REMOTE_INPUT=1";
-%configure --disable-static \
- --disable-tray-icon \
- --disable-filter-sctc \
- --disable-include-notification \
-%if %{with wayland}
- --disable-efl-immodule \
+%if "%{profile}" == "mobile" || "%{profile}" == "common"
+CFLAGS+=" -D_MOBILE -DENABLE_HIDE_PANEL_KEY=1";
+CXXFLAGS+=" -D_MOBILE -DENABLE_HIDE_PANEL_KEY=1";
+%endif
+
+%if "%{profile}" == "tv"
+CFLAGS+=" -D_TV -DENABLE_REMOTE_INPUT=1";
+CXXFLAGS+=" -D_TV -DENABLE_REMOTE_INPUT=1";
%endif
- --disable-frontend-x11 \
- --disable-multiwindow-support \
- --disable-ime-embed-app \
- --with-ro-app-dir=%{TZ_SYS_RO_APP} \
- --with-ro-packages-dir=%{TZ_SYS_RO_PACKAGES}
-make %{?_smp_mflags}
-# Install essential profile-tv files into build_tv
-%make_install
-mkdir -p build_tv/bin
-mkdir -p build_tv/lib
-mv %{buildroot}%{_bindir}/* build_tv/bin/
-mv %{buildroot}%{_libdir}/* build_tv/lib/
-mv %{buildroot}%{_datadir}/scim/remote-input build_tv/
-ls -la build_tv/bin/
-ls -la build_tv/lib/
-ls -la build_tv/
-make clean
-mkdir -p build_wearable
-export CFLAGS="$CFLAGS_BASIS -D_WEARABLE -DENABLE_HIDE_PANEL_KEY=1";
-export CXXFLAGS="$CXXFLAGS_BASIS -D_WEARABLE -DENABLE_HIDE_PANEL_KEY=1";
-%configure --disable-static \
- --disable-tray-icon \
- --disable-filter-sctc \
- --disable-include-libwebsocket \
- --disable-include-notification \
%if %{with wayland}
- --disable-efl-immodule \
+CFLAGS+=" -DWAYLAND"
+CXXFLAGS+=" -DWAYLAND"
%endif
- --disable-frontend-x11 \
- --disable-multiwindow-support \
- --disable-ime-embed-app \
- --with-ro-app-dir=%{TZ_SYS_RO_APP} \
- --with-ro-packages-dir=%{TZ_SYS_RO_PACKAGES}
-make %{?_smp_mflags}
-# Install essential profile-wearable files into build_wearable
-%make_install
-mkdir -p build_wearable/bin
-mkdir -p build_wearable/lib
-mv %{buildroot}%{_bindir}/* build_wearable/bin/
-mv %{buildroot}%{_libdir}/* build_wearable/lib/
-ls -la build_wearable/bin/
-ls -la build_wearable/lib/
-make clean
-# mobile/common
-export CFLAGS="$CFLAGS_BASIS -D_MOBILE -DENABLE_HIDE_PANEL_KEY=1";
-export CXXFLAGS="$CXXFLAGS_BASIS -D_MOBILE -DENABLE_HIDE_PANEL_KEY=1";
+export GC_SECTIONS_FLAGS="-fdata-sections -ffunction-sections -Wl,--gc-sections"
+
+CFLAGS+=" ${GC_SECTIONS_FLAGS} "; export CFLAGS
+
+CXXFLAGS+=" -fvisibility=hidden -fvisibility-inlines-hidden ${GC_SECTIONS_FLAGS} ";export CXXFLAGS
+
+%autogen
%configure --disable-static \
--disable-tray-icon \
--disable-filter-sctc \
- --disable-include-libwebsocket \
%if %{with wayland}
--disable-efl-immodule \
%endif
mkdir -p %{buildroot}/etc/scim/conf
mkdir -p %{buildroot}/usr/share/upgrade/scripts/
cp isf_upgrade_24to30.sh %{buildroot}/usr/share/upgrade/scripts/
-mv build_tv/bin/isf-demo-efl %{buildroot}%{_bindir}/isf-demo-efl.tv
-mv build_tv/bin/isf-panel-efl %{buildroot}%{_bindir}/isf-panel-efl.tv
-mv build_tv/bin/scim %{buildroot}%{_bindir}/scim.tv
-mv build_tv/bin/isf-log %{buildroot}%{_bindir}/isf-log.tv
-mkdir -p %{buildroot}%{_datadir}/scim
-mv build_tv/remote-input %{buildroot}%{_datadir}/scim/
-#mv build_tv/lib/libscim-*.so* %{buildroot}%{_libdir}/libscim-*.so*.tv
-pushd build_tv/lib/
-for FILE in libscim-*.so*; do mv "$FILE" "%{buildroot}%{_libdir}/$FILE.tv"; done
-popd
-mv build_tv/lib/scim-1.0/scim-launcher %{buildroot}%{_libdir}/scim-1.0/scim-launcher.tv
-mv build_tv/lib/scim-1.0/scim-helper-launcher %{buildroot}%{_libdir}/scim-1.0/scim-helper-launcher.tv
-mv build_wearable/bin/isf-demo-efl %{buildroot}%{_bindir}/isf-demo-efl.wearable
-mv build_wearable/bin/isf-panel-efl %{buildroot}%{_bindir}/isf-panel-efl.wearable
-mv build_wearable/bin/scim %{buildroot}%{_bindir}/scim.wearable
-mv build_wearable/bin/isf-log %{buildroot}%{_bindir}/isf-log.wearable
-#mv build_wearable/lib/libscim-*.so* %{buildroot}%{_libdir}/libscim-*.so*.wearable
-pushd build_wearable/lib/
-for FILE in libscim-*.so*; do mv "$FILE" "%{buildroot}%{_libdir}/$FILE.wearable"; done
-popd
-mv build_wearable/lib/scim-1.0/scim-launcher %{buildroot}%{_libdir}/scim-1.0/scim-launcher.wearable
-mv build_wearable/lib/scim-1.0/scim-helper-launcher %{buildroot}%{_libdir}/scim-1.0/scim-helper-launcher.wearable
%find_lang scim
ln -sf %{_libdir}/ecore_imf/modules/wayland/v-1.16/module.so %{_libdir}/ecore_imf/modules/wayland/v-1.16/libwltextinputmodule.so
/sbin/ldconfig
-%postun -p /sbin/ldconfig
-
-%post profile_wearable
-ln -sf isf-demo-efl.wearable %{_bindir}/isf-demo-efl
-ln -sf isf-panel-efl.wearable %{_bindir}/isf-panel-efl
-ln -sf scim.wearable %{_bindir}/scim
-ln -sf isf-log.wearable %{_bindir}/isf-log
-ln -sf scim-launcher.wearable %{_libdir}/scim-1.0/scim-launcher
-ln -sf scim-helper-launcher.wearable %{_libdir}/scim-1.0/scim-helper-launcher
-pushd %{_libdir}
-for FILE in libscim-*.so*.wearable; do ln -sf "$FILE" "${FILE%.wearable}"; done
-popd
-%preun profile_wearable
-rm %{_bindir}/isf-demo-efl
-rm %{_bindir}/isf-panel-efl
-rm %{_bindir}/scim
-rm %{_bindir}/isf-log
-rm %{_libdir}/scim-1.0/scim-launcher
-rm %{_libdir}/scim-1.0/scim-helper-launcher
-pushd %{_libdir}
-for FILE in libscim-*.so*; do rm "$FILE"; done
-popd
+%postun -p /sbin/ldconfig
-%post profile_tv
-ln -sf isf-demo-efl.tv %{_bindir}/isf-demo-efl
-ln -sf isf-panel-efl.tv %{_bindir}/isf-panel-efl
-ln -sf scim.tv %{_bindir}/scim
-ln -sf isf-log.tv %{_bindir}/isf-log
-ln -sf scim-launcher.tv %{_libdir}/scim-1.0/scim-launcher
-ln -sf scim-helper-launcher.tv %{_libdir}/scim-1.0/scim-helper-launcher
-pushd %{_libdir}
-for FILE in libscim-*.so*.tv; do ln -sf "$FILE" "${FILE%.tv}"; done
-popd
-%preun profile_tv
-rm %{_bindir}/isf-demo-efl
-rm %{_bindir}/isf-panel-efl
-rm %{_bindir}/scim
-rm %{_bindir}/isf-log
-rm %{_libdir}/scim-1.0/scim-launcher
-rm %{_libdir}/scim-1.0/scim-helper-launcher
-pushd %{_libdir}
-for FILE in libscim-*.so*; do rm "$FILE"; done
-popd
%files -f isf.lang
%manifest %{name}.manifest
%{_sysconfdir}/scim/config
%{_datadir}/scim/isf_candidate_theme1.edj
%{_datadir}/scim/icons/*
+%if "%{profile}" == "tv"
+%attr(755,root,root) %{_datadir}/scim/remote-input/*
+%endif
+%{_bindir}/isf-demo-efl
+%{_bindir}/isf-panel-efl
+%{_bindir}/scim
+%{_bindir}/isf-log
%{_libdir}/ecore_imf/modules/*/*/*.so
%{_libdir}/scim-1.0/1.4.0/IMEngine/socket.so
%{_libdir}/scim-1.0/1.4.0/PanelAgent/*.so
%{_libdir}/scim-1.0/1.4.0/Config/simple.so
%{_libdir}/scim-1.0/1.4.0/Config/socket.so
%{_libdir}/scim-1.0/1.4.0/FrontEnd/*.so
-%license COPYING
-%{TZ_SYS_ETC}/dump.d/module.d/*
-/usr/share/upgrade/scripts/*
-
-%files profile_wearable
-# files in bindir and libdir may differ.
-%{_bindir}/isf-demo-efl.wearable
-%{_bindir}/isf-panel-efl.wearable
-%{_bindir}/scim.wearable
-%{_bindir}/isf-log.wearable
-%{_libdir}/scim-1.0/scim-launcher.wearable
-%{_libdir}/scim-1.0/scim-helper-launcher.wearable
-%{_libdir}/libscim-*.so*.wearable
-
-%files profile_common
-# files in bindir, lib/libscim*.so.*, lib/scim-1.0/scim-launcher are different
-%{_bindir}/isf-demo-efl
-%{_bindir}/isf-panel-efl
-%{_bindir}/scim
-%{_bindir}/isf-log
%{_libdir}/scim-1.0/scim-launcher
%{_libdir}/scim-1.0/scim-helper-launcher
-%exclude %{_libdir}/libscim-*.so*.tv
-%exclude %{_libdir}/libscim-*.so*.wearable
%{_libdir}/libscim-*.so*
-
-%files profile_tv
-# files in bindir, lib/libscim*.so.*, lib/scim-1.0/scim-launcher are different
-%{_bindir}/isf-demo-efl.tv
-%{_bindir}/isf-panel-efl.tv
-%{_bindir}/scim.tv
-%{_bindir}/isf-log.tv
-%{_libdir}/scim-1.0/scim-launcher.tv
-%{_libdir}/scim-1.0/scim-helper-launcher.tv
-%{_libdir}/libscim-*.so*.tv
-# TV Only: remote-input
-%attr(755,root,root) %{_datadir}/scim/remote-input/*
+%license COPYING
+%{TZ_SYS_ETC}/dump.d/module.d/*
+/usr/share/upgrade/scripts/*
%files devel
%defattr(-,root,root,-)