Commit graph

1959 commits

Author SHA1 Message Date
Eberhard Beilharz
6bfa8a438f
refactor(linux): cleanup API of kvk2ldml.py
Make methods private that are only used inside of kvk2ldml.py.
2024-08-23 22:40:31 +02:00
Eberhard Beilharz
b9aa9ccd8c
refactor(web): move predictive-textworker-main
This moves `common/predictive-text/` →
`web/src/engine/predictive-text/worker-main/`.

This also moves `common/test/predictive-text/` →
`web/src/test/manual/predictive-text/`. Note though that this testing
tool is still broken.

Fixes: #12134
2024-08-15 12:26:50 +02:00
Darcy Wong
83f46c8e5e chore(common): Update localization for Greek Polytonic 2024-08-07 05:59:35 +07:00
Eberhard Beilharz
2599487187
fix(linux): set local directory if not specified
If the user specifies just an output file without directory name, we
will now use the current directory instead of crashing.
2024-07-26 12:18:24 +02:00
Eberhard Beilharz
4516c9d8df
change(linux): improve changelog PRs after upload to debian
Mention original PR in the body of the cherry-pick PR.
2024-07-25 16:50:38 +02:00
Eberhard Beilharz
484f596239
chore(linux): remove Ubuntu Mantic, add Oracular
Ubuntu 23.10 Mantic is EOL, Ubuntu 24.10 Oracular will be the next
release.
2024-07-24 09:49:57 +02:00
Eberhard Beilharz
c6c5a481d9
Merge pull request #11862 from keymanapp/chore/linux/9356_distlist
chore(linux): remove unused building with pbuilder
2024-07-01 12:18:10 +02:00
Eberhard Beilharz
07a2cb5bad
Merge pull request #11852 from keymanapp/feat/linux/7697_SimulateAltGr
feat(linux): implement Linux side of SimulateAltGr option 🏁
2024-06-26 12:34:08 +02:00
Eberhard Beilharz
f6f4d3f165
Merge pull request #11861 from keymanapp/fix/linux/11855_install_cache
fix(linux): ignore exceptions trying to install cache
2024-06-25 19:17:38 +02:00
Eberhard Beilharz
bcc09b78c8
chore(linux): use shared meson config
Fixes: #8406
2024-06-24 19:08:12 +02:00
Eberhard Beilharz
f0d365e4b8
chore(linux): remove unused building with pbuilder
We no longer build with pbuilder/cowbuilder, so this change removes
that unnecessary code. This also changes the `deb.sh` script which no
longer needs parameters since it's only purpose is now to build the
source package, and removes the no-longer needed targets from `Makefile`.

This solves #9356 as good as possible. We still have the list of
distributions in two places, but I don't see a way to import the list
of distributions to the packaging GHA.

Fixes: #9356
2024-06-24 18:37:10 +02:00
Eberhard Beilharz
582ccbec11
fix(linux): ignore exceptions trying to install cache
Using the cache when getting data from the server is just an optimization
to speed up things. However, things still work if we don't use the cache.
This change therefore catches the AttributeError that sometimes happen
on some machines for unknown reasons and falls back to not using the
cache.

Fixes: 11855
Fixes: KEYMAN-LINUX-6R
2024-06-24 18:13:28 +02:00
Eberhard Beilharz
3169cc0fa5
feat(linux): implement engine side of SimulateAltGr option
- read value from dconf
- set up Core environment
- if dconf value changes re-create the Core environment

Fixes: #7697
2024-06-21 18:27:06 +02:00
Eberhard Beilharz
3c800ed65a
feat(linux): implement UI part of SimulateAltGr option 2024-06-21 18:24:02 +02:00
Eberhard Beilharz
d93fb6aa0b
refactor(linux): rename methods that deal with keyboard options
This renames the existing methods that read and write keyboard options
so that it's visible from the name that they read/write keyboard options.
This is in preparation of new methods that read and write more general
options.
2024-06-21 18:22:29 +02:00
Eberhard Beilharz
2b7d74f4b6
refactor(linux): add KeymanOption class for options 2024-06-21 18:08:56 +02:00
Eberhard Beilharz
0cf24fddc2
Merge pull request #11789 from keymanapp/feat/linux/9396_RecreateMissingFiles
feat(linux): re-create missing files at run-time
2024-06-19 16:35:52 +02:00
Eberhard Beilharz
2ebb0bd554
Merge pull request #11775 from keymanapp/fix/linux/restartibus
fix(linux): restart ibus after manual integration test run
2024-06-17 17:41:36 +02:00
Eberhard Beilharz
64515b025b
feat(linux): re-create missing files at run-time
This changes re-creates the `<package>.bmp.png` as well as the
`<package>.json` files if they are missing when `km-config` starts.

- `<package.bmp.png` gets created from a `.bmp` or `.ico` file included
in the package, similar to what happens when installing the keyboard.
- `<package>.json` gets created from downloaded metadata, similar to
the installation.

If the files are missing or we can't write to the directory, e.g. if it's
the shared area, we skip the re-creation.

Fixes: #9396
2024-06-14 18:11:11 +02:00
Eberhard Beilharz
a5b9321fde
refactor(linux): make method private and change variable names 2024-06-14 15:58:21 +02:00
Eberhard Beilharz
1e67022a44
change(linux): restart ibus only when manually running tests
If we try to restart ibus when we run the tests as part of a build we
run into a timeout in the test teardown.
2024-06-14 15:37:43 +02:00
Eberhard Beilharz
407cfa8f33
chore(linux): address code review comments
Co-authored-by: Marc Durdin <marc@durdin.net>
2024-06-14 15:09:13 +02:00
Eberhard Beilharz
13700e4a9f
Merge pull request #11671 from keymanapp/chore/linux/cherry-pick/changelog
chore(linux): Update debian changelog 🍒
2024-06-14 08:32:52 +02:00
Eberhard Beilharz
b93c459515
fix(linux): restart ibus after manual integration test run
Previously keyboard input was no longer input after manually running
the integration tests. This change fixes this by restarting ibus after
the tests. However, we only want to do that if the ibus instance we
started for the tests got killed. The cleanup script might get called
multiple times, so we need this check.
2024-06-13 17:50:41 +02:00
Marc Durdin
577986bb50
Merge pull request #11523 from keymanapp/chore/common/8399-cleanup-meson-warnings
chore(common): cleanup meson deprecations and warnings
2024-06-08 10:46:41 +10:00
Eberhard Beilharz
d52de2d878
docs(linux): Update description of deb-packaging.sh 2024-06-04 16:38:11 +02:00
Eberhard Beilharz
e2147daac8
chore(linux): Update debian changelog
(cherry picked from commit e96becc26d)
2024-06-03 21:58:30 +02:00
Marc Durdin
1b3be1540a chore(common): update linux documentation and control for meson 1.0 2024-05-24 14:49:27 +07:00
Marc Durdin
900f248558 chore(common): cleanup meson deprecations and warnings
Most warnings have been cleaned up:

* min meson version is now 1.0
* additional parameters such as check, recursive added
* uses now global_source_root() instead of source_root()
* catting files on Windows wasn't actually working -- used in unit
  tests. This is because meson passes paths with forward slashes to
  cmd.exe `type` command, which doesn't understand them. This is bad,
  because we were running effectively null tests for the affected tests.
  Fortunately, the same tests were configured correctly on macOS and
  Linux, and were all passing, so no serious damage.

There is one significant warning left:

`WARNING: Project targets '>=1.0' but uses feature deprecated since
'0.64.0': copy arg in configure_file. Use fs.copyfile instead`

Refer to mesonbuild/meson#12792. I have opened a PR against that to
undeprecate `copy` kwarg in a future version of meson.

Fixes: #8399
2024-05-24 08:46:52 +07:00
Eberhard Beilharz
81957750aa
Merge pull request #10637 from keymanapp/chore/linux/10626_apichecks
chore(linux): Move API verification to separate action
2024-05-21 19:03:36 +02:00
Darcy Wong
15c1fddae8 chore(common): Clear whatsnew help files
Clear whatsnew.md files for beginning of 18.0 alpha development
2024-05-17 09:32:27 +07:00
Steven R. Loomis
a8776afac2 chore(linux): yet more updates for libkeymancore version 2024-05-08 14:51:43 -05:00
Steven R. Loomis
165bf1848f
Update linux/debian/libkeymancore2.symbols
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2024-05-08 09:08:26 -05:00
Steven R. Loomis
1fe76bcd26
Merge branch 'master' into chore/core/11033-points-not-units 2024-05-07 09:26:07 -05:00
Steven R. Loomis
5e8b4a1a17 chre(linux): bump libkeymancore version
- also minor typo in docs
2024-05-07 08:55:48 -05:00
Steven R. Loomis
fbd1c0c841 chore(core): km_core_cp -> km_core_cu
- fix comment
- fix API version

Fixes: #11033

Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2024-05-06 09:54:07 -05:00
Eberhard Beilharz
40aa8b8646
Merge pull request #11356 from keymanapp/chore/linux/fixtest
chore(linux): Fix typo
2024-05-06 11:34:35 +02:00
Eberhard Beilharz
7478db8b57
chore(linux): Fix typo
This suddenly started failing. I guess there was a deprecated
`assertEquals` in older Python libraries, but with the latest version in
Ubuntu 24.04 Noble this disappeared. Anyway, with this change we use
the same assert method as in the other test files.
2024-05-03 17:39:14 +02:00
Steven R. Loomis
6706ae0957 chore(core): km_core_cp -> km_core_cu
- km_core_cp represents a 16 bit code unit, not a code point.

Fixes: #11033
2024-05-02 17:39:15 -05:00
Marc Durdin
cd8121ef65 chore(common): builder scripts now use /resources/build/builder.inc.sh
Note: there is a bit of potential confusion about the difference between
/resources/builder.inc.sh (the full implementation for builder scripts),
and /resources/build/builder.inc.sh (the source script that builder
scripts should always use).

This allows us to make assumptions that will always be true for builder
scripts that may not be true for other scripts, such as setting base
folder.
2024-05-02 15:54:31 +07:00
Marc Durdin
0f390d47cc chore(common): maintenance on build scripts - cd
Fixes #11324.

* Always `cd "$THIS_SCRIPT_PATH"`
* Remove unnecessary `cd` from all build.sh
* Remove unnecessary `set -eu` from all build.sh (and `# set -x`)
* Replace old build-utils.sh incantation in a few build.sh scripts
2024-05-02 15:54:29 +07:00
Marc Durdin
f119682cf0
Merge branch 'master' into chore/a18s1-merge-beta-into-master 2024-05-02 14:48:58 +10:00
Marc Durdin
38a0359361
Merge pull request #11295 from keymanapp/fix/linux/icon
fix(linux): Fix icon for .kmp files
2024-05-01 14:21:43 +10:00
Eberhard Beilharz
d81cff200b
Merge pull request #11292 from keymanapp/fix/linux/11225_environment-detection
fix(linux): Improve detection of Gnome environment
2024-04-30 15:52:41 +02:00
Eberhard Beilharz
888ec56d5a
chore(linux): Prepare for stable release
- Adjust branch name
- Update Debian standards version
- Update dependency name (`pkg-config` is deprecated and replaced by
  `pkgconf`)
2024-04-25 09:29:35 +02:00
Eberhard Beilharz
e9398133fc
chore(linux): Install python3-dev
On a new machine we need to install python3-dev so that we can access
`Python.h`. It shouldn't be in `debian/control`, so we put in our
script where we check the requirements.
2024-04-24 18:38:40 +02:00
Eberhard Beilharz
627703734a
fix(linux): Fix icon for .kmp files
It seems some Ubuntu versions ignore the `icon` field and only use
`generic-icon`, so this change adds that field. This will fix displaying
the icon on newer Ubuntu versions. And since we keep the `icon` field
it should still work everywhere else.

Fixes #11144.
2024-04-24 18:00:41 +02:00
Eberhard Beilharz
2044b188f8
fix(linux): Improve detection of Gnome environment
This change improves the way we detect if we're running a Gnome based
UI that needs it's keyboards installed under
`org.gnome.desktop.input-sources`. We use the environment variable
`XDG_CURRENT_DESKTOP` and check if it contains the word `gnome`.
Additionally this change renames `is_gnome_shell()` to
`is_gnome_desktop()`.

Fixes #11225.
2024-04-23 15:16:03 +02:00
Eberhard Beilharz
414a120bb2
chore(linux): Move API verification to separate action
The new `api-verification` workflow runs after `deb-packaging`.

Implements #10626.
2024-04-23 15:10:36 +02:00
Eberhard Beilharz
00a9335dc8
Merge pull request #11097 from keymanapp/chore/linux/cherry-pick/changelog
chore(linux): Update debian changelog 🍒
2024-04-02 08:28:12 +02:00