222 lines
6.7 KiB
Bash
222 lines
6.7 KiB
Bash
# Template file for 'mozc'
|
|
pkgname=mozc
|
|
# src/data/version/mozc_version_template.bzl
|
|
version=2.26.4416.102
|
|
revision=1
|
|
_commit=86b2623896042dd6e123371fb582314c6988888b
|
|
_abseil=20210324.1
|
|
create_wrksrc=yes
|
|
build_wrksrc=mozc/src
|
|
hostmakedepends="gettext ninja pkg-config protobuf protobuf-devel
|
|
python3-six which qt5-qmake qt5-host-tools"
|
|
makedepends="gtk+-devel ibus-devel libzinnia-devel protobuf-devel qt5-devel
|
|
fcitx-devel libfcitx5-devel"
|
|
depends="tegaki-zinnia-japanese>=0.3 mozc-base-${version}_${revision}"
|
|
short_desc="Japanese IME (Open Source version of Google Japanese Input)"
|
|
maintainer="Matthias von Faber <mvf@gmx.eu>"
|
|
license="BSD-3-Clause"
|
|
homepage="https://github.com/google/mozc"
|
|
distfiles="
|
|
https://github.com/fcitx/mozc/archive/$_commit.tar.gz
|
|
https://github.com/abseil/abseil-cpp/archive/refs/tags/$_abseil.tar.gz
|
|
${DEBIAN_SITE}/main/g/gyp/gyp_0.1+20200513gitcaa6002.orig.tar.gz
|
|
https://github.com/hiroyuki-komatsu/japanese-usage-dictionary/archive/e5b3425575734c323e1d947009dd74709437b684.tar.gz
|
|
"
|
|
checksum="68614d1283e52b3d7035f76e587ed057a3292d6dc25d61100122dc0fd8942c15
|
|
441db7c09a0565376ecacf0085b2d4c2bbedde6115d7773551bc116212c2a8d6
|
|
8d531bc7d3302461d76a32367453cec60ed08b455f27a53d8f313d81761713a8
|
|
0b6efee0eebac2c1a8eeea333278aa40fcef7846bba9a379962c6e567e7e3dc1"
|
|
|
|
CXXFLAGS="-D_GNU_SOURCE"
|
|
lib32disabled=yes
|
|
|
|
if [ "$XBPS_TARGET_ENDIAN" = "be" ]; then
|
|
broken="Does not build"
|
|
fi
|
|
|
|
if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
|
|
makedepends+=" libatomic-devel"
|
|
fi
|
|
|
|
post_extract() {
|
|
mv mozc-* mozc
|
|
|
|
# symlink "submodules" into place
|
|
for _src_dest in gyp \
|
|
abseil-cpp \
|
|
japanese-usage-dictionary:japanese_usage_dictionary
|
|
do
|
|
_src=${_src_dest%:*}
|
|
_dst=${_src_dest#*:}
|
|
mv $_src-* $_dst
|
|
rmdir mozc/src/third_party/$_dst
|
|
ln -sr $_dst mozc/src/third_party
|
|
done
|
|
}
|
|
|
|
post_patch() {
|
|
if [ "$XBPS_TARGET_LIBC" = musl ]; then
|
|
vsed -i -e 's|PTHREAD_MUTEX_RECURSIVE_NP|PTHREAD_MUTEX_RECURSIVE|g' base/mutex.cc
|
|
fi
|
|
}
|
|
|
|
do_configure() {
|
|
GYP_DEFINES="
|
|
document_dir=/usr/share/licenses/${pkgname}
|
|
ibus_mozc_path=/usr/lib/ibus/ibus-engine-mozc
|
|
use_libprotobuf=1
|
|
use_libzinnia=1
|
|
${XBPS_TARGET_NO_ATOMIC8:+use_libatomic=1}
|
|
" python3 build_mozc.py gyp --target_platform=Linux
|
|
}
|
|
|
|
do_build() {
|
|
local _file _lang
|
|
local _modir=out_linux/Release/gen/unix/fcitx5/po
|
|
|
|
python3 build_mozc.py build -c Release \
|
|
server/server.gyp:mozc_server \
|
|
gui/gui.gyp:mozc_tool \
|
|
unix/emacs/emacs.gyp:mozc_emacs_helper \
|
|
unix/ibus/ibus.gyp:ibus_mozc \
|
|
renderer/renderer.gyp:mozc_renderer \
|
|
unix/fcitx/fcitx.gyp:fcitx-mozc \
|
|
unix/fcitx5/fcitx5.gyp:fcitx5-mozc
|
|
|
|
mkdir -p $_modir
|
|
for _file in unix/fcitx5/po/*.po
|
|
do
|
|
_lang=${_file##*/}
|
|
_lang=${_lang%.po}
|
|
msgfmt "$_file" -o $_modir/$_lang.mo
|
|
done
|
|
msgfmt --xml -d unix/fcitx5/po \
|
|
--template unix/fcitx5/org.fcitx.Fcitx5.Addon.Mozc.metainfo.xml.in \
|
|
-o $_modir/org.fcitx.Fcitx5.Addon.Mozc.metainfo.xml
|
|
|
|
}
|
|
|
|
do_install() {
|
|
local f
|
|
# Base package
|
|
vinstall out_linux/Release/mozc_server 755 usr/lib/mozc
|
|
vlicense data/installer/credits_en.html license.html
|
|
head -n 29 unix/fcitx5/fcitx_key_translator.cc >fcitx.LICENSE
|
|
vlicense fcitx.LICENSE
|
|
# emacs
|
|
vbin out_linux/Release/mozc_emacs_helper
|
|
vinstall unix/emacs/mozc.el 644 usr/share/emacs/site-lisp
|
|
# Qt5 tools
|
|
vinstall out_linux/Release/mozc_tool 755 usr/lib/mozc
|
|
# ibus
|
|
vinstall out_linux/Release/ibus_mozc 755 usr/lib/ibus ibus-engine-mozc
|
|
vinstall out_linux/Release/gen/unix/ibus/mozc.xml 644 \
|
|
usr/share/ibus/component
|
|
vinstall data/images/product_icon_32bpp-128.png 644 \
|
|
usr/share/ibus-mozc product_icon.png
|
|
for f in data/images/unix/48x48/*.png; do
|
|
vinstall "$f" 644 usr/share/ibus-mozc
|
|
done
|
|
vinstall out_linux/Release/mozc_renderer 755 usr/lib/mozc
|
|
# fcitx
|
|
vinstall out_linux/Release/fcitx-mozc.so 644 usr/lib/fcitx
|
|
vinstall unix/fcitx/fcitx-mozc.conf 644 usr/share/fcitx/addon
|
|
vinstall unix/fcitx/mozc.conf 644 usr/share/fcitx/inputmethod
|
|
vinstall data/images/product_icon_32bpp-128.png 644 \
|
|
usr/share/fcitx/mozc/icon mozc.png
|
|
for f in dictionary properties tool; do
|
|
vinstall ../scripts/icons/ui-$f.png 644 \
|
|
usr/share/fcitx/mozc/icon mozc-$f.png
|
|
done
|
|
for f in alpha_full alpha_half direct \
|
|
hiragana katakana_full katakana_half; do
|
|
vinstall data/images/unix/48x48/$f.png 644 \
|
|
usr/share/fcitx/mozc/icon mozc-$f.png
|
|
done
|
|
# fcitx5
|
|
vinstall out_linux/Release/fcitx5-mozc.so 644 usr/lib/fcitx5
|
|
vinstall unix/fcitx5/mozc-addon.conf 644 \
|
|
usr/share/fcitx5/addon mozc.conf
|
|
vinstall unix/fcitx5/mozc.conf 644 usr/share/fcitx5/inputmethod
|
|
vinstall data/images/product_icon_32bpp-128.png 644 \
|
|
usr/share/icons/hicolor/128x128/apps fcitx-mozc.png
|
|
vinstall data/images/unix/ime_product_icon_opensource-32.png 644 \
|
|
usr/share/icons/hicolor/32x32/apps fcitx-mozc.png
|
|
for f in dictionary properties tool; do
|
|
vinstall ../scripts/icons/ui-$f.png 644 \
|
|
usr/share/icons/hicolor/48x48/apps fcitx-mozc-$f.png
|
|
done
|
|
for f in alpha_full alpha_half direct \
|
|
hiragana katakana_full katakana_half; do
|
|
vinstall data/images/unix/48x48/$f.png 644 \
|
|
usr/share/icons/hicolor/48x48/apps fcitx-mozc-${f/_/-}.png
|
|
done
|
|
vinstall out_linux/Release/gen/unix/fcitx5/po/org.fcitx.Fcitx5.Addon.Mozc.metainfo.xml \
|
|
644 usr/share/metainfo/
|
|
}
|
|
|
|
mozc-base_package() {
|
|
short_desc+=" - base installation"
|
|
lib32disabled=yes
|
|
replaces="emacs-mozc>=0"
|
|
provides="emacs-mozc-${version}_${revision}"
|
|
pkg_install() {
|
|
vmove usr/bin
|
|
vmove usr/lib/mozc/mozc_server
|
|
vmove usr/share/emacs
|
|
vmove usr/share/licenses
|
|
}
|
|
}
|
|
|
|
ibus-mozc_package() {
|
|
short_desc="Mozc engine for IBus - Client of the Mozc input method"
|
|
depends="mozc-base-${version}_${revision} ibus>=1.5.14"
|
|
lib32disabled=yes
|
|
pkg_install() {
|
|
vmove usr/lib/ibus
|
|
vmove usr/lib/mozc/mozc_renderer
|
|
vmove "usr/share/ibus*"
|
|
}
|
|
}
|
|
|
|
fcitx-mozc_package() {
|
|
short_desc="Mozc engine for fcitx - Client of the Mozc input method"
|
|
depends="mozc-base-${version}_${revision} fcitx>=4.2.9"
|
|
homepage="https://fcitx-im.org/"
|
|
lib32disabled=yes
|
|
pkg_install() {
|
|
local _file _lang
|
|
vmove usr/lib/fcitx
|
|
vmove usr/share/fcitx
|
|
# vmove "usr/share/locale/*/LC_MESSAGES/fcitx-mozc.mo"
|
|
for _file in out_linux/Release/gen/unix/fcitx/po/*.mo
|
|
do
|
|
_lang=${_file##*/}
|
|
_lang=${_lang%.mo}
|
|
vinstall "$_file" 644 \
|
|
usr/share/locale/$_lang/LC_MESSAGES fcitx-mozc.mo
|
|
done
|
|
}
|
|
}
|
|
|
|
fcitx5-mozc_package() {
|
|
short_desc="Mozc engine for fcitx v5"
|
|
depends="mozc-base-${version}_${revision} fcitx5"
|
|
homepage="https://fcitx-im.org/"
|
|
lib32disabled=yes
|
|
pkg_install() {
|
|
local _file _lang
|
|
vmove usr/lib/fcitx5
|
|
vmove usr/share/fcitx5
|
|
vmove usr/share/icons
|
|
# vmove "usr/share/locale/*/LC_MESSAGES/fcitx5-mozc.mo"
|
|
for _file in out_linux/Release/gen/unix/fcitx5/po/*.mo
|
|
do
|
|
_lang=${_file##*/}
|
|
_lang=${_lang%.mo}
|
|
vinstall "$_file" 644 \
|
|
usr/share/locale/$_lang/LC_MESSAGES fcitx5-mozc.mo
|
|
done
|
|
vmove usr/share/metainfo
|
|
}
|
|
}
|