Commit graph

1806 commits

Author SHA1 Message Date
Eberhard Beilharz
29c71253db
chore(core): Update debian package to use webkit2 4.1
Ubuntu 20.04 Focal doesn't have webkit2 4.1. The API is the same as
with 4.0, so we use that if we can't find 4.1.
2024-01-24 16:47:22 +01:00
Jeremy Bícha
7ea8d9648b chore(linux): Build with webkitgtk 4.1 instead of 4.0 2024-01-23 14:40:57 -05:00
Eberhard Beilharz
15d87963b2
chore(core): Ignore C++ symbols
We have a C API, but (internal) C++ template instantiations are visible
and so get flagged by `dpkg-gensymbols`. This change ignores the one
use of C++ by marking it optional. This is listed as a usage scenario
in the dpkg-gensymbols man page.

Note this requires a change how we call dpkg-gensymbols: if the `-O`
parameter is specified, the file is not treated as being a template file
(see man deb-src-symbols) and so the tags are not interpreted.
Additionally the file gets overwritten with the non-tag version. So this
change removes the `-O` parameter, and changes the archiving of the
generated file.
2024-01-15 18:47:53 +01:00
Marc Durdin
9830f9ea24 refactor(core): use km_core_state_context_clear where possible
Relates to #10365.

Use `km_core_state_context_clear()` instead of `km_core_context_clear()`
as part of eliminating use of `km_core_state_context()`.
2024-01-12 12:05:00 +07:00
Eberhard Beilharz
9b768c57d7
refactor(linux): Use km_core_state_context_set_if_needed
Also update comment on `km_core_state_context_set_if_needed` to make it
clearer that it's expecting a UTF-16 string.

Closes #10212.
2024-01-10 18:57:41 +01:00
rc-swag
1cb288144c chore(core): Merge branch 'master' into fix/core/clear-core-context-invalidate 2023-12-19 09:13:43 +10:00
rc-swag
aef718c56b fix(core): update linux test load_source call 2023-12-15 14:05:37 +10:00
Steven R. Loomis
2c852e7530 chore(linux): docker: make emscripten version customizable
Fixes: chore(linux): script deprecation warning from nodesource #10024
2023-12-13 23:23:55 +00:00
Steven R. Loomis
bf08c73f22 chore(linux): docker: fix Node.js install, make customizable
- fix the Node.js install script deprecation
- also make items configurable such as Ubuntu version and Node version

Fixes: chore(linux): script deprecation warning from nodesource #10024
2023-12-13 18:26:01 +00:00
Eberhard Beilharz
5069d8c67b
chore(linux): Small refactoring to make it easier to read 2023-12-08 18:50:38 +01:00
Weng Xuetian
4517c03f1d
Do not restart Fcitx
1. Fcitx does not need restart to load newly installed keyman keyboard
2. Restart fcitx may cause issue on kwin/weston Wayland where input
   method have to be spawned by compositor process.
2023-12-07 13:41:21 -08:00
Eberhard Beilharz
742ae5379e
chore(linux): Update debian changelog
(cherry picked from commit e4385e284e)
2023-12-01 15:09:55 +01:00
Eberhard Beilharz
688f9f34d9
chore(linux): Add support for loong64 architecture
Closes Debian bug
[#1057134](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1057134).

(cherry picked from commit f50eccc4c0)
2023-11-30 18:01:18 +01:00
Eberhard Beilharz
fb347bba8d
chore(linux): Update debian changelog
(cherry picked from commit 97d7f3a11c)
2023-11-22 15:27:31 +01:00
Eberhard Beilharz
5badb17d4a
chore(linux): reduce number of checkouts
Addresses code review comment.
2023-11-14 10:26:29 +01:00
Eberhard Beilharz
afc63278b8
chore(linux): Address code review comments 2023-11-13 18:14:55 +01:00
Eberhard Beilharz
0967e120d3
Merge branch 'master' into chore/linux/9801_coreversion 2023-11-04 21:49:33 +07:00
Eberhard Beilharz
33eae05cb0
Merge branch 'master' into fix/linux/9878_fixpkgenv 2023-11-04 21:35:52 +07:00
Eberhard Beilharz
0667411a2e
Merge pull request #9866 from keymanapp/refactor/linux/packagingScript
chore(linux): Refactor deb-packaging.sh script 🎬
2023-11-03 10:12:54 +07:00
Eberhard Beilharz
6adfa8a9cf
fix(linux): Fix environment for Debian packages
When didn't set the correct environment when building Debian packages
with GitHub actions. The version information wasn't included in the
source file but instead was generated at binary package build time,
at which time not all necessary environment variables were available.
This change will create a patch file on-the-fly which gets
included in the source package that contains the correct information.

Fixes #9878.
2023-11-02 22:18:02 +07:00
Eberhard Beilharz
3cc016fc8a
fix(linux): Fix uninstallation of shared keyboard
This fixes the uninstallation of shared keyboards if the
`additional-keyboards` settings doesn't exist yet.

Closes #9879.
2023-10-27 19:26:35 +02:00
Eberhard Beilharz
30250e3d8d
chore(linux): Enhance GHA API check
This change adds additional checks for the symbols file:

- if a line with a method name gets changed, the package version number
  in that line also needs to be updated
- for major API changes (methods renamed or removed) the API version
  numbers needs to be incremented
- the API version numbers in the .symbols file and in `CORE_API_VERSION.md`
  need to match
2023-10-26 18:04:43 +02:00
Eberhard Beilharz
9257750bb8
chore(linux): Refactor deb-packaging.sh script
Make use of builder_run_action.
2023-10-26 17:16:06 +02:00
Marc Durdin
8223792404 chore(core): rename kbp to core 2023-10-25 05:30:22 +07:00
Eberhard Beilharz
2e5e586860
chore(linux): Rename libkmnkbp0-0 package
Also removes the temporary libkeymancore/libkmnkbp hack that we put in
for packaging GHA.

Closes #9733.
2023-10-20 17:31:39 +02:00
Eberhard Beilharz
8fce84bdc8
chore(linux): Merge branch 'chore/linux/9733_RenameLibknmkbp' into chore/linux/9733_RenameNamespace 2023-10-20 17:23:13 +02:00
Eberhard Beilharz
b16b7a7989
chore(linux): Merge remote-tracking branch 'origin/master' into chore/linux/9733_RenameLibknmkbp 2023-10-20 17:19:56 +02:00
Eberhard Beilharz
c0bef2581d
chore(linux): Fix build by adding one character 2023-10-20 17:15:41 +02:00
Eberhard Beilharz
7369b22599
chore(linux): Merge with chore/linux/9733_RenameLibknmkbp
# Conflicts:
#	core/src/debuglog.h
#	core/src/ldml/ldml_processor.cpp
#	core/src/ldml/ldml_transforms.cpp
#	core/src/ldml/ldml_transforms.hpp
#	core/tests/unit/ldml/ldml.cpp
2023-10-20 12:52:38 +02:00
Eberhard Beilharz
fdc9baadb2
chore(linux): Merge remote-tracking branch 'origin/master' into chore/linux/9733_RenameLibknmkbp 2023-10-20 12:31:14 +02:00
Eberhard Beilharz
1c639e80ea
chore(linux): Update packaging GHA
This enhances the packaging GHA to be able to verify the renamed
core library. Since the GHA packaging build always uses the action
definition from `master` this change has to land before we can
successfully build the PR that does the actual renaming of the core
library and Debian package. Later we can remove the references to
`libkmnkbp0-0` again.

Part of #9733.
2023-10-20 09:56:39 +02:00
Eberhard Beilharz
604fbc1a75
chore(linux): Rename namespace kbp to core 2023-10-19 10:39:55 +02:00
Eberhard Beilharz
52bb859817
chore(linux): Rename (lib)kmnkbp to (lib)keymancore 2023-10-19 10:35:09 +02:00
Eberhard Beilharz
09907b66e0
chore(linux): Additionally specify regular schemas path 2023-10-18 18:20:48 +02:00
Eberhard Beilharz
4a3556ca89
chore(linux): Allow to collect coverage on TC 2023-10-18 16:06:28 +02:00
Eberhard Beilharz
7b06beb7b9
Merge pull request #9781 from keymanapp/chore/linux/fixbuild
chore(linux): Fix build scripts
2023-10-18 11:38:46 +02:00
Eberhard Beilharz
2a19a2fb12
chore(linux): Fix coverage report creation for keyman-system-service
Since keyman-system-service is a dependency of ibus-keyman it gets
build when ibus-keyman gets build. However, in that case the `--coverage`
flag doesn't get passed through in which case the `coverage-html`
target is missing from ninja. This change fixes this problem by checking
if ninja has the `coverage-html` target. If not we remove the output
directory which causes the configure action to run again with the
`--coverage` option.
2023-10-18 10:32:41 +02:00
Eberhard Beilharz
536fc7e5f3
Merge pull request #9783 from keymanapp/chore/linux/addtests
chore(linux): Add missing tests
2023-10-18 08:03:04 +02:00
Eberhard Beilharz
337018a24b
chore(linux): Add missing tests
This adds (and fixes) two tests that were previously left out by
accident.
2023-10-17 20:29:28 +02:00
Eberhard Beilharz
08a259c6e2
chore(linux): Fix build scripts
Creating the coverage option to ninja previously didn't work reliably.
This change re-orders the parameters passed to `meson setup` and seems
to work better. Additionally this change refactors the scripts and makes
use of `builder_run_action`.
2023-10-17 20:01:05 +02:00
Eberhard Beilharz
46d67d944e
chore(linux): Re-enable building for Ubuntu 23.10 Mantic
Now that we have updated ibus packages in place we can re-enable building
for Mantic.

Fixes #9520 and #9398.
2023-10-17 18:48:53 +02:00
Eberhard Beilharz
141d44a439
Merge pull request #9775 from keymanapp/chore/linux/9733_RenameKbp
chore(linux): Rename `kbp_state_get_intermediate_context` to `km_core…` 〽️
2023-10-17 18:04:32 +02:00
Eberhard Beilharz
f178959c02
Merge pull request #9774 from keymanapp/fix/linux/9773_python3.8
fix(linux): Fix crash initializing Sentry with Python < 3.10
2023-10-17 18:02:39 +02:00
Eberhard Beilharz
91e731a955
Merge pull request #9756 from keymanapp/feat/linux/8598_kmconfig
feat(linux): Allow installing keyboards with arbitrary language 🏘️
2023-10-17 18:02:19 +02:00
Eberhard Beilharz
2ab9334b82
Merge pull request #9758 from keymanapp/chore/linux/coverage
chore(linux): Add code coverage index page
2023-10-17 08:57:13 +02:00
Eberhard Beilharz
a76945615b
Merge pull request #9735 from keymanapp/feat/linux/8598_arbitrary-lang
feat(linux): Allow loading of keyboards with arbitrary language 🏘️
2023-10-16 19:48:56 +02:00
Eberhard Beilharz
965b8e5ecc
chore(linux): Rename kbp_state_get_intermediate_context to km_core_...
A previous rename missed this.
2023-10-16 19:39:18 +02:00
Eberhard Beilharz
d7a72e6baf
fix(linux): Fix crash initializing Sentry with Python < 3.10
Ubuntu 20.04 comes with Python 3.8 which doesn't have
`platform.freedesktop_os_release()`. This change catches the exception
if this happens, as well as other exceptions we might get so that the
initialization of Sentry will succeed.

Fixes #9773.
2023-10-16 18:44:18 +02:00
Eberhard Beilharz
0eb5065bf4
chore(linux): Unnecessary to check for NULL before calling g_free
`g_free` will return if the parameter is NULL, so we don't have to
check for that.

See glib [documentation](https://docs.gtk.org/glib/func.free.html).
2023-10-16 18:24:56 +02:00
Eberhard Beilharz
943370d682
chore(linux): Add --open option to open coverage reports in browser
This addresses code review comments.
2023-10-16 17:22:41 +02:00