1 # Maintainer: Jiachen Yang <farseerfc@archlinux.org>
2 # Contributor: Felix Yan <felixonmars@archlinux.org>
3 # Contributor: ponsfoot <cabezon dot hashimoto at gmail dot com>
4 # Contributor: UTUMI Hirosi <utuhiro78 at yahoo dot co dot jp>
10 ## follow the submodule commits in https://github.com/fcitx/mozc/tree/fcitx/src/third_party
11 _abseil_cpp_commit=0f3bb46
12 _breakpad_commit=216cea7
15 _japanese_usage_dictionary_commit=e5b3425
16 _jsoncpp_commit=11086dd
17 _protobuf_commit=fde7cf7
19 ## the latest release from https://osdn.net/projects/ponsfoot-aur/storage/mozc/
24 pkgdesc="Fcitx Module of A Japanese Input Method for Chromium OS, Windows, Mac and Linux (the Open Source Edition of Google Japanese Input)"
25 pkgver=2.26.4360.102.gca82d39
28 url="https://github.com/google/mozc"
30 depends=('qt5-base' 'fcitx')
31 makedepends=('pkg-config' 'python' 'curl' 'gtk2' 'mesa' 'subversion' 'ninja' 'git' 'clang' 'python-six')
32 replaces=('mozc-fcitx')
33 conflicts=('mozc' 'mozc-server' 'mozc-utils-gui' 'mozc-fcitx' 'fcitx5-mozc')
34 source=(git+https://github.com/fcitx/mozc.git#commit=${_mozc_commit}
35 https://osdn.net/projects/ponsfoot-aur/storage/mozc/jigyosyo-${_zipcode_rel}.zip
36 https://osdn.net/projects/ponsfoot-aur/storage/mozc/x-ken-all-${_zipcode_rel}.zip
37 git+https://chromium.googlesource.com/breakpad/breakpad#commit=${_breakpad_commit}
38 git+https://github.com/google/googletest.git#commit=${_gtest_commit}
39 git+https://chromium.googlesource.com/external/gyp#commit=${_gyp_commit}
40 git+https://github.com/hiroyuki-komatsu/japanese-usage-dictionary.git#commit=${_japanese_usage_dictionary_commit}
41 git+https://github.com/open-source-parsers/jsoncpp.git#commit=${_jsoncpp_commit}
42 git+https://github.com/google/protobuf.git#commit=${_protobuf_commit}
43 git+https://github.com/abseil/abseil-cpp.git#commit=${_abseil_cpp_commit}
46 'cadb43138597371d13d21a2766ba38f0940a73bd961a1142f3713f700d1b8e75bdb6ccc0600ea57518ad5bf1931eed329cd11faeb87b191aa460e379ed1fed93'
47 'b473bda282e12c448ec10522306035b10b566d7ebfb051602e287a7890405db9189ce60189ed47cc130d15a196cd8c7440c6cbb2aaacc7e8cd62b90e50bcb1d9'
55 validpgpkeys=('2CC8A0609AD2A479C65B6D5C8E8B898CBF2412F9') # Weng Xuetian
59 # change pkgver is OK because we fixed commit
60 # parse major.minor.buildid from version template, revision is fixed to 102 for Linux
61 _bzr_ver=$(sed 's/ //g;$ a echo $MAJOR.$MINOR.$BUILD.102' src/data/version/mozc_version_template.bzl | source /dev/stdin)
62 printf "%s.g%s" "${_bzr_ver}" "${_mozc_commit}"
68 git config submodule.src/third_party/breakpad.url "$srcdir/breakpad"
69 git config submodule.src/third_party/gtest.url "$srcdir/googletest"
70 git config submodule.src/third_party/gyp.url "$srcdir/gyp"
71 git config submodule.src/third_party/japanese_usage_dictionary.url "$srcdir/japanese-usage-dictionary"
72 git config submodule.src/third_party/jsoncpp.url "$srcdir/jsoncpp"
73 git config submodule.src/third_party/protobuf.url "$srcdir/protobuf"
74 git config submodule.src/third_party/abseil-cpp.url "$srcdir/abseil-cpp"
78 # Generate zip code seed
79 echo "Generating zip code seed..."
80 PYTHONPATH="$PWD:$PYTHONPATH" python dictionary/gen_zip_code_seed.py --zip_code="${srcdir}/x-ken-all.csv" --jigyosyo="${srcdir}/JIGYOSYO.CSV" >> data/dictionary_oss/dictionary09.txt
83 # disable fcitx5 target
84 rm unix/fcitx5/fcitx5.gyp
86 ## use libstdc++ instead of libc++
87 sed "/stdlib=libc++/d;/-lc++/d" -i gyp/common.gypi
89 # Fix build with python 3.10
91 git cherry-pick -n bc83cdacf5428ab6ddcc92fd0b0fc494cc9a4d4f
93 # Fix build with GCC 11
95 git checkout 5bf048b8425cc0a342e4647932de19e25ffd6ad7
99 # Fix compatibility with google-glog 0.3.3 (symbol conflict)
100 CFLAGS="${CFLAGS} -fvisibility=hidden"
101 CXXFLAGS="${CXXFLAGS} -fvisibility=hidden"
106 _targets="server/server.gyp:mozc_server gui/gui.gyp:mozc_tool unix/fcitx/fcitx.gyp:fcitx-mozc"
108 QTDIR=/usr GYP_DEFINES="document_dir=/usr/share/licenses/$pkgname use_libzinnia=1" python build_mozc.py gyp
109 python build_mozc.py build -c $_bldtype $_targets
112 # Extract license part of mozc
113 head -n 29 server/mozc_server.cc > LICENSE
118 export PREFIX="${pkgdir}/usr"
120 ../scripts/install_server
122 install -d "${pkgdir}/usr/share/licenses/$pkgname/"
123 install -m 644 LICENSE data/installer/*.html "${pkgdir}/usr/share/licenses/${pkgname}/"
125 install -d "${PREFIX}/share/fcitx/addon"
126 install -d "${PREFIX}/share/fcitx/inputmethod"
127 install -d "${PREFIX}/lib/fcitx"
128 ../scripts/install_fcitx