Blob Blame History Raw
%define _xinputconf %{_sysconfdir}/X11/xinit/xinput.d/xsunpinyin.conf
%define gitdate 20120513

Name:		sunpinyin
Version:	2.0.4
Release:	0.1%{?dist}
Summary:	A statistical language model based Chinese input method engine
Group:		System Environment/Libraries
License:	LGPLv2 or CDDL
URL:		http://code.google.com/p/sunpinyin/
Source0:	%{name}-%{gitdate}.tar.xz
Source1:	xinput-x%{name}
Source2:	http://open-gram.googlecode.com/files/lm_sc.t3g.arpa.tar.bz2
Source3:	http://open-gram.googlecode.com/files/dict.utf8.tar.bz2
#Patch0:         sunpinyin-fixes-unistd-compile.patch
BuildRequires:	sqlite-devel
BuildRequires:	gtk2-devel
BuildRequires:	ibus-devel
BuildRequires:	gettext	
BuildRequires:	scons
BuildRequires:	python-devel
%ifarch %{ix86} x86_64 armv5tel mips64el armv7hl
Requires:	%{name}-data-le
%else
Requires:	%{name}-data-be
%endif

%description
Sunpinyin is an input method engine for Simplified Chinese. It is an SLM based
IM engine, and features full sentence input.

SunPinyin has been ported to various input method platforms and operating 
systems. The 2.0 release currently supports iBus, XIM, and Mac OS X. 

%package devel
Summary:	Development files for %{name}
Group:		Development/Libraries
Requires:	%{name} = %{version}-%{release}

%description devel
The %{name}-devel package contains libraries and header files that allows user
to write their own front-end for sunpinyin.

%package data-le
Summary:	Little-endian data files for %{name}
Group:		System Environment/Libraries
License:	CC-BY-SA
Conflicts:	%{name}-data-be
BuildArch:	noarch

%description data-le
The %{name}-data package contains necessary lexicon data and its index data
files needed by the sunpinyin input methods on little endian architectures.

%package data-be
Summary:	Big-endian data files for %{name}
Group:		System Environment/Libraries
License:	CC-BY-SA
Conflicts:	%{name}-data-le
BuildArch:	noarch

%description data-be
The %{name}-data package contains necessary lexicon data and its index data
files needed by the sunpinyin input methods on big endian architectures.

%package -n ibus-%{name}
Summary:	Sunpinyin input method engine for ibus
Group:		System Environment/Libraries
Requires:	%{name} = %{version}-%{release}
Requires:	ibus

%description -n ibus-%{name}
This package provides SunPinyin input method for IBus framework.

%package -n x%{name}
Summary:	Standalone XIM server for Sunpinyin
Group:		System Environment/Libraries
Requires:	%{name} = %{version}-%{release}
Requires:	im-chooser
Requires(post):		%{_sbindir}/alternatives
Requires(postun):	%{_sbindir}/alternatives

%description -n x%{name}
This package provides a XIM server with SunPinyin input method. It works much 
the same way as fcitx does.

%prep
%setup -q -n %{name}-%{gitdate}
#%patch0 -p1 -b .unistd

# Hack to honor correct compiler flags
sed -i 's/-O2 -pipe/%{optflags}/' SConstruct
sed -i 's/-O2 -pipe/%{optflags}/' wrapper/{ibus,xim}/SConstruct

# Fix libexecdir path for ibus-sunpinyin
sed -i 's\lib/ibus-sunpinyin\libexec\' wrapper/ibus/SConstruct

cp %SOURCE2 %{_builddir}/%{name}-%{gitdate}/raw
cp %SOURCE3 %{_builddir}/%{name}-%{gitdate}/raw

%build
scons %{?_smp_mflags} --prefix=%{_prefix}

# We need to do this so wrappers can link against libsunpinyin 
sed -i 's\libdir=.*$\libdir=%{_builddir}/%{name}-%{gitdate}\' sunpinyin-*.pc
sed -i 's\includedir=.*$\includedir=%{_builddir}/%{name}-%{gitdate}/src\' sunpinyin-*.pc
cp -p sunpinyin-2.0.pc sunpinyin-2.0.pc.bak
ln -s libsunpinyin*.so libsunpinyin.so
export PKG_CONFIG_PATH=%{_builddir}/%{name}-%{gitdate}

pushd wrapper/ibus
scons %{?_smp_mflags} --prefix=%{_prefix}
popd

pushd wrapper/xim
scons %{?_smp_mflags} --prefix=%{_prefix}
popd

%install
scons %{?_smp_mflags} --prefix=%{_prefix} install --install-sandbox=%{buildroot}

%if %{_lib}==lib64
mkdir -p %{buildroot}%{_libdir}
mv %{buildroot}%{_prefix}/lib/*.so* %{buildroot}%{_libdir}
mv %{buildroot}%{_prefix}/lib/pkgconfig %{buildroot}%{_libdir}/pkgconfig
sed -i 's\{exec_prefix}/lib\{exec_prefix}/%{_lib}\' \
	%{buildroot}%{_libdir}/pkgconfig/sunpinyin-2.0.pc
%endif

# Put them back so the install doesn't fail
cp -p sunpinyin-2.0.pc.bak sunpinyin-2.0.pc
export PKG_CONFIG_PATH=%{_builddir}/%{name}-%{gitdate}

pushd wrapper/ibus
scons %{?_smp_mflags} --prefix=%{_prefix} install --install-sandbox=%{buildroot}
popd

pushd wrapper/xim
scons %{?_smp_mflags} --prefix=%{_prefix} install --install-sandbox=%{buildroot}
popd

# install xinput config file
install -pm 644 -D %{SOURCE1} %{buildroot}%{_xinputconf}
%find_lang ibus-%{name}

%clean
rm -rf %{buildroot}

%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig

%post -n x%{name}
%{_sbindir}/alternatives --install %{_sysconfdir}/X11/xinit/xinputrc xinputrc \
	%{_xinputconf} 50 || :

%postun -n x%{name}
if [ "$1" = "0" ]; then
  %{_sbindir}/alternatives --remove xinputrc %{_xinputconf} || :
  # if alternative was set to manual, reset to auto
  [ -L %{_sysconfdir}/alternatives/xinputrc -a \
	"`readlink %{_sysconfdir}/alternatives/xinputrc`" = \
	"%{_xinputconf}" ] && %{_sbindir}/alternatives --auto xinputrc || :
fi

%files
%defattr(-,root,root,-)
%doc AUTHORS COPYING *.LICENSE
%doc README TODO
%{_libdir}/libsunpinyin*.so.*

%files devel
%defattr(-,root,root,-)
%{_libdir}/libsunpinyin*.so
%{_libdir}/pkgconfig/sunpinyin*.pc
%{_includedir}/sunpinyin*

%ifarch %{ix86} x86_64 armv5tel mips64el
%files data-le
%defattr(-,root,root,-)
%{_prefix}/lib/%{name}
%else
%files data-be
%defattr(-,root,root,-)
%{_prefix}/lib/%{name}
%endif

%files -n ibus-%{name} -f ibus-%{name}.lang
%defattr(-,root,root,-)
%{_prefix}/lib/ibus-sunpinyin/ibus*
%{_datadir}/ibus/component/*
%{_datadir}/ibus-%{name}

%files -n x%{name}
%defattr(-,root,root,-)
%{_bindir}/x%{name}*
%{_datadir}/x%{name}
%config %{_xinputconf}

%changelog
* Sun May 13 2012 Liang Suilong <liangsuilong@gmail.com> - 2.0.4-0.1
- Upstream to the latest git snapshot
- Add BR: python-devel
- Upgrade to the latest SLM Data
- Drop the patch: sunpinyin-fixes-unistd-compile.patch

* Tue Mar 06 2012  Peng Wu <pwu@redhat.com> - 2.0.3-4
- Rebuilt for ibus-1.4.99

* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Tue Dec 06 2011 Adam Jackson <ajax@redhat.com> - 2.0.3-2
- Rebuild for new libpng

* Fri Feb 18 2011 Howard Ning <mrlhwliberty@gmail.com> - 2.0.3-1
- New upstream

* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Fri Nov 26 2010  Peng Wu <pwu@redhat.com> - 2.0.2-4
- Fixes build for ibus 1.4

* Thu Aug 19 2010 Chen Lei <supercyper@163.com> - 2.0.2-3
- Rebuild for Rawhide

* Thu Aug 19 2010 Chen Lei <supercyper@163.com> - 2.0.2-2
- Add seperate license field to data files

* Mon Aug 16 2010 Chen Lei <supercyper@163.com> - 2.0.2-1
- Initial Package