Hi everyone,

This is an ibus.spec(see attachment) file I tried to make. It is the
last release from upstream. I hope I can make it sooner just because
this bug: https://bugs.mageia.org/show_bug.cgi?id=8003

And also, the current ibus packager is little busy, due to this post:
https://forums.mageia.org/en/viewtopic.php?f=15&t=3814

This release can solve the
bug.(https://github.com/ibus/ibus/commit/ead48c8748521537beb0fbbe4af95c6b9a99a8af)
 

However, as you see, I modified the version and release number. It works
without any problem. But I don't know where I can get a revision number
in changelog.

Thank you for your teach.

Bo
Name:      ibus
Summary:   A next generation input framework
Version:   1.4.99.20121109
Release:   %mkrel 1
Group:     System/Internationalization
License:   GPLv2+
URL:       http://code.google.com/p/ibus/
Source0:   http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz
Source1:   ibus.macros
# Workaround to disable preedit on gnome-shell until bug 658420 is fixed.
# https://bugzilla.gnome.org/show_bug.cgi?id=658420
Patch92:    ibus-xx-g-s-disable-preedit.patch
# Workaround since f18 vala is old.
# (blino) rediffed from ibus-xx-f18-build.patch
Patch95:    ibus-xx-vala-0.17.patch
# Mageia/Mandriva patches
Patch100:    ibus-1.3.6-mdv-customize.patch
BuildRequires:	python-devel
BuildRequires:  gtk2-devel
BuildRequires:	gtk+3-devel
BuildRequires:  dbus-glib-devel
BuildRequires:	python-dbus >= 0.83.0
BuildRequires:	iso-codes
BuildRequires:  gettext-devel intltool gtk-doc
BuildRequires:	python-gobject-devel >= 2.15
BuildRequires:	gobject-introspection-devel
BuildRequires:	kde4-macros
BuildRequires:	dconf-devel
BuildRequires:	vala
BuildRequires:	vala-tools
BuildRequires:	GConf2 dconf
Requires:	%{name}-ui
Requires:	python-gobject >= 2.15
Requires:	python-dbus >= 0.83.0
Requires:	python-notify
Requires:	pyxdg
Requires:	iso-codes
Requires:	librsvg

%description
IBus is a next generation input framework.

%define api 1.0
%define major 5
%define libname %mklibname %name %api %major

%package -n %libname
Summary:    Shared libraries for %{name}
Group:      System/Internationalization

%description -n %libname
IBus shared libraries.

%define girname %mklibname ibus-gir %api

%package -n %girname
Summary:    GObject introspection interface library for ibus
Group:      System/Internationalization
Requires:   %{libname} = %{version}
Conflicts:  %{_lib}ibus2
Conflicts:  %{_lib}ibus1.0_0 < 1.4.0-2

%description -n %girname
GObject introspection interface library for ibus.

%package    devel
Summary:    Headers of %{name} for development
Group:      Development/C
Requires:   %{libname} = %{version}-%{release}

%description devel
IBus development package: static libraries, header files, and the like.

%package    ui-gtk3
Summary:    GTK+ 3.0 UI for IBus
Group:      System/Internationalization
Provides:   ibus-ui
Requires:   %{name} = %{version}
Suggests:   %{name}-gtk3 = %version
Conflicts:  ibus < 1.4.99.20121006-2

%description ui-gtk3
GTK+ 3.0 UI for IBus.

%package    gtk
Summary:    IBus gtk module
Group:      System/Internationalization
Requires:   ibus = %{version}
Requires(post): gtk+2.0
Requires(postun): gtk+2.0

%description gtk
IBus gtk module.

%post gtk
%{_bindir}/gtk-query-immodules-2.0 > %{_sysconfdir}/gtk-2.0/gtk.immodules.%_lib

%postun gtk
%{_bindir}/gtk-query-immodules-2.0 > %{_sysconfdir}/gtk-2.0/gtk.immodules.%_lib

%package    gtk3
Summary:    IBus gtk3 module
Group:      System/Internationalization
Requires:   ibus = %{version}
Requires(post): gtk+3.0
Requires(postun): gtk+3.0

%description gtk3
IBus gtk module.

%post gtk3
%{_bindir}/gtk-query-immodules-3.0-%{__isa_bits} --update-cache

%postun gtk3
%{_bindir}/gtk-query-immodules-3.0-%{__isa_bits} --update-cache

%prep
%setup -q -n %{name}-%{version}
%patch92 -p1 -b .g-s-preedit
%patch95 -p1 -b .f18
%patch100 -p0

%build
%configure2_5x \
	--enable-gtk3 \
	--enable-dconf \
	--disable-gconf \
	--enable-python-library \
	--disable-dbus-python-check
%make PKG_CONFIG_PATH=`pwd`:%{_libdir}/pkgconfig:%{_datadir}/pkgconfig

%install
rm -rf %buildroot
%makeinstall_std

# install .desktop files
echo "NoDisplay=true" >> %buildroot%{_datadir}/applications/ibus.desktop
echo "NoDisplay=true" >> %buildroot%{_datadir}/applications/ibus-setup.desktop

# install rpm macro
mkdir -p %buildroot%{_sysconfdir}/rpm/macros.d/

install -m0644 %{SOURCE1} %buildroot%{_sysconfdir}/rpm/macros.d/%name.macros

# install ui automatic selector wrapper
mv %buildroot%_bindir/%name-daemon %buildroot%_bindir/%name-daemon-real
cat >%buildroot%_bindir/%name-daemon <<EOF
#!/bin/bash
if [ "\$DESKTOP" = "KDE" -a -x %_kde_libdir/kde4/libexec/kimpanel-ibus-panel ]
then
    exec %{_bindir}/ibus-daemon-real --panel=%_kde_libdir/kde4/libexec/kimpanel-ibus-panel "\$@" 
else
    exec %{_bindir}/ibus-daemon-real "\$@"
fi
EOF
chmod 0755 %buildroot%_bindir/%name-daemon

find %buildroot -name '*.la' | xargs rm
rm -f %buildroot%{_sysconfdir}/xdg/autostart/ibus.desktop

%find_lang %{name}10

%files -f %{name}10.lang
%defattr(-,root,root)
%doc AUTHORS COPYING ChangeLog NEWS README
%{_sysconfdir}/bash_completion.d/ibus.bash
%{_sysconfdir}/dconf/db/ibus.d/00-upstream-settings
%{_sysconfdir}/dconf/profile/ibus
%{_bindir}/*
%{_libexecdir}/ibus-dconf
%{_libexecdir}/ibus-engine-simple
%{_libexecdir}/ibus-x11
%{_datadir}/applications/*.desktop
%{_datadir}/ibus/*
%{_datadir}/GConf/gsettings/ibus.convert
%{_datadir}/glib-2.0/schemas/org.freedesktop.ibus.gschema.xml
%{_iconsdir}/*/*/*/*
%{python_sitelib}/*
%exclude %{_datadir}/ibus/component/gtkpanel.xml

%files ui-gtk3
%{_libexecdir}/ibus-ui-gtk3
%{_datadir}/ibus/component/gtkpanel.xml

%files -n %{libname}
%defattr(-,root,root)
%{_libdir}/libibus-%{api}.so.%{major}
%{_libdir}/libibus-%{api}.so.%{major}.*

%files -n %{girname}
%defattr(-,root,root)
%{_libdir}/girepository-1.0/*.typelib

%files gtk
%defattr(-,root,root)
%{_libdir}/gtk-2.0/*/immodules/*.so

%files gtk3
%defattr(-,root,root)
%{_libdir}/gtk-3.0/*/immodules/*.so

%files devel
%defattr(-,root,root)
%{_includedir}/ibus-1.0
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc
%{_datadir}/gtk-doc/html/ibus
%{_datadir}/gir-1.0/*.gir
%{_datadir}/vala/vapi/*.vapi
%{_datadir}/vala/vapi/*.deps
%{_sysconfdir}/rpm/macros.d/%name.macros


%changelog

* Fri Nov 10 2012 lanbo <lanbo> 1.4.99.20121109-1.mga3
- new version 1.4.99.20121109

* Tue Oct 16 2012 fwang <fwang> 1.4.99.20121006-5.mga3
+ Revision: 306898
- disable macro for now to wait updates on gsettings syntax

* Mon Oct 15 2012 fwang <fwang> 1.4.99.20121006-4.mga3
+ Revision: 306008
- turn the macro into glib settings

* Mon Oct 15 2012 fwang <fwang> 1.4.99.20121006-3.mga3
+ Revision: 305987
- move suggest into gtk3 panel
- add requires on main pkg

* Mon Oct 15 2012 fwang <fwang> 1.4.99.20121006-2.mga3
+ Revision: 305982
- move out xml description too
- split out gtk3 ui

* Sun Oct 07 2012 fwang <fwang> 1.4.99.20121006-1.mga3
+ Revision: 303129
- new version 1.4.99.20121006

* Wed Sep 19 2012 fwang <fwang> 1.4.99.20120917-2.mga3
+ Revision: 296118
- python-gtk2 is not required

* Wed Sep 19 2012 fwang <fwang> 1.4.99.20120917-1.mga3
+ Revision: 296113
- add more br
- br GConf2 for  gsettings-schema-convert
- new version 1.4.99.20120917
- new version 1.4.99.20120914
- new version 1.4.99.20120822

  + blino <blino>
    - switch to dconf (over gconf2)
    - package ibus-engine-simple and bash completion
    - gtk ui is now named ibus-ui-gtk3
    - major is now 5
    - explicitely enable python lib
    - buildrequire vala + tools
    - 1.4.99.20120712 (1.5 pre)
    - sync some patches from Fedora (Takao Fujiwara)

* Sun Feb 26 2012 fwang <fwang> 1.4.1-1.mga2
+ Revision: 215103
- update pkgconfig path
- new version 1.4.1

* Mon Jan 16 2012 blino <blino> 1.4.0-5.mga2
+ Revision: 196663
- run daemon through exec in the wrapper, to avoid useless shell fork
- fix detecting desktop and passing arguments and ibus-daemon wrapper

* Wed Jan 11 2012 fwang <fwang> 1.4.0-4.mga2
+ Revision: 194963
- foce  to use panel wrapper

* Sat Oct 01 2011 fwang <fwang> 1.4.0-3.mga2
+ Revision: 150653
- fix version tag

* Sun Sep 25 2011 fwang <fwang> 1.4.0-2.mga2
+ Revision: 147665
- split out gir files

* Sat Sep 24 2011 fwang <fwang> 1.4.0-1.mga2
+ Revision: 147461
- update file list
- update lan list
- update file list
- new version 1.4.0

* Fri Jul 01 2011 fwang <fwang> 1.3.9-4.mga2
+ Revision: 117185
- add wrapper for ibus-ui-kde

  + dmorgan <dmorgan>
    - Simplify %%post and %%postun

* Wed Jun 15 2011 fwang <fwang> 1.3.9-3.mga2
+ Revision: 106393
- add gtk3 immodule
- add engine registration help macro

* Thu Mar 24 2011 boklm <boklm> 1.3.9-2.mga1
+ Revision: 76155
- rebuild for bug #497

* Sat Mar 12 2011 fwang <fwang> 1.3.9-1.mga1
+ Revision: 68593
- buildroot not required
- imported package ibus

Reply via email to