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