UbuntuでMozcの新しいバージョンをビルドするには
UbuntuでMozcをビルド
Mozcは言わずとしれた、日本語入力のためのソフトウェアです。
Ubuntu:23.10(mantic),Debian:12(bookworm)で、Mozcをgitリポジトリのソースからビルドしてみます。(Ubuntu:23.04(lunar)は下記のDebianと同じ手順でビルドできると思います。)
公式のgit版ソース[1]では、ibus-mozcのgypでのビルドが取り除かれたため、bazelでのビルドになります。Ubuntuのbazel-bootstrapパッケージでは、バージョンが古いのでビルドできません。新しいbazelをビルドしようとしてもbazelのバージョンが古いため、bazelを用いたビルドは無理でした。
新しいバージョンのbazelを別途、用意します。
bazelのインストール
-
bazelのバージョン7.3.2をバイナリインストール[2]します。
Linux版の7.3.2が出ています。
(bazelのオプションに--noenable_bzlmodを使えば、古いバージョンのbazelでもビルドできるかもしれません。)aria2c -c https://github.com/bazelbuild/bazel/releases/download/7.3.2/bazel-7.3.2-installer-linux-x86_64.sh bash bazel-7.3.2-installer-linux-x86_64.sh --user source ~/.bazel/bin/bazel-complete.bash export PATH="$PATH:$HOME/bin" bazel --version
bazel 7.3.2
-
bazelを使わないで、ソースからbazelをビルドする場合。[3]
bazel-${version}-dist.zipをダウンロードして、ビルドします。
TMPDIRを設定しているのは、/tmpが小さい場合の対策です。sudo apt-get install build-essential python3 zip unzip default-jdk-headless wget https://github.com/bazelbuild/bazel/releases/download/7.3.2/bazel-7.3.2-dist.zip unzip -d bazel-src bazel-7.3.2-dist.zip cd bazel-src mkdir -p ~/.tmp env EXTRA_BAZEL_ARGS="--tool_java_runtime_version=local_jdk" TMPDIR=~/.tmp bash ./compile.sh sudo cp output/bazel /usr/local/bin bazel --version
bazel 7.3.2- (@non-git)
-
カスタムAPTレポジトリを追加する
sudo apt-get install apt-transport-https curl gnupg -y curl -fsSL https://bazel.build/bazel-release.pub.gpg | gpg --dearmor >bazel-archive-keyring.gpg sudo mv bazel-archive-keyring.gpg /usr/share/keyrings echo "deb [arch=amd64 signed-by=/usr/share/keyrings/bazel-archive-keyring.gpg] https://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list sudo apt-get update sudo apt-get install -y bazel bazel --version
-
ラッパーのbazeliskをインストール
sudo curl -Lo /usr/local/bin/bazel https://github.com/bazelbuild/bazelisk/releases/download/v1.22.0/bazelisk-linux-amd64 sudo chmod +x /usr/local/bin/bazel bazel --version
ビルドに必要なパッケージの取得
ソースパッケージのダウンロードを有効にしておきます。
Debianの場合は、/etc/apt/sources.list.d/debian.sources
のTypesにdeb-srcを加えて、apt-get update
しておきます。
Ubuntuの場合は、/etc/apt/sources.list
のdeb-srcのコメントアウトを取り除いて、apt-get update
しておけばOKです。
Ubuntu-24.04(noble)の場合は、/etc/apt/sources.list.d/ubuntu.sources
のTypesにdeb-srcを加えて、apt-get update
しておきます。
sudo apt-get build-dep mozc
sudo apt-get install qt6ct qt6-base-dev libfcitx5-qt6-dev
Ubuntu:manticコンテナなどで一から導入する場合。
apt-get update
apt-get install -y sudo apt-utils wget
sudo sed 's/^.*deb-src /deb-src /' -i /etc/apt/sources.list
sudo apt-get update
sudo apt-get build-dep -y mozc
sudo apt-get install -y build-essential dpkg-dev make git qt6ct qt6-base-dev libfcitx5-qt6-dev curl unzip
Ubuntu:nobleコンテナなどで一から導入する場合。
apt-get update
apt-get install -y sudo apt-utils wget
sudo sed 's/Types: deb *$/Types: deb deb-src/' -i /etc/apt/sources.list.d/ubuntu.sources
sudo apt-get update
sudo apt-get build-dep -y mozc
sudo apt-get install -y build-essential dpkg-dev make git qt6ct qt6-base-dev libfcitx5-qt6-dev curl unzip
Mozcの最新版ソースを取得
debパッケージを作るのに必要なファイルだけを別レポジトリに用意しました。
mkdir -p build
cd build
git clone --recursive --filter=tree:0 https://github.com/google/mozc.git mozc
git clone --filter=tree:0 -b main https://github.com/phoepsilonix/mozc-deb.git mozc-deb
ビルド
cd mozc
cp -a ../mozc-deb/debian ./
ls debian/patches/*.patch|xargs -n1 patch -p1 -i
fakeroot debian/rules binary
パッチをあてたうえで、fakeroot debian/rules binary
を使って、ビルドしています。
無事終わったら、ひとつ上のディレクトリにパッケージが作成されます。
パッチの微修正が終わったので、次のコマンドでもバイナリパッケージは作成できるかと思います。
cd mozc
cp -a ../mozc-deb/debian ./
dpkg-buildpackage -b --no-sign
ls ../*.deb
インストール
ibus-mozcの設定ファイルを削除しておきます。
削除しておけば、mozc_rendererの設定値が新しく書き出されるようです。
個人的にカスタマイズを行っている人はバックアップしておいてください。
rm ~/.config/mozc/ibus_config.textproto
作成したパッケージを手動インストールします。
cd ..
sudo dpkg -i mozc-data*.deb mozc-server*.deb mozc-utils-gui*.deb ibus-mozc*.deb
sudo apt-get --fix-broken install
sudo dpkg -i mozc-data*.deb mozc-server*.deb mozc-utils-gui*.deb ibus-mozc*.deb
ibus restart
fcitx5-mozcの場合には、ibus-mozc*.debの部分を、fcitx5-mozc*.deb
に置き換えてください。
またアイコンが含まれるfcitx-mozc-dataパッケージもインストールしてください。
sudo dpkg -i mozc-data*.deb mozc-server*.deb mozc-utils-gui*.deb fcitx5-mozc*.deb fcitx-mozc-data_*.deb
sudo apt-get --fix-broken install
sudo dpkg -i mozc-data*.deb mozc-server*.deb mozc-utils-gui*.deb fcitx5-mozc*.deb fcitx-mozc-data_*.deb
入力例
waylandでも用例表示が行われました。
不要パッケージのアンインストール
次のコマンドで、ビルドのためにインストールしたパッケージをアンインストールできると思います。
sudo apt-get autoremove
説明
上記のレポジトリでは、apt-get source mozcで入手できるパッケージソースをベースに以下の修正を行っています。
1. debian/rules
fcitxも含めて、bazelでビルドをするように修正しています。uimはターゲットから削除しています。
デバッグ情報やbuild-idの形式でパッケージング時にエラーがでるため、CFLAGS、CXXFLAGS、LDFLAGSを調整しています。これに関連してbazelコマンドにlinkoptをつけないとLDFLAGSが反映されませんでしたので、その点も調整しました。
- CFLAGS,CXXFLAGSに
-gdwarf-4
を追加。 - LDFLAGSに
-Wl,--build-id=sha1
を追加。 - bazelに
--linkopt "$(LDFLAGS)"
オプションを指定。 - bazelに--copt,--cxxoptも追加。CPPFLAGSを加えるとredifinitionエラーになります。
- Ubuntuでは標準でltoが有効になっていますが、無効にしました。gcc,clangどちらでもビルドできるかと思います。
- bazel-7.3系以降、--linkoptは一つの項目のみ受け付けるように変更されたので、それに伴う修正。
ifeq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes), yes)
export DEB_BUILD_MAINT_OPTIONS += optimize=-lto
endif
CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS)
CFLAGS:=$(shell dpkg-buildflags --get CFLAGS) $(CPPFLAGS) -fPIE -gdwarf-4 -fPIC
CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS) $(CPPFLAGS) -fPIE -gdwarf-4 -fPIC
LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS) -Wl,--as-needed -Wl,--build-id=sha1
BAZEL_LDFLAGS:=$(shell echo $(LDFLAGS)|xargs -n1 echo "--linkopt")
BAZEL_CFLAGS:=$(shell echo $(shell dpkg-buildflags --get CFLAGS) -fPIE -gdwarf-4 -fPIC|xargs -n1 echo "--copt")
BAZEL_CXXFLAGS:=$(shell echo $(shell dpkg-buildflags --get CXXFLAGS) -fPIE -gdwarf-4 -fPIC|xargs -n1 echo "--cxxopt")
bazel build $(TARGET_STATIC) --config oss_linux --config release_build $(BAZEL_LDFLAGS) $(BAZEL_CFLAGS) $(BAZEL_CXXFLAGS)
bazel build $(TARGETS) $(TARGET_FCITX5) $(TARGET_FCITX) --config oss_linux --config release_build $(BAZEL_LDFLAGS) $(BAZEL_CFLAGS) $(BAZEL_CXXFLAGS)
2. installファイル
gypはout_linux、bazelはbazel-binに、コンパイルされたファイルができるので、その違いを反映しました。
fcitxもbazelビルドに切り替えました。またfcitxの言語別のメッセージファイルも増えていましたので追加しました。
3. patchファイル
fcitx,fcitx5のパッチは、元々配布されているパッケージとほぼ同じ中身のパッチだと思います。
fcitx-mozcレポジトリ[4]で、gitコマンドで生成したものに、置き換えています。
アイコンとアイコン以外の2つのパッチファイルに分けている理由は、パッチに修正を加えた場合、エディタによってアイコンのバイナリ部分も変更されてしまう場合があり、その場合、アイコン画像として壊れてしまうからです。
git clone --filter=tree:0 --no-single-branch https://github.com/fcitx/mozc.git fcitx-mozc
cd fcitx-mozc
git diff origin/master..origin/fcitx --text --binary -- ':!scripts/icons/*' ':!.github/*' ':!.*' > 0001-Support-fcitx.patch
git diff origin/master..origin/fcitx --text --binary -- 'scripts/icons/*' > 0002-fcitx5-icon.patch
それに加えてビルド時にエラーを出さないため、いくつかパッチを追加しています。(gcc,clangのどちらでもビルドできるように、一応配慮してみました。)
上記に加えて、私の出したPR(pull request)の65の修正も取り込んでいます。
wget https://github.com/fcitx/mozc/pull/65.patch
65.patch(debian/patches/0003-fcitx-bazel.patch
)は、fcitx-mozcをビルドするための修正パッチです。fcitxは、現在はfcitx5に開発が移行しており、基本的にメンテナンス外となっており、それを補うためのパッチとなっています。変更箇所は、Mozc本体のログ関連のヘッダ変更の追従や、gypだけでなく、bazelでのビルドも可能にする修正パッチとなっています。
これらが、Ubuntu/manticのパッケージソースとの相違点です。
Debianでもビルド
debian/bookworm向けにも用意してみました。
bazelは上記の手順で別途同様にインストールしておきましょう。
sudo apt-get build-dep mozc
sudo apt-get install qt6ct qt6-base-dev libfcitx5-qt6-dev
もしもパッケージが不足していたら、下記パッケージもチェックしてみてください。
sudo apt-get install libfcitx5core-dev libfcitx5utils-dev fcitx5-modules-dev libfcitx5core-dev libfcitx5config-dev
Debian:bookwormコンテナなどで一からインストールする場合、下記コマンドで必要なパッケージが揃うと思います。(githubのDebian:bookwormのコンテナで、動作確認済み。)
apt-get update
apt-get install sudo apt-utils wget
sudo sed 's/Types: deb *$/Types: deb deb-src/' -i /etc/apt/sources.list.d/debian.sources
sudo apt-get update
sudo apt-get build-dep mozc
sudo apt-get install build-essential dpkg-dev make git qt6ct qt6-base-dev libfcitx5-qt6-dev curl unzip
パッチについては、fcitxのバージョンがUbuntuとは異なるので、パッチが若干異なっています。
diff --git a/debian/patches/0001-Support-fcitx.patch b/debian/patches/0001-Support-fcitx.patch
index 15e0110e0..3ee64052f 100644
--- a/debian/patches/0001-Support-fcitx.patch
+++ b/debian/patches/0001-Support-fcitx.patch
@@ -6279,14 +6279,14 @@ index 000000000..7e3e78d61
+ toolMenu_.addAction(&aboutAction_);
+
+ toolAction_.setMenu(&toolMenu_);
-+
++/*
+ globalConfigReloadHandle_ =
+ instance_->watchEvent(EventType::GlobalConfigReloaded,
+ EventWatcherPhase::Default, [this](Event &) {
+ ResetClientPool();
+ return true;
+ });
-+
++*/
+ reloadConfig();
+}
+
ビルド手順は、Ubuntuの手順と基本的に同じになるはずです。
distrobox + podman のDeiban:12環境でもビルドを行いました。
Debian/bookwormでも、ビルドできるようになっていると思います。
Ubuntu:23.04(lunar)も、こちらのブランチを使えばビルド可能だと思います。
mkdir -p build
cd build
git clone --recursive --filter=tree:0 https://github.com/google/mozc.git mozc
git clone --filter=tree:0 -b main https://github.com/phoepsilonix/mozc-deb.git mozc-deb
cd mozc
cp -a ../mozc-deb/debian ./
patch -p1 -i ../mozc-deb/debian-12.patch
ls debian/patches/*.patch|xargs -n1 patch -p1 -i
fakeroot debian/rules binary
または
mkdir -p build
cd build
git clone --recursive --filter=tree:0 https://github.com/google/mozc.git mozc
git clone --filter=tree:0 -b main https://github.com/phoepsilonix/mozc-deb.git mozc-deb
cd mozc
cp -a ../mozc-deb/debian ./
patch -p1 -i ../mozc-deb/debian-12.patch
dpkg-buildpackage -b --no-sign
あらかじめibus-mozcの設定ファイルを削除しておきます。削除しておけば、mozc_rendererの設定値が新しく書き出されるようです。
キーの入れ替えなど、独自設定を行っている場合には、バックアップしておいて、後で修正してください。
rm ~/.config/mozc/ibus_config.textproto
ビルドした新しいバージョンのパッケージを手動インストール。
cd ..
sudo dpkg -i mozc-data*.deb mozc-server*.deb mozc-utils-gui*.deb ibus-mozc*.deb
sudo apt-get --fix-broken install
sudo dpkg -i mozc-data*.deb mozc-server*.deb mozc-utils-gui*.deb ibus-mozc*.deb
ibus restart
fcitx5-mozcの場合には、ibus-mozc*.debの部分を、fcitx5-mozc*.deb
に置き換えてください。
またアイコンが含まれるfcitx-mozc-dataパッケージもインストールしてください。
sudo dpkg -i mozc-data*.deb mozc-server*.deb mozc-utils-gui*.deb fcitx5-mozc*.deb fcitx-mozc-data_*.deb
sudo apt-get --fix-broken install
sudo dpkg -i mozc-data*.deb mozc-server*.deb mozc-utils-gui*.deb fcitx5-mozc*.deb fcitx-mozc-data_*.deb
ibusで用いるキーボードの配列とmozcを追加しておきます、
ibus-setup
環境変数の設定について
ibus-mozcを使う場合、GNOME(Wayland)では、設定しないほうが良いので、im-configをアンインストールします。
- fcitx5-mozcではim-configを使ったほうが良さそうです。
- purgeを指定しないと、設定ファイルが残されるため、環境変数が設定されてしまいます。
sudo apt-get purge im-config
X11などデスクトップ環境によっては、環境変数を設定しておくほうが良い場合があるかもしれません。
その場合には、im-configを用いて、InputMethodとしてibusを用いることを指定しておきます。
sudo apt-get install im-config
im-config -n ibus
im-configで環境変数も設定されるようです。(GNOME,KDEなど、デスクトップ環境によって、別の手順が必要になる場合もあるかもしれません。)
ただしGNOMEの設定画面など、それぞれのデスクトップ環境が用意している設定画面で指定したほうが、無難かもしれません。
ログアウトまたは再起動で、設定が反映されます。
ライトモード推奨です。
ダークスタイルのテーマを利用すると、変換候補の文字が配色的に見えにくくなる場合があります。(見えにくくなった場合には、テーマをライトテーマに戻したうえで、ibus restart
コマンドを実行してみてください。)
カスタムフォント指定について
変換候補の窓に表示されるフォントのサイズや種類を変更したい場合、デスクトップ環境によって対応が異なります。
GNOME環境の場合、Ibus-Mozcについては変換候補のフォントの種類やサイズを指定するibus setupのカスタムフォントの設定が、反映されない場合があります。ibus setupよりもGNOME固有の機能が優先されているようです。GNOMEが機能としても持っているアクセシビリティのための文字サイズの倍率などはGNOME Tweaksやgsettingsコマンドを用いればサイズ変更は可能です。ただ変換候補の窓に表示される文字のカスタムフォント指定やIbusのテーマ設定などは、customize Ibusなどの拡張機能を用いても、反映されない場合があります。なおFcitx5-Mozcであれば拡張機能のInput Method Panel(gnome-extension-kimpanel)を用いることで、変換候補の窓に表示されるフォントの種類やサイズを変更可能です。
GNOME以外のデスクトップ環境では、ibus setupの設定が有効な環境もあると思いますので、それぞれの環境に応じて、色々と試してみてください。
flatpakアプリケーションと環境変数
flatpakアプリケーションにも環境変数を渡すこと可能です。[5][6][7]
アプリケーションによって、うまく動かない場合があれば、試してみるのも手でしょう。
ibus
sudo flatpak --system override --env="GTK_IM_MODULE=ibus QT_IM_MODULE=ibus XMODIFIERS='@im=ibus'"
fcitx
sudo flatpak --system override --env="GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS='@im=fcitx'"
Wayland対応
flatpak --user override --socket=wayland
GTK Themeの変更
sudo flatpak override --filesystem=$HOME/.themes
sudo flatpak override --env=GTK_THEME=chosen-theme
overrideの取り消し
sudo flatpak override --reset
感想
上記の手順で作成したパッケージを試してみました。
入力自体は、Flatpak版のブラウザでも問題ありませんでした。
mozc_rendererのenbaledをTrueにしておくと用例表示が行われます。
Waylandでも問題なく、用例表示が行われました。
もしもダークスタイルで変換候補の文字の色が見にくい場合は、一旦ダークスタイルをオフにして、ibus restart
してみてください。
またFalseにすると、用例表示はされないですが、テーマによる配色の問題などは起きないと思います。
ライトテーマ推奨です。
# This settings are available in 2.29.5205 and later versions
mozc_renderer {
enabled : True
compatible_wayland_desktop_names : ["GNOME"]
}
fcitx5-mozcも、比較的見やすかったです。
用例表示は、候補のフォーカスがあたっている単語のみですが、一応、表示されますので、便利です。またGNOME拡張機能をインストールすれば、見やすさが変わるかもしれません。お好みで導入してみましょう。
付記
最新のMozcソースはqt6を利用しています。
Ubuntu/jammyなどでは、おそらくfcitx5のqt6のヘッダがないため、ビルド時にエラーがでます。
fcitx5のパッケージが古い場合には、ビルドがそのままではできないと思います。
Ubuntu/mantic、Debian/bookwormでは、上記のレポジトリを使えば、ビルドできるかと思います。
Ubuntu,Debianのbazelのパッケージが更新され、ビルドがしやすくなるといいですね。
もちろん古いバージョンのままのパッケージであっても、日本語入力環境としては、十分、機能しているわけですし、必ずしも新しいバージョンにする必要はないとは思います。
ただibus-mozcの用例表示が充実してきたなら、waylandでも用例表示が行えるようになっているようですから、新しいバージョンにしたいなと思うかもしれませんね。
メンテナの方々、これからも頑張ってください。
付記2
flatpak-fcitx5
flatpak版のfcitx5-mozcが動作する環境は多いと思われます。
マイナーなディストリビューションでも、flatpakに対応していたら、日本語入力は可能になることでしょう。
安定版も比較的バージョンが新しいです。
unstable版のインストールは下記を参照してください。
安定版
安定版を利用する場合は、flatpakコマンドでインストールして、
flatpak install org.fcitx.Fcitx5 org.fcitx.Fcitx5.Addon.Mozc
ログイン時に、
flatpak run org.fcitx.Fcitx5
を自動起動するように、設定しておけばOKです。
自動起動の設定例
ls /var/lib/flatpak/app/org.fcitx.Fcitx5/x86_64/stable/active/files/share/applications/org.fcitx.Fcitx5.desktop
mkdir -p ~/.config/autostart
cp /var/lib/flatpak/app/org.fcitx.Fcitx5/x86_64/stable/active/files/share/applications/org.fcitx.Fcitx5.desktop ~/.config/autostart/
sed -i "s|Exec=.*|Exec=/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=/app/bin/fcitx5 org.fcitx.Fcitx5|" ~/.config/autostart/org.fcitx.Fcitx5.desktop
GNOMEの場合
GNOME(Wayland)では、Input Method Panel(gnome-extension-kimpanel)を導入することで、GNOMEのアプリケーション一覧を検索する場合などでも、変換候補の窓が表示されるようになるようです。また変換候補の表示フォントの種類やサイズの指定もできるので便利です。
GNOMEの拡張機能を管理するソフトを導入して、設定しましょう。
拡張機能の管理ソフトで直接インストールできない場合には、Webブラウザからインストールする形になります。
Flatpak版(非公式)
こちらの拡張機能の管理ソフトは拡張機能を検索して、インストールすることができるようです。
flatpak install com.mattjakeman.ExtensionManager
Ubuntu(APT)
sudo apt install gnome-shell-extension-manager
flatpak版gnome公式
flatpak install org.gnome.Extensions
その他
flatpak自体の導入は、Ubuntu Quick Setup,Debian Quick Setupを参考にしてください。
もしもMozcに郵便番号辞書が組み込まれていない場合には、郵便番号辞書Mozcユーザー辞書形式も活用できます。
ダウンロードしたファイルの圧縮を解除して出てくるuser_dic-japanese-zip-code-ken-01.txt
,user_dic-japanese-zip-code-jigyosyo-01.txt
をユーザー辞書に取り込んでください。
wget https://github.com/phoepsilonix/japanese-zip-code-dictionary/releases/download/20241005/user_dic-japanese-zip-code.tar.xz
tar xf user_dic-japanese-zip-code.tar.xz
SudachiDictをベースにMozc辞書形式に変換したものは、下記にあります。
mozcdic-ut-sudachidict
wget https://github.com/phoepsilonix/mozcdic-ut-sudachidict/releases/download/20230927/user_dic-ut-sudachidict.tar.xz
tar xf user_dic-ut-sudachidict.tar.xz
カラー絵文字
変換候補の絵文字表示が、一部の環境下で白黒絵文字(Dejavu Sans)が優先される場合があるようです。
Noto Color Emojiなどを優先したい場合には、いくつかの対処法があります。
- font manager[8]で無効にする
font managerでDejavu Sansのチェックを外し、無効化します。sudo apt install font-manager
- fonts-dejavu-coreメタパッケージを削除する。
sudo apt-get purge fonts-dejavu-core
- fontconfigの設定ファイルを用意して、絵文字を優先させる。
mkdir -p ~/.config/fontconfig/conf.d
~/.config/fontconfig/conf.d/50-color-emoji.conf<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <alias> <family>serif</family> <prefer> <family>system-ui</family> <family>emoji</family> </prefer> </alias> <alias> <family>sans-serif</family> <prefer> <family>system-ui</family> <family>emoji</family> </prefer> </alias> <alias> <family>monospace</family> <prefer> <family>system-ui</family> <family>emoji</family> </prefer> </alias> </fontconfig>
~/.config/fontconfig/conf.d/50-color-emoji.conf
ファイルを作成して、次のコマンドを実行してみてください。fc-cache -vf ibus restart
- ibus-mozcのmozc_rendererをオフにする。
以下、駄文。
なんとなくですがibus-mozc、fcitx5-mozcが、現状、広く使われている日本語入力環境ではないでしょうか?
Ubuntu,DebianのMozcは比較的バージョンが古めではあります。ただ十分、機能はあるといえます。
もしもの潜在的な問題があった場合の修正や、新機能が追加されたときに追従されるかは、正直わかりません。
flatpakを導入すれば、flatpak版のfcitx5のアドオンでMozcが動作します。そちらならば特定のディストリビューションに縛られないので、比較的、新しいバージョンの提供が期待できるでしょう。
flatpak版fcitx5は自動化も進めて、メンテナンスコストを下げているみたいなので、しばらくは新しいバージョンのMozcを提供してくれる存在として、活躍するのではと思います。(特にマイナーディストリビューションにおいて)(flatpak版のIbusは敷居が高そうです。)
とはいえ、言語入力は基本的な機能ですから、標準的なパッケージに含まれていることが望ましいことには変わりありません。
私自身はDebian、Ubuntuのメンテナーの流儀や文化がわからないし、時間がたくさんかかりそうなので、パッケージ化を働きかけるのは、難しいです。
必要そうなことは、おおまかに3点あるのだろうと思います。
ビルドに必要なbazelパッケージをbazel-bootstrapとは別に作成してもらうこと。
そして思い切って過去のパッチの積み重ねからジャンプして、新しく新規に仕切り直すことを提案して、受け入れてもらうこと、ではないかと愚考しています。依存関係のあるサブモジュールのパッケージも含めてです。(Qt6関係のパッケージはすでにあるみたいなので、難しくはないでしょう。)
そして仕切り直したあとにメンテナーが存在することが3点目。(今もいらっしゃるでしょうが、具体的な動きを未確認なので、状況を存じ上げません。)
一年に数回でも、継続的に、更新を確認することができたなら、新しいバージョンの導入体制を維持できるのではないかと思います。
個人的には現状、Manjaroを使っていますので、そちらで困ることはありません。また他のマイナーな環境下でも、どうにかなりそうなので、動機づけが低いのです。
ただUbuntuはカスタマイズやチューニングなど、いろんな面で秀でているとは思うし、Debianは古き良き環境を守ってくれていて、それをベースに様々な派生もあります。それらも素晴らしいことではあります。だから、標準で新しいバージョンも使えるなら、なお嬉しく思います。
ディストリビューターやメンテナーとしては、ライセンス的にも機能的にも安心できるソースを自分たちの管理下のレポジトリに、置いておきたいのでしょう。またパッケージを分割することも、メンテナンスコストはかかりますが、メリットがあることも理解はできます。セキュリティーへの対応も、あることでしょう。
ただ肥大化してきたレポジトリのメンテナンスは、どう考えても大仕事です。だからこそ、いろんなアプローチが生まれてきたのでしょう。
NixOSやAlpineのような路線でも、OSTree路線でも、多くの環境下で資産として使えること自体が、オープンソースの素晴らしいところだと思いますから。これからも、大勢のLinuxユーザーが、いろんな形で協力して、使える環境を維持継続していくだろうとは思います。特段大きなセキュリティ上の問題でもない限り、実用面では、現状、心配することもないので、焦ることもありませんが、Canocicalが雇ってくれて、パッケージングの権限をもしもくれるとするなら、いきなりソースの中身をジャンプアップさせるように動きますが、そんなご縁も機会もなさそうなので、すでにご縁のある方々、時間はかかるかとは思いますが、これからのご活躍に期待しております。🙏
仮置き場
Ubuntu:23.10(mantic) and Debian:12(bookworm)向けMozcパッケージ[9]
ArchLinux and ManjaroLinux向け Mozcパッケージ[10]
タグにwith-jp-dict
がついているものが、SudachiDict[11]やMeCab-unidic-neologd[12]、MeCab-ipadic-neolod[13]のデータをシステム辞書に組み込んだパッケージです。
Mozc辞書型式への変換プログラ厶[14]
その他、Mozc関連記事
大概のLinuxで使えそうな日本語入力(Flatpak版Fcitx5-Mozc)
Mozcをオフラインでビルドするには?
DockerでビルドしたMozcをUbuntu 22.04 LTSにインストールする
Ubuntu 20.04 LTS/20.10でFcitx5を使用する
Discussion