Update package version to 3.0.181
[platform/core/uifw/isf.git] / packaging / isf.spec
1 %bcond_with wayland
2 Name:       isf
3 Summary:    Input Service Framework
4 Version:    3.0.181
5 Release:    1
6 Group:      Graphics & UI Framework/Input
7 License:    LGPL-2.1+
8 Source0:    %{name}-%{version}.tar.gz
9 BuildRequires:  edje-bin
10 BuildRequires:  gettext-tools
11 BuildRequires:  pkgconfig(appcore-efl)
12 BuildRequires:  pkgconfig(elementary)
13 BuildRequires:  pkgconfig(vconf)
14 %if %{with wayland}
15 BuildRequires:  pkgconfig(ecore-wayland)
16 BuildRequires:  pkgconfig(xkbcommon) >= 0.3.0
17 BuildRequires:  pkgconfig(text-client)
18 BuildRequires:  pkgconfig(input-method-client)
19 %else
20 BuildRequires:  pkgconfig(ecore-x)
21 BuildRequires:  pkgconfig(x11)
22 BuildRequires:  pkgconfig(tts)
23 %endif
24 BuildRequires:  pkgconfig(eina)
25 BuildRequires:  pkgconfig(ecore)
26 BuildRequires:  pkgconfig(evas)
27 BuildRequires:  pkgconfig(edje)
28 BuildRequires:  pkgconfig(dlog)
29 BuildRequires:  pkgconfig(edbus)
30 BuildRequires:  pkgconfig(glib-2.0)
31 BuildRequires:  pkgconfig(capi-network-bluetooth)
32 BuildRequires:  pkgconfig(feedback)
33 BuildRequires:  efl-extension-devel
34 BuildRequires:  pkgconfig(libtzplatform-config)
35 BuildRequires:  pkgconfig(pkgmgr-info)
36 BuildRequires:  pkgconfig(db-util)
37 BuildRequires:  pkgconfig(aul)
38 BuildRequires:  pkgconfig(capi-appfw-app-control)
39 BuildRequires:  pkgconfig(capi-appfw-application)
40 BuildRequires:  pkgconfig(cynara-client)
41 BuildRequires:  pkgconfig(cynara-creds-socket)
42 BuildRequires:  pkgconfig(cynara-session)
43 BuildRequires:  capi-appfw-package-manager-devel
44 Requires(postun): /sbin/ldconfig
45 %if "%{?profile}" == "mobile" || "%{?profile}" == "common"
46 BuildRequires:  pkgconfig(notification)
47 Requires: org.tizen.isf-kbd-mode-changer
48 %endif
49 %if "%{?profile}" == "tv"
50 BuildRequires:  pkgconfig(libwebsockets)
51 %endif
52
53 %define APP_PREFIX %{TZ_SYS_RO_APP}/org.tizen.isf-kbd-mode-changer/bin/
54
55 %description
56 Input Service Framewok (ISF) is an input method (IM) platform, and it has been derived from SCIM.
57
58
59 %package devel
60 Summary:    ISF header files
61 Requires:   %{name} = %{version}-%{release}
62
63 %description devel
64 This package contains ISF header files for ISE development.
65
66 %package -n org.tizen.isf-kbd-mode-changer
67 Summary: Keyboard mode changer
68 Group: Graphics & UI Framework/Input
69 Requires: %{name} = %{version}-%{release}
70
71 %description -n org.tizen.isf-kbd-mode-changer
72 Keyboard mode changer application
73
74 %prep
75 %setup -q
76
77 %build
78 export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
79 export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
80 export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
81
82 %if "%{profile}" == "wearable"
83 CFLAGS+=" -D_WEARABLE";
84 CXXFLAGS+=" -D_WEARABLE";
85 %endif
86
87 %if "%{profile}" == "mobile" || "%{profile}" == "common"
88 CFLAGS+=" -D_MOBILE";
89 CXXFLAGS+=" -D_MOBILE";
90 %endif
91
92 %if "%{profile}" == "tv"
93 CFLAGS+=" -D_TV -DENABLE_REMOTE_INPUT=1";
94 CXXFLAGS+=" -D_TV -DENABLE_REMOTE_INPUT=1";
95 %endif
96
97 %if %{with wayland}
98 CFLAGS+=" -DWAYLAND"
99 CXXFLAGS+=" -DWAYLAND"
100 %endif
101
102 export GC_SECTIONS_FLAGS="-fdata-sections -ffunction-sections -Wl,--gc-sections"
103
104 CFLAGS+=" -fvisibility=hidden ${GC_SECTIONS_FLAGS} "; export CFLAGS
105
106 CXXFLAGS+=" -fvisibility=hidden -fvisibility-inlines-hidden ${GC_SECTIONS_FLAGS} ";export CXXFLAGS
107
108 %autogen
109 %configure --disable-static \
110                 --disable-tray-icon \
111                 --disable-filter-sctc \
112 %if %{with wayland}
113         --disable-efl-immodule \
114 %endif
115                 --disable-frontend-x11 \
116                 --disable-multiwindow-support \
117                 --disable-ime-embed-app \
118                 --with-ro-app-dir=%{TZ_SYS_RO_APP} \
119                 --with-ro-packages-dir=%{TZ_SYS_RO_PACKAGES}
120 make %{?_smp_mflags}
121
122 %install
123 rm -rf %{buildroot}
124
125 %make_install
126 mkdir -p %{buildroot}/%{TZ_SYS_ETC}/dump.d/module.d
127 cp -af ism/dump/isf_log_dump.sh %{buildroot}/%{TZ_SYS_ETC}/dump.d/module.d
128 mkdir -p %{buildroot}/etc/scim/conf
129 mkdir -p %{buildroot}/usr/share/upgrade/scripts/
130 cp 500.isf_upgrade_24to30.sh %{buildroot}/usr/share/upgrade/scripts/
131
132 %find_lang scim
133
134 cat scim.lang > isf.lang
135 %post
136 ln -sf %{_libdir}/ecore_imf/modules/wayland/v-1.16/module.so %{_libdir}/ecore_imf/modules/wayland/v-1.16/libwltextinputmodule.so
137 /sbin/ldconfig
138
139
140 %postun -p /sbin/ldconfig
141
142
143 %files -f isf.lang
144 %manifest %{name}.manifest
145 %defattr(-,root,root,-)
146 %dir /etc/scim/conf
147 %attr(755,root,root) %{_sysconfdir}/profile.d/isf.sh
148 %{_sysconfdir}/scim/global
149 %{_sysconfdir}/scim/config
150 %{_datadir}/scim/isf_candidate_theme1.edj
151 %{_datadir}/scim/icons/*
152 %if "%{profile}" == "tv"
153 %attr(755,root,root) %{_datadir}/scim/remote-input/*
154 %endif
155 %{_bindir}/isf-demo-efl
156 %{_bindir}/isf-panel-efl
157 %{_bindir}/isf-log
158 %{_libdir}/ecore_imf/modules/*/*/*.so
159 %{_libdir}/scim-1.0/1.4.0/IMEngine/socket.so
160 %{_libdir}/scim-1.0/1.4.0/PanelAgent/*.so
161 %{_libdir}/scim-1.0/1.4.0/Config/simple.so
162 %{_libdir}/scim-1.0/1.4.0/Config/socket.so
163 %{_libdir}/scim-1.0/1.4.0/FrontEnd/*.so
164 %{_libdir}/scim-1.0/scim-launcher
165 %{_libdir}/scim-1.0/scim-helper-launcher
166 %{_libdir}/libscim-*.so*
167 %{TZ_SYS_RO_ETC}/package-manager/parserlib/category/libimeparser.so
168 %license COPYING
169 %{TZ_SYS_ETC}/dump.d/module.d/*
170 /usr/share/upgrade/scripts/*
171
172 %files devel
173 %defattr(-,root,root,-)
174 %{_includedir}/scim-1.0/*
175 %{_libdir}/libscim-*.so
176 %{_libdir}/pkgconfig/isf.pc
177 %{_libdir}/pkgconfig/scim.pc
178
179 %post -n org.tizen.isf-kbd-mode-changer
180 mkdir -p %{TZ_SYS_RO_APP}/org.tizen.isf-kbd-mode-changer
181
182 %files -n org.tizen.isf-kbd-mode-changer
183 %manifest org.tizen.isf-kbd-mode-changer.manifest
184 %{TZ_SYS_RO_PACKAGES}/org.tizen.isf-kbd-mode-changer.xml
185 %{APP_PREFIX}/*