%define _xinputconf %{_sysconfdir}/X11/xinit/xinput.d/xsunpinyin.conf Name: sunpinyin Version: 2.0.2 Release: 2%{?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: http://sunpinyin.googlecode.com/files/%{name}-%{version}.tar.gz Source1: xinput-x%{name} BuildRequires: sqlite-devel BuildRequires: gtk2-devel BuildRequires: ibus-devel BuildRequires: gettext BuildRequires: scons %ifarch %{ix86} x86_64 armv5tel mips64el 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 had 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 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 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} # 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 %build scons %{?_smp_mflags} --prefix=%{_prefix} # We need to do this so wrappers can link against libsunpinyin sed -i 's\libdir=.*$\libdir=%{_builddir}/%{name}\' sunpinyin-*.pc sed -i 's\includedir=.*$\includedir=%{_builddir}/%{name}/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} 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} 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,-) %{_libexecdir}/ibus* %{_datadir}/ibus/component/* %{_datadir}/ibus-%{name} %files -n x%{name} %defattr(-,root,root,-) %{_bindir}/x%{name}* %{_datadir}/x%{name} %config %{_xinputconf} %changelog * 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