Add vala in rpm spec file
[platform/upstream/ibus.git] / ibus.spec.in
1 %{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
2 %{!?gtk2_binary_version: %define gtk2_binary_version %(pkg-config  --variable=gtk_binary_version gtk+-2.0)}
3 %{!?gtk3_binary_version: %define gtk3_binary_version %(pkg-config  --variable=gtk_binary_version gtk+-3.0)}
4
5 %define glib_ver %([ -a %{_libdir}/pkgconfig/glib-2.0.pc ] && pkg-config --modversion glib-2.0 | cut -d. -f 1,2 || echo -n "999")
6 %define gconf2_version 2.12.0
7 %define dbus_python_version 0.83.0
8 %define im_chooser_version 1.2.5
9
10 Name:       ibus
11 Version:    @PACKAGE_VERSION@
12 Release:    1%{?dist}
13 Summary:    Intelligent Input Bus for Linux OS
14 License:    LGPLv2+
15 Group:      System Environment/Libraries
16 URL:        http://code.google.com/p/ibus/
17 Source0:    http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz
18 Source1:    xinput-ibus
19 # Patch0:     ibus-HEAD.patch
20
21 BuildRoot:  %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
22
23
24 BuildRequires:  cvs
25 BuildRequires:  gettext-devel
26 BuildRequires:  libtool
27 BuildRequires:  python
28 BuildRequires:  gtk2-devel
29 BuildRequires:  gtk3-devel
30 BuildRequires:  dbus-glib-devel
31 BuildRequires:  dbus-python-devel >= %{dbus_python_version}
32 BuildRequires:  desktop-file-utils
33 BuildRequires:  gtk-doc
34 BuildRequires:  GConf2-devel
35 BuildRequires:  pygobject2-devel
36 BuildRequires:  intltool
37 BuildRequires:  iso-codes-devel
38
39 Requires:   %{name}-libs = %{version}-%{release}
40 Requires:   %{name}-gtk2 = %{version}-%{release}
41 Requires:   %{name}-gtk3 = %{version}-%{release}
42
43 Requires:   pygtk2
44 Requires:   pyxdg
45 Requires:   iso-codes
46 Requires:   dbus-python >= %{dbus_python_version}
47 Requires:   im-chooser >= %{im_chooser_version}
48 Requires:   GConf2 >= %{gconf2_version}
49 Requires:   notify-python
50 Requires:   librsvg2
51
52 Requires(post):  desktop-file-utils
53 Requires(postun):  desktop-file-utils
54
55 Requires(pre): GConf2 >= %{gconf2_version}
56 Requires(post): GConf2 >= %{gconf2_version}
57 Requires(preun): GConf2 >= %{gconf2_version}
58
59 Requires(post):  %{_sbindir}/alternatives
60 Requires(postun):  %{_sbindir}/alternatives
61
62 Obsoletes:  ibus-qt < 1.1.0
63
64 %define _xinputconf %{_sysconfdir}/X11/xinit/xinput.d/ibus.conf
65
66 %description
67 IBus means Intelligent Input Bus. It is an input framework for Linux OS.
68
69 %package libs
70 Summary:    IBus libraries
71 Group:      System Environment/Libraries
72
73 Requires:   glib2 >= %{glib_ver}
74 Requires:   dbus >= 1.2.4
75
76 %description libs
77 This package contains the libraries for IBus
78
79 %package gtk2
80 Summary:    IBus im module for gtk2
81 Group:      System Environment/Libraries
82 Requires:   %{name} = %{version}-%{release}
83 Requires(post): glib2 >= %{glib_ver}
84
85 %description gtk2
86 This package contains ibus im module for gtk2
87
88 %package gtk3
89 Summary:    IBus im module for gtk3
90 Group:      System Environment/Libraries
91 Requires:   %{name} = %{version}-%{release}
92 Requires(post): glib2 >= %{glib_ver}
93
94 %description gtk3
95 This package contains ibus im module for gtk3
96
97 %package devel
98 Summary:    Development tools for ibus
99 Group:      Development/Libraries
100 Requires:   %{name} = %{version}-%{release}
101 Requires:   glib2-devel
102 Requires:   dbus-devel
103
104 %description devel
105 The ibus-devel package contains the header files and developer
106 docs for ibus.
107
108 %package devel-docs
109 Summary:    Developer documents for ibus
110 Group:      Development/Libraries
111 Requires:   %{name} = %{version}-%{release}
112 Requires:   gtk-doc
113
114 %description devel-docs
115 The ibus-devel-docs package contains developer documentation for ibus
116
117
118 %prep
119 %setup -q
120 # %patch0 -p1
121
122 %build
123 %configure \
124     --disable-static \
125     --enable-gtk2 \
126     --enable-gtk3 \
127     --enable-xim \
128     --enable-gtk-doc
129 # make -C po update-gmo
130 make %{?_smp_mflags}
131
132 %install
133 rm -rf $RPM_BUILD_ROOT
134 make DESTDIR=$RPM_BUILD_ROOT install
135 rm -f $RPM_BUILD_ROOT%{_libdir}/libibus.la
136 rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/%{gtk2_binary_version}/immodules/im-ibus.la
137 rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-3.0/%{gtk3_binary_version}/immodules/im-ibus.la
138
139 # install xinput config file
140 install -pm 644 -D %{SOURCE1} $RPM_BUILD_ROOT%{_xinputconf}
141
142 # install .desktop files
143 echo "NoDisplay=true" >> $RPM_BUILD_ROOT%{_datadir}/applications/ibus.desktop
144 echo "NoDisplay=true" >> $RPM_BUILD_ROOT%{_datadir}/applications/ibus-setup.desktop
145 echo "X-GNOME-Autostart-enabled=false" >> $RPM_BUILD_ROOT%{_sysconfdir}/xdg/autostart/ibus.desktop
146 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/xdg/autostart/ibus.desktop
147 desktop-file-install --delete-original          \
148   --dir $RPM_BUILD_ROOT%{_datadir}/applications \
149   $RPM_BUILD_ROOT%{_datadir}/applications/*
150
151 %find_lang %{name}
152
153 %clean
154 rm -rf $RPM_BUILD_ROOT
155
156 %post
157 # recreate icon cache
158 touch --no-create %{_datadir}/icons/hicolor || :
159 [ -x %{_bindir}/gtk-update-icon-cache ] && \
160   %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
161
162 %{_sbindir}/alternatives --install %{_sysconfdir}/X11/xinit/xinputrc xinputrc %{_xinputconf} 83 || :
163
164 export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
165 gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/ibus.schemas >& /dev/null || :
166
167 %pre
168 if [ "$1" -gt 1 ]; then
169     export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
170     gconftool-2 --makefile-uninstall-rule %{_sysconfdir}/gconf/schemas/ibus.schemas >& /dev/null || :
171 fi
172
173 %preun
174 if [ "$1" -eq 0 ]; then
175     export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
176     gconftool-2 --makefile-uninstall-rule %{_sysconfdir}/gconf/schemas/ibus.schemas >& /dev/null || :
177 fi
178
179 %postun
180 # recreate icon cache
181 touch --no-create %{_datadir}/icons/hicolor || :
182 [ -x %{_bindir}/gtk-update-icon-cache ] && \
183   %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
184
185 if [ "$1" = "0" ]; then
186   %{_sbindir}/alternatives --remove xinputrc %{_xinputconf} || :
187   # if alternative was set to manual, reset to auto
188   [ -L %{_sysconfdir}/alternatives/xinputrc -a "`readlink %{_sysconfdir}/alternatives/xinputrc`" = "%{_xinputconf}" ] && %{_sbindir}/alternatives --auto xinputrc || :
189 fi
190
191 %post libs -p /sbin/ldconfig
192
193 %postun libs -p /sbin/ldconfig
194
195 %post gtk2
196 %{_bindir}/update-gtk-immodules %{_host}
197
198 %postun gtk2
199 %{_bindir}/update-gtk-immodules %{_host}
200
201 %post gtk3
202 %{_bindir}/gtk-query-immodules-3.0-%{__isa_bits} --update-cache
203
204 %postun gtk3
205 %{_bindir}/gtk-query-immodules-3.0-%{__isa_bits} --update-cache
206
207 %files -f %{name}.lang
208 %defattr(-,root,root,-)
209 %doc AUTHORS COPYING README
210 %dir %{python_sitelib}/ibus
211 %{python_sitelib}/ibus/*
212 %dir %{_datadir}/ibus/
213 %{_bindir}/ibus-daemon
214 %{_bindir}/ibus-setup
215 %{_datadir}/ibus/*
216 %{_datadir}/applications/*
217 %{_datadir}/icons/hicolor/*/apps/*
218 %{_libexecdir}/ibus-gconf
219 %{_libexecdir}/ibus-ui-gtk
220 %{_libexecdir}/ibus-x11
221 # %{_sysconfdir}/xdg/autostart/ibus.desktop
222 %{_sysconfdir}/gconf/schemas/ibus.schemas
223 %config %{_xinputconf}
224
225 %files libs
226 %defattr(-,root,root,-)
227 %{_libdir}/libibus.so.*
228 %{_libdir}/girepository-1.0/IBus-1.0.typelib
229
230 %files gtk2
231 %defattr(-,root,root,-)
232 %{_libdir}/gtk-2.0/%{gtk2_binary_version}/immodules/im-ibus.so
233
234 %files gtk3
235 %defattr(-,root,root,-)
236 %{_libdir}/gtk-3.0/%{gtk3_binary_version}/immodules/im-ibus.so
237
238 %files devel
239 %defattr(-,root,root,-)
240 %{_libdir}/lib*.so
241 %{_libdir}/pkgconfig/*
242 %{_includedir}/*
243 %{_datadir}/gir-1.0/IBus-1.0.gir
244 %{_datadir}/vala/vapi/ibus-1.0.vapi
245
246 %files devel-docs
247 %defattr(-,root,root,-)
248 %{_datadir}/gtk-doc/html/*
249
250 %changelog
251 * @DATE_DISPLAY@ Peng Huang <shawn.p.huang@gmail.com> - @VERSION@-1
252 - Current version.