Handle the exceptional case that /opt is not yet mounted
[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.1
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-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(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(feedback)
36 BuildRequires:  pkgconfig(efl-extension)
37 BuildRequires:  pkgconfig(libtzplatform-config)
38 BuildRequires:  pkgconfig(pkgmgr-info)
39 BuildRequires:  pkgconfig(db-util)
40 BuildRequires:  pkgconfig(aul)
41 BuildRequires:  pkgconfig(capi-appfw-app-control)
42 BuildRequires:  pkgconfig(capi-appfw-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 Requires(postun): /sbin/ldconfig
51 Requires:       org.tizen.isf-kbd-mode-changer
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 %if %{with wayland}
82 export CFLAGS="$CFLAGS -DWAYLAND"
83 export CXXFLAGS="$CXXFLAGS -DWAYLAND"
84 %endif
85
86 export GC_SECTIONS_FLAGS="-fdata-sections -ffunction-sections -Wl,--gc-sections"
87 export CFLAGS="$CFLAGS -fvisibility=hidden ${GC_SECTIONS_FLAGS} -Werror"
88 export CXXFLAGS="$CXXFLAGS -fvisibility=hidden -fvisibility-inlines-hidden ${GC_SECTIONS_FLAGS} -Werror"
89 export CFLAGS_BASIS="$CFLAGS"
90 export CXXFLAGS_BASIS="$CXXFLAGS"
91
92 %autogen
93 %configure --disable-static \
94                 --disable-tray-icon \
95                 --disable-filter-sctc \
96 %if %{with wayland}
97         --disable-efl-immodule \
98 %endif
99                 --disable-frontend-x11 \
100                 --disable-multiwindow-support \
101                 --disable-ime-embed-app \
102                 --with-ro-app-dir=%{TZ_SYS_RO_APP} \
103                 --with-ro-packages-dir=%{TZ_SYS_RO_PACKAGES} \
104                 --enable-remote-input
105 make %{?_smp_mflags}
106
107 %install
108 rm -rf %{buildroot}
109
110 %make_install
111 mkdir -p %{buildroot}%{_tmpfilesdir}
112 install -m 0644 %SOURCE100 %{buildroot}%{_tmpfilesdir}/%{name}.conf
113
114 mkdir -p %{buildroot}/%{TZ_SYS_ETC}/dump.d/module.d
115 cp -af ism/dump/isf_log_dump.sh %{buildroot}/%{TZ_SYS_ETC}/dump.d/module.d
116 mkdir -p %{buildroot}/etc/scim/conf
117 mkdir -p %{buildroot}/usr/share/upgrade/scripts/
118
119 %find_lang scim
120
121 cat scim.lang > isf.lang
122 %post
123 ln -sf "module.so" %{_libdir}/ecore_imf/modules/wayland/v-1.16/libwltextinputmodule.so
124 /sbin/ldconfig
125
126
127 %postun -p /sbin/ldconfig
128
129
130 %files -f isf.lang
131 %manifest %{name}.manifest
132 %defattr(-,root,root,-)
133 %dir /etc/scim/conf
134 %attr(755,root,root) %{_sysconfdir}/profile.d/isf.sh
135 %{_sysconfdir}/scim/global
136 %{_sysconfdir}/scim/config
137 %{_datadir}/scim/icons/*
138 %{_bindir}/isf-demo-efl
139 %{_bindir}/isf-panel-efl
140 %{_libdir}/ecore_imf/modules/*/*/*.so
141 %{_libdir}/scim-1.0/1.4.0/IMEngine/socket.so
142 %{_libdir}/scim-1.0/1.4.0/PanelAgent/*.so
143 %{_libdir}/scim-1.0/1.4.0/Config/simple.so
144 %{_libdir}/scim-1.0/1.4.0/Config/socket.so
145 %{_libdir}/scim-1.0/1.4.0/FrontEnd/*.so
146 %{_libdir}/scim-1.0/scim-helper-launcher
147 %{_libdir}/libscim-*.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 %{_libdir}/pkgconfig/isf.pc
158 %{_libdir}/pkgconfig/scim.pc
159
160 %post -n org.tizen.isf-kbd-mode-changer
161 mkdir -p %{TZ_SYS_RO_APP}/org.tizen.isf-kbd-mode-changer
162
163 %files -n org.tizen.isf-kbd-mode-changer
164 %manifest org.tizen.isf-kbd-mode-changer.manifest
165 %license COPYING
166 %{TZ_SYS_RO_PACKAGES}/org.tizen.isf-kbd-mode-changer.xml
167 %{APP_PREFIX}/*