uim/uim.spec

436 lines
14 KiB
RPMSpec

#
# spec file for package uim (Version 1.2.1)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: uim
BuildRequires: anthy-devel canna-devel emacs-x11 gcc-c++ gnome-panel-devel gtk2-devel intltool libgnomeui-devel ncurses-devel perl-XML-Parser pkg-config qt3-devel update-desktop-files xemacs
BuildRequires: libexpat-devel
%if %suse_version > 1020
BuildRequires: fdupes
%endif
# xorg-x11-libXdmcp-devel libgnomeprintui-devel
License: GPL v2 or later
Group: System/I18n/Japanese
AutoReqProv: on
PreReq: %{_bindir}/touch
Provides: locale(xorg-x11:ja)
Version: 1.2.1
Release: 278
Url: http://uim.freedesktop.org/wiki/
# svn co http://freedesktop.org:8080/svn/uim/trunk
# Source0: http://freedesktop.org/Software/UimDownload/uim-0.4.2.1.tar.bz2
# freedesktop svn archive is broken. Currently there is an snapshot of
# a new svn repository available which is updated every hour:
# http://freedesktop.org/~tkng/uim-trunk.tar.gz
Source0: http://uim.freedesktop.org/releases/uim-1.2.1.tar.bz2
Source1: suse-start-uim.el
Source2: xemacs-auto-autoloads.el
Source3: etc-x11-xim.d-uim
Patch0: uim.desktop.patch
Patch1: qt-build.patch
Patch3: version.patch
Patch4: uim-configure.patch
Patch5: uim-slib.patch
Patch6: uim-aliasing.patch
Patch7: uim-el.patch
Patch8: missing-header.patch
Patch9: uim-fix-gnome-compilation.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Summary: a multilingual input method library
%description
Uim is a multilingual input method library. Uim's project goal is to
provide secure and useful input method for all languages. Currently, it
can input to applications which support gtk+'s immodule or XIM.
Authors:
--------
TOKUNAGA Hiroyuki <tkng@xem.jp>
Masahito Omote <omote@utuuzin.net>
Yusuke Tabata <yusuke@cherubim.icw.co.jp>
Yamaken <yamaken@bp.iij4u.or.jp>
NOKUBI Takatsugu <knok@daionet.gr.jp>
%package devel
License: GPL v2 or later
Summary: Include Files and Libraries mandatory for Development.
Group: System/I18n/Japanese
Requires: %{name} = %{version} glibc-devel
%description devel
Include Files and Libraries mandatory for Development.
Authors:
--------
TOKUNAGA Hiroyuki <tkng@xem.jp>
Masahito Omote <omote@utuuzin.net>
Yusuke Tabata <yusuke@cherubim.icw.co.jp>
Yamaken <yamaken@bp.iij4u.or.jp>
NOKUBI Takatsugu <knok@daionet.gr.jp>
%package gtk2
License: GPL v2 or later
Summary: Control applet using gnome2
Group: System/I18n/Japanese
Requires: %{name} = %{version}
Obsoletes: uim-applet
Provides: uim-applet
Provides: locale(gnome-libs:ja)
%description gtk2
Control applet using gnome2
Authors:
--------
TOKUNAGA Hiroyuki <tkng@xem.jp>
Masahito Omote <omote@utuuzin.net>
Yusuke Tabata <yusuke@cherubim.icw.co.jp>
Yamaken <yamaken@bp.iij4u.or.jp>
NOKUBI Takatsugu <knok@daionet.gr.jp>
%package qt
License: GPL v2 or later
Summary: Qt input module plugin for uim
Group: System/I18n/Japanese
Requires: %{name} = %{version}
Provides: locale(qt3:ja)
%description qt
Qt input module plugin for uim
Authors:
--------
Kazuki Ohta <mover@hct.zaq.ne.jp>
Yamaken <yamaken@bp.iij4u.or.jp>
%prep
%setup0 -q -n uim-%{version}
#%patch0 -p1
%patch1 -p1
#%patch3 -p1
#%patch4
%patch5
#%patch6
%patch7
%patch8 -p1
%patch9 -p1
cp emacs/README README.emacs
iconv -f euc-jp -t utf-8 < emacs/README.ja > README.ja.emacs
%build
libtoolize --force --copy
autoreconf --force --install
intltoolize --force -c --automake
%configure\
--libexecdir=%{_prefix}/lib/uim \
--without-m17nlib\
--with-canna\
--with-qt\
--with-qt-immodule
# --disable-scm-nested-eval --enable-callback-queue\
make
%install
make DESTDIR=$RPM_BUILD_ROOT install
rm $RPM_BUILD_ROOT%{_libdir}/*/*/*.*a $RPM_BUILD_ROOT%{_prefix}/lib*/*/*/*/*.*a
# this file is generated by "uim-module-manager".
# touch it here to make sure that it is in the file list of the
# package, then it will be deleted when the package is uninstalled:
touch $RPM_BUILD_ROOT%{_datadir}/uim/modules
mkdir -p $RPM_BUILD_ROOT/etc/X11/xim.d/ja
install -m 644 $RPM_SOURCE_DIR/etc-x11-xim.d-uim \
$RPM_BUILD_ROOT/etc/X11/xim.d/uim
pushd $RPM_BUILD_ROOT/etc/X11/xim.d/ja
ln -s ../uim 60-uim
popd
# GNU Emacs:
install -m 644 $RPM_SOURCE_DIR/suse-start-uim.el $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/
pushd $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/uim-el
for i in $(find . -name "*.el")
do
emacs -no-site-file -q -batch -eval '(setq load-path (cons "." load-path))' -f batch-byte-compile $i
done
popd
# XEmacs
mkdir -p $RPM_BUILD_ROOT%{_datadir}/xemacs/site-packages/lisp/uim-el
install -m 644 emacs/*.el $RPM_BUILD_ROOT%{_datadir}/xemacs/site-packages/lisp/uim-el
pushd $RPM_BUILD_ROOT%{_datadir}/xemacs/site-packages/lisp/uim-el
for i in $(find . -name "*.el")
do
xemacs -no-site-file -q -batch -eval '(setq load-path (cons "." load-path))' -f batch-byte-compile $i
done
popd
install -m 644 $RPM_SOURCE_DIR/xemacs-auto-autoloads.el \
$RPM_BUILD_ROOT%{_datadir}/xemacs/site-packages/lisp/uim-el/auto-autoloads.el
# replace buildroot in comments in .elc files by spaces with the same total length:
RPM_BUILD_ROOT_REPLACEMENT=$(echo "$RPM_BUILD_ROOT" | tr [:print:] ' ')
for i in $(find $RPM_BUILD_ROOT -name "*.elc")
do
perl -pi -e "s|(;;; from file )$RPM_BUILD_ROOT(%{_datadir}/xemacs/site-packages/.*)|\1$RPM_BUILD_ROOT_REPLACEMENT\2|" $i
perl -pi -e "s|(;;; from file )$RPM_BUILD_ROOT(%{_datadir}/emacs/site-lisp/.*)|\1$RPM_BUILD_ROOT_REPLACEMENT\2|" $i
done
%find_lang uim
%find_lang uim-chardict-qt
%suse_update_desktop_file uim System SystemSetup
find $RPM_BUILD_ROOT -name "*.scm" \
| grep -E -v "installed-modules.scm|loader.scm" \
| sort | uniq | perl -p -e "s|$RPM_BUILD_ROOT||" >> uim.lang
%if %suse_version > 1020
%fdupes $RPM_BUILD_ROOT/usr/share
%endif
%clean
rm -rf $RPM_BUILD_ROOT
%post
%run_ldconfig
# register uim modules to uim. This will change the files:
# %{_datadir}/uim/installed-modules.scm
# %{_datadir}/uim/loader.scm
# %{_datadir}/uim/modules
uim-module-manager --register pyload anthy canna skk tcode tutcode hangul viqr ipa-x-sampa latin
%postun
%run_ldconfig
%post gtk2
# trigger run of SuSEconfig.gtk2 to register/unregister this input module
# by calling gtk-query-immodules-2.0:
touch var/adm/SuSEconfig/run-gtk
%postun gtk2
# trigger run of SuSEconfig.gtk2 to register/unregister this input module
# by calling gtk-query-immodules-2.0:
touch var/adm/SuSEconfig/run-gtk
%files -n uim -f uim.lang
%defattr(-, root, root)
%doc AUTHORS COPYING ChangeLog INSTALL* NEWS* README*
%doc doc
%dir /etc/X11/xim.d/
/etc/X11/xim.d/*
%dir %{_datadir}/uim
# autogenerated by uim-module-manager:
%ghost %{_datadir}/uim/installed-modules.scm
%ghost %{_datadir}/uim/loader.scm
%ghost %{_datadir}/uim/modules
%dir %{_datadir}/uim/pixmaps/
%{_datadir}/uim/pixmaps/*
%{_bindir}/uim-sh
%{_bindir}/uim-module-manager
%{_bindir}/uim-xim
%{_bindir}/uim-fep
%{_bindir}/uim-fep-tick
%{_bindir}/uim-el-agent
%{_bindir}/uim-el-helper-agent
%{_libdir}/*.so.*
%dir %{_libdir}/uim
%if "%{_libdir}" != "%{_prefix}/lib"
%dir %{_prefix}/lib/uim
%endif
%{_prefix}/lib/uim/uim-helper-server
%{_prefix}/lib/uim/uim-toolbar-applet
%{_prefix}/lib/uim/uim-candwin-gtk
%dir %{_libdir}/uim/plugin/
%{_libdir}/uim/plugin/*.so
%doc %{_mandir}/man1/*.1.gz
%{_datadir}/applications/%name.desktop
%{_datadir}/emacs/site-lisp/*
%dir %{_datadir}/xemacs/site-packages/
%dir %{_datadir}/xemacs/site-packages/lisp/
%dir %{_datadir}/xemacs/site-packages/lisp/uim-el/
%{_datadir}/xemacs/site-packages/lisp/uim-el/*
%files -n uim-devel
%defattr(-, root, root)
%{_libdir}/*.*a
%{_libdir}/*.so
%dir %{_includedir}/uim
%{_includedir}/uim/*
%{_libdir}/pkgconfig/uim.pc
%files -n uim-gtk2
%defattr(-, root, root)
%{_bindir}/uim-im-switcher-gtk
%{_bindir}/uim-input-pad-ja
%{_bindir}/uim-toolbar-gtk
%{_bindir}/uim-toolbar-gtk-systray
%{_bindir}/uim-pref-gtk
%{_libdir}/bonobo/servers/*.server
%{_libdir}/gtk-*/*/immodules/*.so
%files -n uim-qt -f uim-chardict-qt.lang
%defattr(-, root, root)
%{_bindir}/uim-chardict-qt
%{_bindir}/uim-im-switcher-qt
%{_bindir}/uim-pref-qt
%{_bindir}/uim-toolbar-qt
%{_prefix}/lib/qt3/plugins/inputmethods/*.so
%{_prefix}/lib/uim/uim-candwin-qt
%dir %{_datadir}/uim/helperdata/
%{_datadir}/uim/helperdata/bushu.t
%changelog
* Thu Jun 04 2009 tiwai@suse.de
- fix build for older distros
* Mon Feb 23 2009 vuntz@novell.com
- Add uim-fix-gnome-compilation.patch to fix build. The patch
should probably be sent upstream if the latest version still has
the issue (upstream is at 1.5.5 now).
- Add libgnomeui-devel BuildRequires for the patch.
* Tue Nov 25 2008 sbrabec@suse.cz
- Supplement gtk2-32bit/gtk2-64bit and qt3-32bit/qt3-64bit in
baselibs.conf (bnc#354164).
* Fri Oct 17 2008 mfabian@suse.de
- bnc#436245: Emacs cannot start flawlessly from within a directory
containing umlauts in it's name: fix by loading uim-leim
not immediately in suse-start-uim.el but rather load it in
'emacs-startup-hook.
(Fixed by Werner Fink <werner@suse.de>).
- fix build in Factory (add “intltoolize --force -c --automake”)
* Fri Jan 11 2008 mfabian@suse.de
- include missing headers to make it build on STABLE.
- use fdupes
* Mon May 07 2007 mfabian@suse.de
- Bugzilla #271696: fix bug in uim start script which made it
impossible to set uim as the default input method.
Thanks to Satoshi Niimi <sa2c@sa2c.net> for the report and the
fix.
* Sat Mar 31 2007 aj@suse.de
- Cleanup BuildRequires.
* Tue Feb 06 2007 ro@suse.de
- fix build
* Fri Feb 02 2007 sbrabec@suse.cz
- Removed references to /opt/gnome.
- Bi-arch libexecdir fix.
- Package each file only once.
- Use %%ghost for autogenerated files.
* Mon Dec 25 2006 schwab@suse.de
- Fix format string bugs.
- Make uim-el less chatty.
- Remove inappropriate advice.
- Don't clobber current-input-method-title.
* Fri Sep 15 2006 mfabian@suse.de
- make auto-autoloads.el for XEmacs really work.
- make vertical candidate list display the default.
* Thu Sep 14 2006 mfabian@suse.de
- add uim-el for XEmacs.
- byte-compile the .el files for Emacs and XEmacs.
- add suse-start-uim.el for Emacs and auto-autoloads.el for XEmacs
to be able to use uim-el without further setup.
* Mon Sep 11 2006 mfabian@suse.de
- update to 1.2.1.
- new subpackage uim-qt (used to be build from a different
tarball but it is now included in uim).
* Mon Jun 19 2006 schwab@suse.de
- Work around broken use of configure substitutions.
* Tue Feb 28 2006 mfabian@suse.de
- add "Provides: locale(...)".
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Wed Jan 18 2006 schwab@suse.de
- Fix garbage collector.
- Use RPM_OPT_FLAGS.
- Fix aliasing bugs.
* Fri Aug 26 2005 mfabian@suse.de
- Bugzilla #113081: uim should register the input modules in the
%%post script.
* Thu Aug 25 2005 mfabian@suse.de
- Bugzilla #112931: gtk2 specific stuff in %%post and %%postun should
be moved to the proper sub-package.
* Mon Aug 08 2005 mfabian@suse.de
- update to 0.4.8.
* Tue May 31 2005 mfabian@suse.de
- update to 0.4.6 svn revison 850.
remove ipa-x-sampa.patch (included).
* Mon Apr 25 2005 mfabian@suse.de
- update to 0.4.6 svn revision 828.
- fix a small problem in ipa-x-sampa: mnenonic for U+02D0 and
U+02D1 is ':' and ':\' respectively (not ';' and ';\').
* Thu Feb 24 2005 mfabian@suse.de
- Bugzilla #66448: update to 0.4.6 svn revision 714
to fix a security problem (CAN-2005-0503).
* Tue Feb 22 2005 mfabian@suse.de
- fix typo in /etc/X11/xim.d/uim.
* Tue Feb 22 2005 mfabian@suse.de
- create start script /etc/X11/xim.d/uim and symlink in ja
subdirectory.
* Sat Jan 08 2005 mfabian@suse.de
- update to 0.4.5.20050108.165 (fixes crashes and moves the plugins
to the correct directory).
- add anthy, anthy-devel to "# neededforbuild". Previously anthy
was not needed at buildtime but now it is.
- remove dont-use-uim-default-by-default-for-all-languages.patch,
it's not necessary anymore and setting the wildcard for the
direct input method to the empty string instead of "*" makes
uim crash.
* Fri Jan 07 2005 mfabian@suse.de
- update to 0.4.5.20050107.
- remove uim-toolbar-gtk.patch (now included in tarball).
* Wed Jan 05 2005 mfabian@suse.de
- update prime.scm to prime_2004-12-13.scm.
* Wed Dec 22 2004 mfabian@suse.de
- apply uim-toolbar-gtk.patch received from
TOKUNAGA Hiroyuki <tkng@xem.jp> to make uim-toolbar-gtk work
with gtk+ >= 2.5.
* Fri Dec 17 2004 mfabian@suse.de
- fix version number in configure.ac.
* Wed Dec 15 2004 mfabian@suse.de
- update to 0.4.5svn1650.
dont-use-uim-default-by-default-for-all-languages.patch is
apparently not necessary anymore.
* Fri Sep 17 2004 ro@suse.de
- remove xfce from neededforbuild (unused anyway)
* Sat Sep 04 2004 mfabian@suse.de
- update to 0.4.3.
* Tue Aug 24 2004 mfabian@suse.de
- Bugzilla #44155: add /usr/bin/touch to PreReq:.
* Fri Aug 20 2004 mfabian@suse.de
- update to svn trunk (0.4.2.1.20040820) to fix the switching
between the romaji and kana input mode, see also:
http://freedesktop.org/pipermail/uim/2004-August/000603.html
* Fri Aug 13 2004 mfabian@suse.de
- update to 0.4.2.1
- add control-reaches-end-of-non-void-function.patch.
- move uim-helper-candwin-gtk, uim-helper-toolbar-gtk, and
uim-helper-applet to uim-applet sub-package.
* Wed Mar 17 2004 mfabian@suse.de
- update to 0.3.2.
* Wed Mar 17 2004 mfabian@suse.de
- make only uim-anthy a default gtk-input-module for Japanese.
- don't use the uim-default input module for any language by
default (This module was used for *all* languages by default,
that means even when running in de_DE.UTF-8 locale,
uim-helper-server would start, which is quite useless).
- add canna canna-devel canna-libs to # neededforbuild in order
to build the uim-canna module as well.
* Fri Mar 05 2004 mfabian@suse.de
- update to 0.3.1
- remove uim.patch and warnings.patch (included upstream).
* Thu Feb 26 2004 mfabian@suse.de
- new package, version 0.3.0.1.