Update package version to 3.0.51
[platform/core/uifw/isf.git] / packaging / isf.spec
1 %bcond_with wayland
2 Name:       isf
3 Summary:    Input Service Framework
4 Version:    3.0.51
5 Release:    1
6 Group:      Graphics & UI Framework/Input
7 License:    LGPL-2.1+
8 Source0:    %{name}-%{version}.tar.gz
9 Source1001: isf.manifest
10 BuildRequires:  edje-bin
11 BuildRequires:  gettext-tools
12 BuildRequires:  pkgconfig(appcore-efl)
13 BuildRequires:  pkgconfig(libprivilege-control)
14 BuildRequires:  pkgconfig(elementary)
15 BuildRequires:  pkgconfig(vconf)
16 %if %{with wayland}
17 BuildRequires:  pkgconfig(ecore-wayland)
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(ecore)
27 BuildRequires:  pkgconfig(evas)
28 BuildRequires:  pkgconfig(edje)
29 %if "%{?profile}" != "tv"
30 BuildRequires:  pkgconfig(notification)
31 %endif
32 BuildRequires:  pkgconfig(dlog)
33 BuildRequires:  pkgconfig(edbus)
34 BuildRequires:  pkgconfig(capi-network-bluetooth)
35 BuildRequires:  pkgconfig(feedback)
36 BuildRequires:  efl-extension-devel
37 BuildRequires:  pkgconfig(libtzplatform-config)
38 BuildRequires:  pkgconfig(pkgmgr-info)
39 BuildRequires:  pkgconfig(db-util)
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:  capi-appfw-package-manager-devel
46 Requires(post): /sbin/ldconfig /usr/bin/vconftool
47 Requires(postun): /sbin/ldconfig
48 %if %{without wayland}
49 Requires: org.tizen.isf-kbd-mode-changer
50 %endif
51
52 %define _optexecdir /opt/usr/devel/usr/bin/
53 %define APP_PREFIX %{_prefix}/apps/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 %if %{without wayland}
67 %package -n org.tizen.isf-kbd-mode-changer
68 Summary: isf-kbd-mode-changer
69 Group: Application
70 Requires: %{name} = %{version}-%{release}
71
72 %description -n org.tizen.isf-kbd-mode-changer
73 isf-kbd-mode-changer
74 %endif
75
76 %prep
77 %setup -q
78 cp %{SOURCE1001} .
79
80 %build
81 export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
82 export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
83 export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
84
85 %if "%{profile}" == "wearable"
86 CFLAGS+=" -D_WEARABLE";
87 CXXFLAGS+=" -D_WEARABLE";
88 %endif
89
90 %if "%{profile}" == "mobile"
91 CFLAGS+=" -D_MOBILE";
92 CXXFLAGS+=" -D_MOBILE";
93 %endif
94
95 %if "%{profile}" == "tv"
96 CFLAGS+=" -D_TV";
97 CXXFLAGS+=" -D_TV";
98 %endif
99
100 %if %{with wayland}
101 CFLAGS+=" -DWAYLAND"
102 CXXFLAGS+=" -DWAYLAND"
103 %endif
104
105 export GC_SECTIONS_FLAGS="-fdata-sections -ffunction-sections -Wl,--gc-sections"
106
107 CFLAGS+=" -fvisibility=hidden ${GC_SECTIONS_FLAGS} "; export CFLAGS
108
109 CXXFLAGS+=" -fvisibility=hidden -fvisibility-inlines-hidden ${GC_SECTIONS_FLAGS} ";export CXXFLAGS
110
111 %autogen
112 %configure --disable-static \
113                 --disable-tray-icon \
114                 --disable-filter-sctc \
115 %if %{with wayland}
116         --disable-efl-immodule \
117 %else
118         --disable-wsc-efl \
119 %endif
120                 --disable-frontend-x11 \
121                 --disable-multiwindow-support \
122                 --disable-ime-embed-app
123 make %{?_smp_mflags}
124
125 %install
126 rm -rf %{buildroot}
127
128 %make_install
129 mkdir -p %{buildroot}/opt/etc/dump.d/module.d
130 cp -af ism/dump/isf_log_dump.sh %{buildroot}/opt/etc/dump.d/module.d
131 mkdir -p %{buildroot}/etc/scim/conf
132 mkdir -p %{buildroot}/opt/apps/scim/lib/scim-1.0/1.4.0/Helper
133 mkdir -p %{buildroot}/opt/apps/scim/lib/scim-1.0/1.4.0/SetupUI
134 mkdir -p %{buildroot}/opt/apps/scim/lib/scim-1.0/1.4.0/IMEngine
135
136 %find_lang scim
137
138 cat scim.lang > isf.lang
139 %post
140 %if "%{?tizen_profile_name}" == "mobile"
141 mkdir -p %{_sysconfdir}/systemd/default-extra-dependencies/ignore-units.d/
142 ln -sf %{_prefix}/lib/systemd/user/scim.service %{_sysconfdir}/systemd/default-extra-dependencies/ignore-units.d/
143 %endif
144 ln -sf %{_libdir}/ecore_imf/modules/wayland/v-1.16/module.so %{_libdir}/ecore_imf/modules/wayland/v-1.16/libwltextinputmodule.so
145 /sbin/ldconfig
146
147
148 %postun -p /sbin/ldconfig
149
150
151 %files -f isf.lang
152 %manifest %{name}.manifest
153 %defattr(-,root,root,-)
154 %dir /opt/apps/scim/lib/scim-1.0/1.4.0/Helper
155 %dir /opt/apps/scim/lib/scim-1.0/1.4.0/SetupUI
156 %dir /opt/apps/scim/lib/scim-1.0/1.4.0/IMEngine
157 %dir /etc/scim/conf
158 %{_prefix}/lib/systemd/user/default.target.wants/scim.path
159 %{_prefix}/lib/systemd/user/scim.service
160 %{_prefix}/lib/systemd/user/scim.path
161 %attr(755,root,root) %{_sysconfdir}/profile.d/isf.sh
162 %{_sysconfdir}/scim/global
163 %{_sysconfdir}/scim/config
164 %{_datadir}/scim/isf_candidate_theme1.edj
165 %{_datadir}/scim/icons/*
166 %{_optexecdir}/isf-demo-efl
167 %{_bindir}/isf-panel-efl
168 %if %{with wayland}
169 %{_bindir}/isf-wsc-efl
170 %else
171 %{_libdir}/ecore_imf/modules/*/*/*.so
172 %endif
173 %{_bindir}/scim
174 %{_bindir}/isf-log
175 %{_libdir}/scim-1.0/1.4.0/IMEngine/socket.so
176 %{_libdir}/scim-1.0/1.4.0/Config/simple.so
177 %{_libdir}/scim-1.0/1.4.0/Config/socket.so
178 %{_libdir}/scim-1.0/1.4.0/FrontEnd/*.so
179 %{_libdir}/scim-1.0/scim-launcher
180 %{_libdir}/scim-1.0/scim-helper-launcher
181 %{_libdir}/libscim-*.so*
182 %license COPYING
183 /opt/etc/dump.d/module.d/*
184
185 %files devel
186 %defattr(-,root,root,-)
187 %{_includedir}/scim-1.0/*
188 %{_libdir}/libscim-*.so
189 %{_libdir}/pkgconfig/isf.pc
190 %{_libdir}/pkgconfig/scim.pc
191
192 %if %{without wayland}
193 %post -n org.tizen.isf-kbd-mode-changer
194 mkdir -p /usr/apps/org.tizen.isf-kbd-mode-changer
195
196 %files -n org.tizen.isf-kbd-mode-changer
197 %manifest org.tizen.isf-kbd-mode-changer.manifest
198 /usr/share/packages/org.tizen.isf-kbd-mode-changer.xml
199 %{APP_PREFIX}/*
200 %endif