File mozc.spec of Package mozc
#
# spec file for package mozc
#
# Copyright (c) 2013 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/
#
%define with_fcitx 1
%if %{with_fcitx}
%define fcitx_icon_dir %{_datadir}/fcitx/mozc/icon/
%define fcitx_addon_dir %{_datadir}/fcitx/addon/
%define fcitx_inputmethod_dir %{_datadir}/fcitx/inputmethod/
%define fcitx_lib_dir %{_libdir}/fcitx/
%endif
Name: mozc
Version: 1.6.1187.102
Release: 0
Summary: Mozc - Japanese Input Method for Chromium OS, Mac and Linux
License: BSD-3-Clause
Group: System/I18n/Japanese
Url: http://code.google.com/p/mozc
Source0: %{name}-%{version}.tar.bz2
Source1: README.SUSE
%if %{with_fcitx}
# PATCH-FEATURE-UPSTREAM i@marguerite.su - add fcitx as mozc module
Patch0: fcitx-mozc-1.6.1187.102.3.patch
%endif
BuildRequires: libopenssl-devel
BuildRequires: pkgconfig
BuildRequires: protobuf-devel
BuildRequires: python
BuildRequires: zlib-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Mozc is a Japanese Input Method Editor (IME) designed for
multi-platform such as Chromium OS, Mac and Linux. This open-source
project originates from Google Japanese Input.
%package -n ibus-mozc
Summary: The Mozc engine for IBus
Group: System/I18n/Japanese
BuildRequires: ibus-devel
Requires: ibus >= 1.4.1
Requires: mozc = %{version}
Requires: mozc-gui-tools = %{version}
Recommends: ibus-mozc-candidate-window
Provides: locale(ibus:ja)
%description -n ibus-mozc
The Mozc engine for IBus provides a Japanese input method.
%package -n ibus-mozc-candidate-window
Summary: An optional candidate window for ibus-mozc
Group: System/I18n/Japanese
BuildRequires: gtk2-devel
BuildRequires: libglib-2_0-0
Requires: ibus-mozc = %{version}
Provides: locale(ibus:ja)
%description -n ibus-mozc-candidate-window
This package provides an advanced candidate window for IBus. The
window shows examples of selected words.
%if %{with_fcitx}
%package -n fcitx-mozc
Summary: The Mozc backend for Fcitx
Group: System/I18n/Japanese
BuildRequires: fcitx-devel
Requires: fcitx
Requires: mozc = %{version}
Requires: mozc-gui-tools = %{version}
Provides: locale(fcitx:ja)
%description -n fcitx-mozc
The Mozc backend for Fcitx provides a Japanese input method.
%endif
%package gui-tools
Summary: GUI tools for mozc
Group: System/I18n/Japanese
BuildRequires: libqt4-devel
BuildRequires: zinnia-devel
Requires: mozc = %{version}
Requires: zinnia
Requires: zinnia-tomoe
%description gui-tools
This package provides config, word-register, dictioaly,
character-palette, handwriting tools.
%prep
%setup -q
%if %{with_fcitx}
%patch0 -p2
%endif
# thease modification should be done by patches?
sed -i.back -e 's|/usr/share/tegaki/models/zinnia/handwriting-ja.model|%{_datadir}/zinnia/model/tomoe/handwriting-ja.model|' handwriting/zinnia_handwriting.cc
sed -i.back -e 's|Util::JoinPath(Util::GetServerDirectory(), "documents")|"%{_docdir}/%{name}"|' base/util.cc
cmp handwriting/zinnia_handwriting.cc handwriting/zinnia_handwriting.cc.back && exit 1 || true
cmp base/util.cc base/util.cc.back && exit 1 || true
cp %{SOURCE1} .
%build
%define target Release
export QTDIR=%{_libdir}/qt4
# -Wall from RPM_OPT_FLAGS overrides -Wno-* options from gyp.
# gyp inserts -Wall to the head of release_extra_flags.
flags=${RPM_OPT_FLAGS/-Wall/}
export GYP_DEFINES='use_libprotobuf=1 release_extra_cflags="'$flags'"'
python build_mozc.py gyp --server_dir=%{_libdir}/mozc
python build_mozc.py build_tools -c %{target}
python build_mozc.py build -c %{target} \
unix/ibus/ibus.gyp:ibus_mozc \
%if %{with_fcitx}
unix/fcitx/fcitx.gyp:fcitx-mozc \
%endif
server/server.gyp:mozc_server \
unix/emacs/emacs.gyp:mozc_emacs_helper \
gui/gui.gyp:mozc_tool \
renderer/renderer.gyp:mozc_renderer
%define output_dir out_linux/%{target}
%install
install -m755 -d %{buildroot}%{_libdir}/ibus-mozc
install -m755 %{output_dir}/ibus_mozc %{buildroot}%{_libdir}/ibus-mozc/ibus-engine-mozc
install -m755 -d %{buildroot}%{_datadir}/ibus/component
sed -i.back -e 's|/usr/libexec/ibus-engine-mozc|%{_libdir}/ibus-mozc/ibus-engine-mozc|' %{output_dir}/obj/gen/unix/ibus/mozc.xml
cmp %{output_dir}/obj/gen/unix/ibus/mozc.xml %{output_dir}/obj/gen/unix/ibus/mozc.xml.back && exit 1 || true
install -m644 %{output_dir}/obj/gen/unix/ibus/mozc.xml %{buildroot}%{_datadir}/ibus/component/mozc.xml
install -m755 -d %{buildroot}%{_datadir}/ibus-mozc
#{__install} -m755 -d %{buildroot}%{_datadir}/ibus-mozc/setup
install -m644 data/images/unix/ime_product_icon_opensource-32.png %{buildroot}%{_datadir}/ibus-mozc/product_icon.png
install -m644 data/images/unix/ui-tool.png %{buildroot}%{_datadir}/ibus-mozc/tool.png
install -m644 data/images/unix/ui-properties.png %{buildroot}%{_datadir}/ibus-mozc/properties.png
install -m644 data/images/unix/ui-dictionary.png %{buildroot}%{_datadir}/ibus-mozc/dictionary.png
install -m644 data/images/unix/ui-direct.png %{buildroot}%{_datadir}/ibus-mozc/direct.png
install -m644 data/images/unix/ui-hiragana.png %{buildroot}%{_datadir}/ibus-mozc/hiragana.png
install -m644 data/images/unix/ui-katakana_half.png %{buildroot}%{_datadir}/ibus-mozc/katakana_half.png
install -m644 data/images/unix/ui-katakana_full.png %{buildroot}%{_datadir}/ibus-mozc/katakana_full.png
install -m644 data/images/unix/ui-alpha_half.png %{buildroot}%{_datadir}/ibus-mozc/alpha_half.png
install -m644 data/images/unix/ui-alpha_full.png %{buildroot}%{_datadir}/ibus-mozc/alpha_full.png
%if %{with_fcitx}
# Install Fcitx module
for mofile in out_linux/Release/obj/gen/unix/fcitx/po/*.mo
do
filename=`basename $mofile`
lang=${filename/.mo/}
install -D -m 644 "$mofile" "%{buildroot}%{_datadir}/locale/$lang/LC_MESSAGES/fcitx-mozc.mo"
done
install -m755 -d %{buildroot}%{fcitx_addon_dir}
install -m755 -d %{buildroot}%{fcitx_inputmethod_dir}
install -m755 -d %{buildroot}%{fcitx_icon_dir}
install -m755 -d %{buildroot}%{fcitx_lib_dir}
install -m 755 %{output_dir}/fcitx-mozc.so %{buildroot}%{fcitx_lib_dir}
install -m 644 unix/fcitx/fcitx-mozc.conf %{buildroot}%{fcitx_addon_dir}
install -m 644 unix/fcitx/mozc.conf %{buildroot}%{fcitx_inputmethod_dir}
install -m 644 data/images/product_icon_32bpp-128.png %{buildroot}%{fcitx_icon_dir}/mozc.png
install -m 644 data/images/unix/ui-alpha_full.png %{buildroot}%{fcitx_icon_dir}/mozc-alpha_full.png
install -m 644 data/images/unix/ui-alpha_half.png %{buildroot}%{fcitx_icon_dir}/mozc-alpha_half.png
install -m 644 data/images/unix/ui-direct.png %{buildroot}%{fcitx_icon_dir}/mozc-direct.png
install -m 644 data/images/unix/ui-hiragana.png %{buildroot}%{fcitx_icon_dir}/mozc-hiragana.png
install -m 644 data/images/unix/ui-katakana_full.png %{buildroot}%{fcitx_icon_dir}/mozc-katakana_full.png
install -m 644 data/images/unix/ui-katakana_half.png %{buildroot}%{fcitx_icon_dir}/mozc-katakana_half.png
install -m 644 data/images/unix/ui-dictionary.png %{buildroot}%{fcitx_icon_dir}/mozc-dictionary.png
install -m 644 data/images/unix/ui-properties.png %{buildroot}%{fcitx_icon_dir}/mozc-properties.png
install -m 644 data/images/unix/ui-tool.png %{buildroot}%{fcitx_icon_dir}/mozc-tool.png
%endif
install -m755 -d %{buildroot}%{_libdir}/mozc
install -m755 %{output_dir}/mozc_server %{buildroot}%{_libdir}/mozc
install -m755 %{output_dir}/mozc_tool %{buildroot}%{_libdir}/mozc
install -m755 %{output_dir}/mozc_renderer %{buildroot}%{_libdir}/mozc
install -m755 -d %{buildroot}%{_bindir}
install -m755 %{output_dir}/mozc_emacs_helper %{buildroot}%{_bindir}
# install only for emacs since xemacs is not supported
install -m755 -d %{buildroot}%{_datadir}/emacs/site-lisp
install -m644 unix/emacs/mozc.el %{buildroot}%{_datadir}/emacs/site-lisp/
chmod 644 data/installer/credits_*.html
%if %{with_fcitx}
%find_lang fcitx-mozc %no_lang_C
%endif
%files
%defattr(-, root, root)
%doc data/installer/credits_en.html
%doc data/installer/credits_ja.html
%doc README.SUSE
%dir %{_libdir}/mozc
%{_libdir}/mozc/mozc_server
%{_bindir}/mozc_emacs_helper
%dir %{_datadir}/emacs/site-lisp/
%{_datadir}/emacs/site-lisp/mozc.el
%files gui-tools
%defattr(-, root, root)
%{_libdir}/mozc/mozc_tool
%files -n ibus-mozc
%defattr(-, root, root)
%dir %{_libdir}/ibus-mozc/
%{_libdir}/ibus-mozc/ibus-engine-mozc
%dir %{_datadir}/ibus/component/
%{_datadir}/ibus/component/mozc.xml
%dir %{_datadir}/ibus-mozc/
%{_datadir}/ibus-mozc/product_icon.png
%{_datadir}/ibus-mozc/tool.png
%{_datadir}/ibus-mozc/properties.png
%{_datadir}/ibus-mozc/dictionary.png
%{_datadir}/ibus-mozc/direct.png
%{_datadir}/ibus-mozc/hiragana.png
%{_datadir}/ibus-mozc/katakana_half.png
%{_datadir}/ibus-mozc/katakana_full.png
%{_datadir}/ibus-mozc/alpha_half.png
%{_datadir}/ibus-mozc/alpha_full.png
%files -n ibus-mozc-candidate-window
%defattr(-, root, root)
%{_libdir}/mozc/mozc_renderer
%if %{with_fcitx}
%files -n fcitx-mozc -f fcitx-mozc.lang
%defattr(-,root,root)
%{fcitx_lib_dir}/fcitx-mozc.so
%{fcitx_addon_dir}/fcitx-mozc.conf
%dir %{fcitx_inputmethod_dir}
%{fcitx_inputmethod_dir}/mozc.conf
%dir %{_datadir}/fcitx/mozc
%dir %{fcitx_icon_dir}
%{fcitx_icon_dir}/mozc.png
%{fcitx_icon_dir}/mozc-alpha_full.png
%{fcitx_icon_dir}/mozc-alpha_half.png
%{fcitx_icon_dir}/mozc-direct.png
%{fcitx_icon_dir}/mozc-hiragana.png
%{fcitx_icon_dir}/mozc-katakana_full.png
%{fcitx_icon_dir}/mozc-katakana_half.png
%{fcitx_icon_dir}/mozc-dictionary.png
%{fcitx_icon_dir}/mozc-properties.png
%{fcitx_icon_dir}/mozc-tool.png
%endif
%changelog