Subject: mozc is not compiled on all little-endian platforms, should it be?

From: Simon McVittie <[email-masked]>
Date: Sun, 5 Mar 2023 13:22:34 +0000

Source: mozc
Version: 2.28.4715.102+dfsg-2.2
Severity: normal

From discussion on #1029821, it seems that mozc only supports little-endian
CPU architectures (for example i386 and arm64) and does not support
big-endian CPU architectures (for example powerpc and s390x).

At the moment, mozc is only compiled on some little-endian architectures:

* amd64
* arm64
* armel
* armhf,
* i386
* riscv64

but not on others, such as:

* mips64el
* mipsel
* ppc64el
* hurd-i386
* kfreebsd-amd64
* kfreebsd-i386
* sh4 (?)
* x32

Should mozc be compiled on *all* little-endian architectures, or are there
other reasons why it needs to be restricted to a subset of them?

If the intention is to compile mozc on all little-endian platforms, the
easiest way is probably:

    # debian/control
    ...
    Build-Depends: ..., architecture-is-little-endian, ...

    ...

    Package: ibus-mozc
    Architecture: any
    ...

    Package: uim-mozc
    Architecture: any
    ...

and so on, so that it builds successfully on all LE architectures (past,
present and future) but is BD-Uninstallable on all BE architectures.

If we change GNOME's idea of the default input method for Japanese locales
from anthy to mozc as requested in #1029821, then any changes here might
need to be coordinated with src:gnome-desktop (although I'm investigating
whether we can make that decision dynamically at runtime). Please keep
the GNOME team informed on what happens here.

Thanks,
    smcv