During package builds on Debian servers the build often failed
with an error related to X11 when running the tests. This change
skips the tests in `linux/ibus-keyman/src/test` when building
packages, similar to the way we already do it for the tests in
`linux/ibus-keyman/tests`.
- fix debug output in case surrounding-text is not supported
- conditionally set prefilter flag if ibus supports it. We can now
uncomment the check because beta branch got merged which added the
variable to autotools.
This change adds the upstream changes to ibusimcontext.c to our
test ibusimcontext.c file up to commit
506ac9993d5166196b7c4e9bfa9fb0f9d3792ffa plus our two prefilter
commits.
- set keyboard options in a call to `km_kbp_state_options_update`
separate from setting the environment options
- output status value if method fails
- if any of the methods fails we now return NULL
- split setting the options in multiple methods
Fixes#7717.
This refactoring makes use of the already defined strings.
It also simplifies setting the values by directly specifying an
UTF-16 string.
Motivated by the changes in PR #7667.
(cherry picked from commit 31340b5b51)
This fixes some deprecation warnings:
- "The macro `AC_GNU_SOURCE' is obsolete"
- "The macro `AM_DISABLE_STATIC' is obsolete"
- "The macro `AC_ISC_POSIX' is obsolete"
- "The macro `AC_HEADER_STDC' is obsolete"
- "The macro `AM_PROG_LIBTOOL' is obsolete"
This change makes it possible to compile even when the updated
ibus version is not installed. Of course ordered output won't work
in that case, but at least it will compile and the rest of Keyman
will work.
Fixes#7774.
This reverts commit acab920de8.
I'm confused - now we're getting the same warning again - claiming
that `size_t` is defined as `long unsigned int` and so we have to
use `%lu`!? Is this related to the platform we're compiling on?
This time, the warning we get is when compiling for x86_64:
```
engine.c: In function ‘get_current_context_text’:
engine.c:224:15: warning: format ‘%u’ expects argument of type ‘unsigned int’, but argument 5 has type ‘size_t’ {aka ‘long unsigned int’} [-Wformat=]
224 | g_message("%s: current context is:%u:%lu:%s:", __FUNCTION__, km_kbp_context_length(context), buf_size, current_context_utf8);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| size_t {aka long unsigned int}
engine.c:224:40: note: format string is defined here
224 | g_message("%s: current context is:%u:%lu:%s:", __FUNCTION__, km_kbp_context_length(context), buf_size, current_context_utf8);
| ~^
| |
| unsigned int
| %lu
```
Reverting the previous fix for now.
Debian/lintian recommends to add a symbols file which allows to
check for API changes. The package build on Jenkins now has an
additional build step that will compare the API of the newly
built package with the committed symbols file and will fail the
build if the API changed and we didn't update the symbols file
yet. The current symbols file gets stored as build artifact, so
it can easily be copied from Jenkins.
During the build of the binary package this check is also run but
won't fail the build.
This change outputs a warning if the user tries to install a
keyboard (to his home directory) and the keyboard is already
installed in the shared area, and vice versa.
This change adds a `--bcp47 <TAG>` parameter to km-package-install.
This allows to specify a language tag which will be used to install
the keyboard for that language.
Closes#7725.