%define _xinputconf %{_sysconfdir}/X11/xinit/xinput.d/xsunpinyin.conf %define gitdate 20120726 Name: sunpinyin Version: 2.0.4 Release: 0.4%{?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.3.0 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 * Thu Jul 26 2012 Liang Suilong - 2.0.4-0.4 - Upstream to the latest git snapshot * Sat Jul 21 2012 Fedora Release Engineering - 2.0.4-0.3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Sun Jun 03 2012 Liang Suilong - 2.0.4-0.2 - Upstream to the latest git snapshot * Sun May 13 2012 Liang Suilong - 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 - 2.0.3-4 - Rebuilt for ibus-1.4.99 * Sat Jan 14 2012 Fedora Release Engineering - 2.0.3-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Tue Dec 06 2011 Adam Jackson - 2.0.3-2 - Rebuild for new libpng * Fri Feb 18 2011 Howard Ning - 2.0.3-1 - New upstream * Wed Feb 09 2011 Fedora Release Engineering - 2.0.2-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Fri Nov 26 2010 Peng Wu - 2.0.2-4 - Fixes build for ibus 1.4 * Thu Aug 19 2010 Chen Lei - 2.0.2-3 - Rebuild for Rawhide * Thu Aug 19 2010 Chen Lei - 2.0.2-2 - Add seperate license field to data files * Mon Aug 16 2010 Chen Lei - 2.0.2-1 - Initial Package