Change summary for for ibus-devel.rpm
[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 %{!?gtk_binary_version: %define gtk_binary_version %(pkg-config  --variable=gtk_binary_version gtk+-2.0)}
3 %define mod_path ibus-@PACKAGE_VERSION_MAJOR@.@PACKAGE_VERSION_MINOR@
4 %define host_vendor %(if [[ "%{_host_vendor}" == "unknown" ]]; then echo redhat; else echo %{_host_vendor}; fi)
5 %define host %{_host_cpu}-%{host_vendor}-%{_host_os}-gnu
6 %define glib_ver %([ -a %{_libdir}/pkgconfig/glib-2.0.pc ] && pkg-config --modversion glib-2.0 | cut -d. -f 1,2 || echo -n "999")
7 %define gconf2_version 2.12.0
8 %define dbus_python_version 0.83.0
9 %define im_chooser_version 1.2.5
10
11 Name:       ibus
12 Version:    @PACKAGE_VERSION@
13 Release:    1%{?dist}
14 Summary:    Intelligent Input Bus for Linux OS
15 License:    LGPLv2+
16 Group:      System Environment/Libraries
17 URL:        http://code.google.com/p/ibus/
18 Source0:    http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz
19 Source1:    xinput-ibus
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:  dbus-glib-devel
30 BuildRequires:  dbus-python-devel >= %{dbus_python_version}
31 BuildRequires:  desktop-file-utils
32 BuildRequires:  gtk-doc
33 BuildRequires:  GConf2-devel
34 BuildRequires:  pygobject2-devel
35 BuildRequires:  intltool
36 # BuildRequires:  qt-devel
37
38 Requires:   %{name}-libs = %{version}-%{release}
39 Requires:   %{name}-gtk = %{version}-%{release}
40
41 Requires:   pygtk2
42 Requires:   pyxdg
43 Requires:   iso-codes
44 Requires:   dbus-python >= %{dbus_python_version}
45 Requires:   im-chooser >= %{im_chooser_version}
46 Requires:   GConf2 >= %{gconf2_version}
47
48 Requires(post):  desktop-file-utils
49 Requires(postun):  desktop-file-utils
50
51 Requires(pre): GConf2 >= %{gconf2_version}
52 Requires(post): GConf2 >= %{gconf2_version}
53 Requires(preun): GConf2 >= %{gconf2_version}
54
55 Requires(post):  %{_sbindir}/alternatives
56 Requires(postun):  %{_sbindir}/alternatives
57
58 Obsoletes:  ibus-qt < 1.1.0
59
60 %define _xinputconf %{_sysconfdir}/X11/xinit/xinput.d/ibus.conf
61
62 %description
63 IBus means Intelligent Input Bus. It is a new input framework for Linux OS. It provides
64 full featured and user friendly input method user interface. It also may help
65 developers to develop input method easily.
66
67 %package libs
68 Summary:    IBus libraries
69 Group:      System Environment/Libraries
70
71 Requires:   glib2 >= %{glib_ver}
72 Requires:   dbus >= 1.2.4
73
74 %description libs
75 This package contains the libraries for IBus
76
77 %package gtk
78 Summary:    IBus im module for gtk2
79 Group:      System Environment/Libraries
80 Requires:   %{name} = %{version}-%{release}
81 Requires(post): glib2 >= %{glib_ver}
82
83 %description gtk
84 This package contains ibus im module for gtk2
85
86 # %package qt
87 # Summary:    IBus im module for qt4
88 # Group:      System Environment/Libraries
89 # Requires:   %{name} = %{version}-%{release}
90 # Requires:   qt >= 4.4.2
91 #
92 # %description qt
93 # This package contains ibus im module for qt4
94
95 %package devel
96 Summary:    Development tools for ibus
97 Group:      Development/Libraries
98 Requires:   %{name} = %{version}-%{release}
99 Requires:   glib2-devel
100 Requires:   dbus-devel
101
102 %description devel
103 The ibus-devel package contains the header files for ibus.
104
105 %package devel-docs
106 Summary:    Developer documents for ibus
107 Group:      Development/Libraries
108 Requires:   %{name} = %{version}-%{release}
109 Requires:   gtk-doc
110
111 %description devel-docs
112 The ibus-devel-docs package contains developer documentation for ibus
113
114
115 %prep
116 %setup -q
117 # %patch0 -p1
118 # ./autogen.sh --help
119
120 %build
121 %configure --disable-static \
122                    --disable-iso-codes-check \
123                    --enable-gtk-doc \
124                    --disable-qt4-immodule
125 # make -C po update-gmo
126 make %{?_smp_mflags}
127
128 %install
129 rm -rf $RPM_BUILD_ROOT
130 make DESTDIR=${RPM_BUILD_ROOT} install
131 rm -f $RPM_BUILD_ROOT%{_libdir}/libibus.la
132 rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules/im-ibus.la
133
134 # install xinput config file
135 mkdir -pm 755 ${RPM_BUILD_ROOT}/%{_sysconfdir}/X11/xinit/xinput.d
136 install -pm 644 %{SOURCE1} ${RPM_BUILD_ROOT}/%{_xinputconf}
137
138 # install .desktop files
139 echo "NoDisplay=true" >> $RPM_BUILD_ROOT%{_datadir}/applications/ibus.desktop
140 echo "NoDisplay=true" >> $RPM_BUILD_ROOT%{_datadir}/applications/ibus-setup.desktop
141 echo "X-GNOME-Autostart-enabled=false" >> $RPM_BUILD_ROOT%{_sysconfdir}/xdg/autostart/ibus.desktop
142 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/xdg/autostart/ibus.desktop
143 desktop-file-install --delete-original          \
144   --dir $RPM_BUILD_ROOT%{_datadir}/applications \
145   $RPM_BUILD_ROOT%{_datadir}/applications/*
146
147 %find_lang %{name}
148
149 %clean
150 rm -rf $RPM_BUILD_ROOT
151
152 %post
153 update-desktop-database -q
154 %{_sbindir}/alternatives --install %{_sysconfdir}/X11/xinit/xinputrc xinputrc %{_xinputconf} 83 || :
155
156 export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
157 gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/ibus.schemas >& /dev/null || :
158
159 %pre
160 if [ "$1" -gt 1 ]; then
161         export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
162         gconftool-2 --makefile-uninstall-rule %{_sysconfdir}/gconf/schemas/ibus.schemas >& /dev/null || :
163 fi
164
165 %preun
166 if [ "$1" -eq 0 ]; then
167         export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
168         gconftool-2 --makefile-uninstall-rule %{_sysconfdir}/gconf/schemas/ibus.schemas >& /dev/null || :
169 fi
170
171 %postun
172 update-desktop-database -q
173 if [ "$1" = "0" ]; then
174   %{_sbindir}/alternatives --remove xinputrc %{_xinputconf} || :
175   # if alternative was set to manual, reset to auto
176   [ -L %{_sysconfdir}/alternatives/xinputrc -a "`readlink %{_sysconfdir}/alternatives/xinputrc`" = "%{_xinputconf}" ] && %{_sbindir}/alternatives --auto xinputrc || :
177 fi
178
179 %post libs
180 /sbin/ldconfig
181
182 %postun libs
183 /sbin/ldconfig
184
185 %post gtk
186 %{_bindir}/update-gtk-immodules %{host} || :
187
188 %postun gtk
189 %{_bindir}/update-gtk-immodules %{host} || :
190
191 %files -f %{name}.lang
192 %defattr(-,root,root,-)
193 %doc AUTHORS COPYING README
194 %dir %{python_sitelib}/ibus
195 %{python_sitelib}/ibus/*
196 %dir %{_datadir}/ibus/
197 %{_bindir}/ibus-daemon
198 %{_bindir}/ibus-setup
199 %{_datadir}/ibus/*
200 %{_datadir}/applications/*
201 %{_datadir}/pixmaps/*
202 %{_libexecdir}/ibus-gconf
203 %{_libexecdir}/ibus-ui-gtk
204 %{_libexecdir}/ibus-x11
205 # %{_sysconfdir}/xdg/autostart/ibus.desktop
206 %{_sysconfdir}/gconf/schemas/ibus.schemas
207 %config %{_xinputconf}
208
209 %files libs
210 %defattr(-,root,root,-)
211 %{_libdir}/libibus.so.*
212
213 %files gtk
214 %defattr(-,root,root,-)
215 %{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules/im-ibus.so
216
217 # %files qt
218 # %defattr(-,root,root,-)
219 # %{_libdir}/qt4/plugins/inputmethods/libibus.so
220
221 %files devel
222 %defattr(-,root,root,-)
223 %{_libdir}/lib*.so
224 %{_includedir}/*
225 %{_libdir}/pkgconfig/*
226
227 %files devel-docs
228 %{_datadir}/gtk-doc/html/*
229
230 %changelog
231 * @DATE_DISPLAY@ Peng Huang <shawn.p.huang@gmail.com> - @VERSION@-1
232 - Current version.