[update: 2023-04-29
引き続き更新予定
- Version : 2.28.5085.102.1
TAG : 2jw
1. MOZC_REV: 589e80577b2f49212fd912b65d30e32572ad1f1f
( git-source: commit-589e80577b2f49212fd912b65d30e32572ad1f1f )
2. MozcのBazelビルドシステムはコンパイル中に自動で最新の郵便番号データを日本郵政サイトから
ダウンロードして辞書に取り込んでいることに気づいた(今更💦)ので、"zip code seed" 処理関連の
行をslackbuildから削除しました。
Since the bazel build system downloads the latest zip code data from Japan Post Office
site during compilation, traditional "zip code seeding" is not required in slackbuild.
So, I removed "zip code seed" related commands from my slackbuild.
So, I removed "zip code seed" related commands from my slackbuild.
build requires: jdk11, bazel, Ruby >= 3.0, Zsh, xz, curl
------------------------------------------
fcitx5-mozc.SlackBuild
[code]
#!/bin/bash # Slackware build script for bazel # Copyright 2022 Isaac Yu <isaacyu1@isaacyu1.com> # All rights reserved. # # Redistribution and use of this script, with or without modification, is # permitted provided that the following conditions are met: # # 1. Redistributions of this script must retain the above copyright # notice, this list of conditions and the following disclaimer. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO # EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. cd $(dirname $0) ; CWD=$(pwd) PRGNAM=fcitx5-mozc VERSION=${VERSION:-2.28.5085.102.1} BUILD=${BUILD:-2} # [2023-04-29] # OK. I removed "gen_zip_code_seed.py" process, because Bazel will fetch and # merge the latest zip-code from japan post office's repository. # # [2023-04-29] # Version bump to "2.28.5085.102.1" # MOZC_REV : "589e80577b2f49212fd912b65d30e32572ad1f1f" # [2023-04-17] # Import "mozcdict-ext" extra dictionaries from https://github.com/reasonset/mozcdict-ext # [2023-04-14] # Update MOZC_REV to "1ea2c86946915db7661a3b53834c2dee2e34f0d4" # Also updated BUILD.bazel on commit:fa4cdd0 (2023-04-14) # Update ABSEIL_CPP_REV to "20230125.5" # TAG=${TAG:-jw} PKGTYPE=${PKGTYPE:-txz} if [ -z "$ARCH" ]; then case "$( uname -m )" in i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac fi # If the variable PRINT_PACKAGE_NAME is set, then this script will report what # the name of the created package would be, and then exit. This information # could be useful to other scripts. if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" exit 0 fi TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} BLDBASEDIR=$TMP/$PRGNAM-$VERSION if [ "$ARCH" = "i586" ]; then SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" LIBDIRSUFFIX="64" else SLKCFLAGS="-O2" LIBDIRSUFFIX="" fi set -e BLDTYPE=Release _bldtype=Release # source rev. and version. MOZC_REV=589e80577b2f49212fd912b65d30e32572ad1f1f GYP_REV=caa60026e223fc501e8b337fd5086ece4028b1c6 PROTOBUF_REV=b5a35bcc7e4cc4ff00eb105449b300fca3a8b0d2 ABSEIL_CPP_REV=20230125.2 BREAKPAD_REV=2023.01.27 GOOGLETEST_REV=703bd9caab50b139428cea1aaff9974ebee5742e #JSONCPP_REV=42e892d96e47b1f6e29844cc705e148ec4856448 ### Mozc no longer depends on JsonCpp JAPANESE_USAGE_DICT_REV=e5b3425575734c323e1d947009dd74709437b684 MOZCDICT_EXT_REV=1041a9ca03e48b29873d950c9ea19de70fde1139 rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $PRGNAM-$VERSION mkdir -p $PRGNAM-$VERSION cd $PRGNAM-$VERSION echo "prepare source file..." # unzip packages unzip $CWD/mozc-$MOZC_REV.zip unzip $CWD/gyp-$GYP_REV.zip unzip $CWD/protobuf-$PROTOBUF_REV.zip unzip $CWD/abseil-cpp-$ABSEIL_CPP_REV.zip unzip $CWD/breakpad-${BREAKPAD_REV}.zip unzip $CWD/googletest-$GOOGLETEST_REV.zip #unzip $CWD/jsoncpp-$JSONCPP_REV.zip unzip $CWD/japanese-usage-dictionary-$JAPANESE_USAGE_DICT_REV.zip unzip $CWD/mozcdict-ext-${MOZCDICT_EXT_REV}.zip # extact tar file tar -xvf ${CWD}/fcitx-mozc-icon.tar.gz # rename directory mv mozc-$MOZC_REV mozc mv gyp-$GYP_REV gyp mv protobuf-$PROTOBUF_REV protobuf mv abseil-cpp-$ABSEIL_CPP_REV abseil-cpp mv breakpad-$BREAKPAD_REV breakpad mv googletest-$GOOGLETEST_REV googletest #mv jsoncpp-$JSONCPP_REV jsoncpp mv japanese-usage-dictionary-$JAPANESE_USAGE_DICT_REV japanese_usage_dictionary mv mozcdict-ext-${MOZCDICT_EXT_REV} mozcdict-ext chown -R root:root . find -L . \ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ -o -perm 511 \) -exec chmod 755 {} \; -o \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; cd $BLDBASEDIR/mozc/src # disable android-ndk requirement, even if we don't need it bazel will complain sed "/android_ndk_repository/d" -i WORKSPACE.bazel # adjust QT_BASE_PATH sed 's|path = QT_BASE_PATH|path = "/usr/include/qt5"|' -i WORKSPACE.bazel # Include NEologd export RUBYOPT=-EUTF-8 cd $BLDBASEDIR/mozcdict-ext echo "Generating extra dictionaries..." ( cd neologd MOZC_ID_FILE=$BLDBASEDIR/mozc/src/data/dictionary_oss/id.def zsh mkdict.zsh cd ../sudachi MOZC_ID_FILE=$BLDBASEDIR/mozc/src/data/dictionary_oss/id.def zsh mkdict.zsh ) | ruby .dev.utils/uniqword.rb 2> /dev/null >> $BLDBASEDIR/mozc/src/data/dictionary_oss/dictionary09.txt cd $BLDBASEDIR/mozc/scripts # fix libdir path of fcitx5-mozc.so for Slackware sed 's/lib/lib64/g' -i install_fcitx5_bazel #cd .. # We won't need this patch now. # Apply debian Use-Gtk3 patch # patch -p1 < $CWD/0008-renderer-Convert-Gtk2-to-Gtk3.patch cd ../.. # Copy third party deps echo "Copy third party deps ..." for dep in abseil-cpp breakpad googletest gyp protobuf japanese_usage_dictionary do cp -a $dep mozc/src/third_party/ done # build package echo "build package..." CFLAGS="${CFLAGS} -fvisibility=hidden" CXXFLAGS="${CXXFLAGS} -fvisibility=hidden" cd $BLDBASEDIR/mozc/src QT_BASE_PATH=/usr/include/qt5 bash ../scripts/build_fcitx5_bazel # Build emacs_helper echo "build emacs_helper..." bazel build unix/emacs:mozc_emacs_helper --config oss_linux --compilation_mode opt # Extract license part of mozc head -n 29 server/mozc_server.cc > LICENSE export PREFIX="$PKG/usr" export _bldtype bash ../scripts/install_server_bazel install -d "$PKG/usr/share/licenses/${PRGNAM}/" install -m 644 LICENSE data/installer/*.html "$PKG/usr/share/licenses/${PRGNAM}/" install -d "${PREFIX}/share/fcitx5/addon" install -d "${PREFIX}/share/fcitx5/inputmethod" install -d "${PREFIX}/lib${LIBDIRSUFFIX}/fcitx5" bash ../scripts/install_fcitx5_bazel # Install icons at /usr/share/fcitx5 install -d "${PREFIX}/share/fcitx5/mozc/icon" install -D -m 644 data/images/product_icon_32bpp-128.png "${PREFIX}/share/fcitx5/mozc/icon/mozc.png" install -D -m 644 ../scripts/icons/ui-alpha_full.png "${PREFIX}/share/fcitx5/mozc/icon/mozc-alpha_full.png" install -D -m 644 ../scripts/icons/ui-alpha_half.png "${PREFIX}/share/fcitx5/mozc/icon/mozc-alpha_half.png" install -D -m 644 ../scripts/icons/ui-direct.png "${PREFIX}/share/fcitx5/mozc/icon/mozc-direct.png" install -D -m 644 ../scripts/icons/ui-hiragana.png "${PREFIX}/share/fcitx5/mozc/icon/mozc-hiragana.png" install -D -m 644 ../scripts/icons/ui-katakana_full.png "${PREFIX}/share/fcitx5/mozc/icon/mozc-katakana_full.png" install -D -m 644 ../scripts/icons/ui-katakana_half.png "${PREFIX}/share/fcitx5/mozc/icon/mozc-katakana_half.png" install -D -m 644 ../scripts/icons/ui-dictionary.png "${PREFIX}/share/fcitx5/mozc/icon/mozc-dictionary.png" install -D -m 644 ../scripts/icons/ui-properties.png "${PREFIX}/share/fcitx5/mozc/icon/mozc-properties.png" install -D -m 644 ../scripts/icons/ui-tool.png "${PREFIX}/share/fcitx5/mozc/icon/mozc-tool.png" find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION # Install emacs_helper and documents install -Dm644 ../LICENSE $PKG/usr/share/licenses/emacs-mozc/LICENSE install -Dm644 data/installer/credits_en.html $PKG/usr/doc/$PRGNAM-$VERSION/credits_en.html install -Dm755 bazel-bin/unix/emacs/mozc_emacs_helper $PKG/usr/bin/mozc_emacs_helper install -Dm644 unix/emacs/mozc.el $PKG/usr/share/emacs/site-lisp/mozc.el cp $CWD/init.el_mozc $CWD/README.emacs $PKG/usr/doc/$PRGNAM-$VERSION/ # cp $CWD/fetch_fcitx5-mozc_sources.sh $PKG/usr/doc/$PRGNAM-$VERSION/ cp $CWD/$PRGNAM.SlackBuild $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild # remove unneeded doc directory rm -rf $PKG/usr/doc/mozc mkdir -p $PKG/install # install slack-desc cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh cd $PKG /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE |
init.el_mozc
[code]
(set-language-environment "Japanese") (require 'mozc) ; or (load-file "/usr/share/emacs/site-lisp/emacs-mozc/mozc.el") (setq default-input-method "japanese-mozc") (setq mozc-candidate-style 'overlay) |
README.emacs
[code]
# for emacs, create {HOME}/.emacs.d/init.el with followng lines (require 'mozc) ; or (load-file "/path/to/mozc.el") (setq default-input-method "japanese-mozc") (setq mozc-candidate-style 'overlay) |
doinst.sh
[code]
if [ -x /usr/bin/update-desktop-database ]; then /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 fi if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then if [ -x /usr/bin/gtk-update-icon-cache ]; then /usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1 fi fi if [ -x usr/bin/update-gtk-immodules ]; then chroot . /usr/bin/update-gtk-immodules --verbose 1>/dev/null fi |
slack-desc
[code]
# HOW TO EDIT THIS FILE: # The "handy ruler" below makes it easier to edit a package description. # Line up the first '|' above the ':' following the base package name, and # the '|' on the right side marks the last column you can put a character in. # You must make exactly 11 lines for the formatting to be correct. It's also # customary to leave one space after the ':' except on otherwise blank lines. |-----handy-ruler------------------------------------------------------| fcitx5-mozc: fcitx5-mozc (Mozc engine for fcitx5) fcitx5-mozc: fcitx5-mozc: fcitx5-mozc is Mozc, Japanese input method editor, engine for fcitx5. fcitx5-mozc: fcitx5-mozc: Homepage: https://fcitx-im.org fcitx5-mozc: fcitx5-mozc: fcitx5-mozc: fcitx5-mozc: fcitx5-mozc: fcitx5-mozc: |
fcitx5-mozc.info of Version-2.28.5085.102.1 (2jw)
[code]
PRGNAM="fcitx5-mozc" VERSION="2.28.5085.102.1" HOMEPAGE="https://github.com/fcitx/mozc/" DOWNLOAD="https://github.com/fcitx/mozc/archive/589e80577b2f49212fd912b65d30e32572ad1f1f/mozc-589e80577b2f49212fd912b65d30e32572ad1f1f.zip https://github.com/chromium/gyp/archive/caa60026e223fc501e8b337fd5086ece4028b1c6/gyp-caa60026e223fc501e8b337fd5086ece4028b1c6.zip https://github.com/protocolbuffers/protobuf/archive/b5a35bcc7e4cc4ff00eb105449b300fca3a8b0d2/protobuf-b5a35bcc7e4cc4ff00eb105449b300fca3a8b0d2.zip https://github.com/abseil/abseil-cpp/archive/20230125.2/abseil-cpp-20230125.2.zip https://github.com/google/breakpad/archive/v2023.01.27/breakpad-2023.01.27.zip https://github.com/google/googletest/archive/703bd9caab50b139428cea1aaff9974ebee5742e/googletest-703bd9caab50b139428cea1aaff9974ebee5742e.zip https://github.com/hiroyuki-komatsu/japanese-usage-dictionary/archive/e5b3425575734c323e1d947009dd74709437b684/japanese-usage-dictionary-e5b3425575734c323e1d947009dd74709437b684.zip https://download.fcitx-im.org/fcitx-mozc/fcitx-mozc-icon.tar.gz https://github.com/reasonset/mozcdict-ext/archive/1041a9ca03e48b29873d950c9ea19de70fde1139/mozcdict-ext-1041a9ca03e48b29873d950c9ea19de70fde1139.zip" MD5SUM="3a5eb03168ef8c215e18c83c35c11cdf 699c5af5c6d7e19835afb5292d151f91 d79cbe4e2033c967a58e2bddaa6d4aa2 94ebd9ba64df55d2d36c9c1a9036f03c 124a7c0c3e479b1d804bc49ef21ba625 768da4173ee9df3248b8f828747982ad a6eb1da9ad7ceffcb9683003332abf7e 80fe2ef127b70649df22d133822ac8a7 881191393dd7547bd7973fe3106b663c" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="bazel" MAINTAINER="" EMAIL="" |
引き続き更新予定