Commit graph

2335 commits

Author SHA1 Message Date
Marc Durdin
01cedf68b7
Merge branch 'epic/linux-mcompile' into chore/merge-master-into-linux-mcompile 2024-12-05 08:49:17 +01:00
Marc Durdin
9a01ac166d chore(core): Merge branch 'master' into fix/core/12619-disable-assertions-vcwin-release-build 2024-12-01 16:17:21 +07:00
Eberhard Beilharz
b8c120dd5c
Merge pull request #12721 from keymanapp/chore/core/cherry-pick/load-from-blob-api
feat(core,linux,developer,windows): implement loading KMX from blob 🍒
2024-11-29 12:40:51 +01:00
Marc Durdin
ffae5bab1c chore(core): typo in meson 2024-11-28 11:56:50 +07:00
Marc Durdin
faf479c105 chore(linux): include common test source files 2024-11-28 10:54:01 +07:00
Eberhard Beilharz
767d7c65be
fix(linux): disable assertions in release builds
This change uses the G_DISABLE_ASSERT flag to disable assertions
for release builds.

See https://docs.gtk.org/glib/func.assert.html
2024-11-27 18:04:35 +01:00
Eberhard Beilharz
8492b12fdb
feat(linux): use new km_core_keyboard_load_from_blob API method
Fixes: #12498
Cherry-pick: #12683
2024-11-27 16:16:36 +01:00
Eberhard Beilharz
3dc3f040de
feat(core): implement loading KMX from blob
- split keyboard loading into loading KMX file into blob and then
  loading the keyboard processor from the blob.
- deprecate `km_core_keyboard_load`
- move file access next to deprecated method. This is now the only place
  that loads a file in Core; unit tests have some more places that
  load files.
- introduce GTest and add unit tests for loading from blob

Cherry-picked from `epic/web-core` branch.

Cherry-Pick-Commit: 1deaa323ad
Cherry-Pick-Commit: 59019cc8b7
Cherry-Pick-Commit: bc46458368
Cherry-Pick-Commit: d06aa29956
Cherry-Pick-Commit: 1c88166f6e
Cherry-Pick-Commit: 069cd21ecd
Cherry-Pick-Commit: 052ae2ec35
Cherry-Pick-Commit: 11a2a3ba3a

Part-of: #11293
Part-of: #8093
2024-11-27 15:30:05 +01:00
Eberhard Beilharz
4a852c9522
chore(linux): rename test files
This change rename the test files for Linux according to the discussion
at the Keyman conference in November 2024.

Python is pretty opinionated about the naming of files, so we have to
use `*_tests.py` as test filename instead of the usual `*.tests.py`.
2024-11-26 19:06:02 +01:00
Marc Durdin
4aa01a7ab6
Merge branch 'epic/linux-mcompile' into chore/merge-master-into-linux-mcompile 2024-11-08 05:27:33 +01:00
Marc Durdin
0d42160bc9 chore(core): avoid skipping docs folder in linux dist.sh
Unfortunately dpkg-source can only list files to exclude, not files to
include, which makes it fragile to changes in other platforms. The list
previously included 'docs', and as I renamed /core/doc to /core/docs to
match the other platforms, that caused it to be excluded. Changing it to
'./docs' should hopefully only match the top-level folder.

At the same time, updated many other top-level folder matches.
2024-11-08 05:24:47 +07:00
Eberhard Beilharz
095638e286
Merge branch 'master' into fix/linux/12587_webkit 2024-11-05 08:44:27 +01:00
Eberhard Beilharz
e3d5ef41bb
Merge pull request #12615 from keymanapp/fix/linux/missingDependencies
fix(linux): properly check for missing dependencies
2024-11-05 08:44:08 +01:00
Eberhard Beilharz
a15a005648
fix(linux): set environment variable for rendering of downloads dialog
This works around a problem in webkit2gtk where the download dialog
sometimes only renders a blank screen. Setting the environment variable
seems to help, not only in the cases that the issue describes (with a
NVidia graphics card), but also in my testing in a VM.

Fixes: #12587
2024-11-04 18:53:18 +01:00
Eberhard Beilharz
f6b8ce010a
chore(linux): add support for Ubuntu 25.04 Plucky Puffin
With this change we will also build and provide binaries on Launchpad
for the next Ubuntu release, 25.04 Plucky Puffin.
2024-11-04 18:21:45 +01:00
Eberhard Beilharz
0688c43253
fix(linux): properly check for missing dependencies
The previous implementation didn't work because the import of
`download_and_install_package` happened before we checked for the missing
dependencies and so the program crashed. This change fixes this and now
does the imports after checking for the missing dependencies so that we
can display an error message to the user.

Also fix a warning.
2024-11-04 18:10:19 +01:00
Marc Durdin
19812d5ff8
Merge branch 'epic/linux-mcompile' into chore/merge-master-into-linux-mcompile 2024-10-25 09:31:06 +02:00
Marc Durdin
b42d027f52
Merge branch 'epic/linux-mcompile' into chore/merge-master-into-linux-mcompile 2024-10-25 03:42:29 +02:00
Eberhard Beilharz
76cc5c3bfc
Merge pull request #12527 from keymanapp/chore/linux/apicheck
chore(linux): improve output if `dpkg-gensymbols` fails and run other tests
2024-10-11 14:57:37 +02:00
Marc Durdin
43e7d32004
Merge pull request #12472 from keymanapp/feat/common/12347-check-markdown-links
test(common): add markdown link check test for product documentation
2024-10-11 03:23:23 +02:00
Marc Durdin
d541351db3
Merge branch 'epic/linux-mcompile' into chore/merge-master-into-linux-mcompile 2024-10-11 01:20:30 +02:00
Sabine
b0006baaaf ... Merge branch 'master' into chore/mac/mcompile_mac-CommonMesonPatterns 2024-10-10 17:21:23 +02:00
Eberhard Beilharz
044256f291
chore(linux): improve output if dpkg-gensymbols fails and run other tests 2024-10-10 11:59:19 +02:00
Sabine
5e93570558 Merge branch 'chore/mac/mcompile_mac-CommonMesonPatterns' of https://github.com/keymanapp/keyman into chore/mac/mcompile_mac-CommonMesonPatterns 2024-10-10 11:15:36 +02:00
Sabine
33dcf94c09 chore (common): rename do_clean, do_configure, do_build, do_test to do_meson_... 2024-10-10 11:13:59 +02:00
Eberhard Beilharz
e5c1f81037
fix(linux): fix problem with API checks with merge commits
This change fixes a problem if both `master` and a branch added the same
symbol with different version numbers. This causes a merge conflict which
previously caused the API checks to output an error. However, if the
version number in the .symbols file got updated since the base then
it's no error which this change implements.
2024-10-09 19:35:41 +02:00
Eberhard Beilharz
13caa2e074
refactor(linux): move API verification functions to separate file
This will make it easier to unit test individual functions.
2024-10-09 16:56:10 +02:00
Eberhard Beilharz
2184749a33
chore(linux): allow to skip API change
When running locally it might be beneficial to be able run the API
verification checks without having to build a binary package. This
change allows to omit the `--bin-pkg` parameter and outputs a warning
instead if it's missing.
2024-10-09 15:53:31 +02:00
SabineSIL
44a9fa906d
Merge branch 'feat/mac/mcompile_mac' into chore/mac/mcompile_mac-CommonMesonPatterns 2024-10-09 09:15:04 +02:00
Marc Durdin
2e059e9730
Merge branch 'master' into feat/common/12347-check-markdown-links 2024-10-07 09:41:45 +02:00
Sabine
afc82297ea chore (common): on mcompile-linux->move do_clean, do_configure, do_build and do_test to meson-utils.inc.sh 2024-10-04 09:01:46 +02:00
Sabine
c8b084b884 Merge remote-tracking branch 'origin/epic/linux-mcompile' into feat/linux/mcompile-PR_11334 2024-09-30 09:49:33 +02:00
Eberhard Beilharz
3fab6c2d2c
fix(linux): ignore additional C++ symbol in API check
I have no idea why this C++ symbol suddenly shows up in the API check,
but since it's not part of our API we can ignore it.
2024-09-26 18:28:52 +02:00
Marc Durdin
640d3e5096 test(developer): add markdown link check test for product documentation
Adds check-markdown package that parses .md files, looks for links and
images, and verifies that they are valid links (for internal links).
2024-09-25 15:51:32 -07:00
Sabine
2ad66f6a59 chore(linux): add kbp->dpBitmapOffset, kbp->dwBitmapSize and calculate dky in 2 lines 2024-09-19 10:58:54 +02:00
Sabine
057675d3e1 chore(linux): name changes in comments 2024-09-18 17:05:39 +02:00
Sabine
7736780b33 chore(linux): implement all of Marcs changes from mcompile-mac into mcompile-linux 2024-09-18 16:33:59 +02:00
Marc Durdin
0e5fbb225d refactor(common): fixup help path script references
Relates-to: #12347
2024-09-16 06:19:14 +07:00
Marc Durdin
1ec1f0e1e8 refactor(common): move help into common prod/docs/help folders
Step 1 -- move all product help into docs/help folders. Next, will
update corresponding scripts.

Relates-to: #12347
2024-09-16 06:13:46 +07:00
Marc Durdin
07252be69a
Merge pull request #12413 from keymanapp/chore/merge-master-into-linux-mcompile
chore: merge master into linux-mcompile
2024-09-13 09:24:20 +02:00
Marc Durdin
cf7c1f6828
Merge pull request #12319 from keymanapp/chore/merge-master-into-linux-mcompile
chore: merge master into linux-mcompile
2024-08-30 04:33:44 +02:00
Eberhard Beilharz
0918b3985f
fix(linux): add dependency 2024-08-29 08:48:06 +07:00
Eberhard Beilharz
5b570517b1
fix(linux): display error and abort if fonttools are missing 2024-08-28 16:14:17 +07:00
Eberhard Beilharz
50228a8266
fix(linux): properly deal with types of names
Names can be Unicode strings or byte arrays. This change allows for both
kinds. Also properly deal with the case when we can't get the name from
the .ttf file. And finally change the test so that we don't need the
`KbdKhmr.ttf` font.
2024-08-24 12:16:04 +08:00
Eberhard Beilharz
c8cbc2fefe
fix(linux): get font facename from .ttf file 2024-08-24 11:31:23 +08:00
Eberhard Beilharz
c99e833c8e
fix(linux): Add font name without file extension 2024-08-24 10:25:57 +08:00
Eberhard Beilharz
16ce5b0408
fix(linux): get oskFont from kmp.json instead of UnicodeFont 2024-08-24 10:07:36 +08:00
Eberhard Beilharz
a22a40fe2e
fix(linux): add keymanFacename to .ldml file
This change adds the `keymanFacename` attribute based on UnicodeFont
or AnsiFont to the root element of the generated .ldml file so that
onboard-keyman can display the proper font for the osk.

Fixes: #12019
2024-08-23 22:42:16 +02:00
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
Marc Durdin
4c9d44851a chore(linux): add utfcodec.cpp to mcompile 2024-08-16 15:09:23 +02:00