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