Commit Graph

63 Commits

Author SHA1 Message Date
762e12431d Merge branch 'fix_gio_unix' into 'master'
build: Add missing gio-unix dependency

See merge request Librem5/squeekboard!356
2020-06-26 07:13:23 +00:00
ecfc45c2de build: Make compatible with Debian Bullseye
This commit is a bit bigger than it could have: Meson changes could have gone in separately from CI and Debian.

This commit looks more complicated than it should reasonably be. Alas, Cargo is a piece of work, and it doesn't let honest people just choose different versions of dependencies, leading to a cascade of misery. Several things were tried to curb the disaster:

- Cargo [feature] supports choosing dependencies, but doesn't support specifying dependency versions
- Cargo has a cfg() syntax in sections for choosing dependencies by build options, but it explicitly doesn't support selecting on features…
- Cargo allows choosing different dependencies based on features, so perhaps dependencies with different versions could live in stub crates pulled in as needed? Nope! If a dependency doesn't exist in the repo (and that's the point here), Cargo throws up its hands.

This means Cargo.toml needs to be generated based on the build type. More misery:

- we lose the simplicity of just doing `cargo.sh` for simple housekeeping like deps updates. HACKING.md was updated to reflect that. Perhaps that's inevitable - build options need to be like this.
- Some flaky adjustments needed in `cargo.sh` because of an additional argument that can be mistaken for an argument to the exec in `cargo run`.
- Specifying a custom `Cargo.toml` means Cargo can no longer find any tests, examples, benchmarks, or binaries, because it searches relative to the directory of `Cargo.toml`, which is now the build dir. Extra care needed to not forget about them now.

As soon as Cargo allows anything better for managing deps versions, the above should be undone in its favor.

Good side is that a couple bugs went away:

- build flags not always making it to Cargo
- arm64 builds were optional while they shouldn't
- test layouts in unit tests are loaded from an explicit directory now

The Bullseye versions of dependencies are canonical now, Buster considered legacy.
2020-06-24 15:51:21 +00:00
3ba6aca99d build: Add missing gio-unix dependency 2020-06-13 08:27:33 +00:00
ec58442724 eek-gtk-keyboard: Trigger event feedback on button press
Use libfeedback to trigger feedback for the button press event.

Closes: #166
2020-06-04 12:13:58 +02:00
f473a47eb8 Removed unused dependency 'libcroco' 2020-05-24 16:31:43 +02:00
f326929634 Merge branch 'text_input' into 'master'
Text input integration

See merge request Librem5/squeekboard!302
2020-01-24 09:41:14 +00:00
8d06815279 Merge branch 'cleanups' into 'master'
C-side Cleanups

See merge request Librem5/squeekboard!300
2020-01-19 12:57:40 +00:00
26dbcdeb62 keyboard: Gather up keymap handling, drop layout 2020-01-13 13:53:54 +00:00
4e4f8e1932 eek-layout: Remove unused 2020-01-12 19:25:41 +00:00
14d5881f1e key-emitter: Remove unused 2020-01-09 19:57:14 +00:00
4c2cef30f2 dbus: Rename handler from eekboard_service 2020-01-09 16:25:53 +00:00
a93f3c55e7 translations: Use gnome-desktop's xkb info database for layout names 2020-01-07 16:18:52 +00:00
12be3e980f Merge branch 'cleanup' into 'master'
Build cleanups

See merge request Librem5/squeekboard!287
2019-12-23 21:34:18 +00:00
b6f3d9c1ea Remove unused header generator 2019-12-16 18:52:50 +00:00
d9f284b19a build: Move building of squeekboard-test-layout to tools 2019-12-16 17:47:00 +00:00
a901c85bcb Merge branch 'themes' into 'master'
Use appropriate styling for layouts

See merge request Librem5/squeekboard!253
2019-11-30 11:08:08 +00:00
4ee8a91dfe build: Bring back squeekboard as a first class executable
With styles no longer being inconsistent, there's no need to override styles by default. The override script remains for PureOS packaging purposes.
2019-11-27 16:37:44 +00:00
0adde1004f cargo: Use release mode for release builds 2019-11-19 13:50:36 +00:00
9b271a6919 devel: Package squeekboard-test-layout 2019-11-19 12:22:24 +00:00
1db561d33a build: Handle output files better 2019-11-19 12:15:08 +00:00
9571adb107 tests: Executable for testing layouts 2019-11-19 09:47:32 +00:00
36af546362 tests: Bump timeout for the execution of all unit tests 2019-11-17 15:06:07 +00:00
0da848a5a0 tests: Use correct test compilation command 2019-11-17 14:56:25 +00:00
0bfaa8cd7a debian: Wrap squeekboard in theme selector
This works around https://source.puri.sm/Librem5/squeekboard/issues/151 by providing a dark style to match the dark style of the layouts.
2019-11-13 14:07:23 +00:00
75bbb17881 Merge branch 'test_build' into 'master'
tests: Compile in advance

See merge request Librem5/squeekboard!189
2019-09-29 16:17:23 +00:00
a1b811aada tests: Compile in advance
Cargo is always trying to compile things if they are not ready yet. It caused the first test to take a lot of time, and potentially time out.
2019-09-29 09:01:09 +00:00
908aa20036 cleanup: Drop unused EekboardContext 2019-09-28 18:17:26 +00:00
231982d7f7 Drop dead drawing procedures 2019-09-26 07:27:16 +00:00
e7d30d933f build: Simplified the calling of cargo.sh 2019-09-24 11:27:01 +00:00
e70a64a47e Merge branch 'cleanups' into 'master'
Cleanups

See merge request Librem5/squeekboard!164
2019-09-13 19:52:19 +00:00
db994da531 keysyms: Remove dead code 2019-09-13 15:25:48 +00:00
edb28cb859 tests: Verify all bundled layouts 2019-09-13 09:09:17 +00:00
b84c402c4a WIP
WIP

WIP: keymap generation test passes

meta: Update features and version

WiP: cargo.lock

WIP: don't crash

WIP: no outlines

parsing: New tests

WIP: base level works

WIP: remove old keyboard

symbols correctly input

WIP: lodaing files

WIP: fallback works

Valid fallback
2019-09-04 09:44:31 +00:00
3413021d30 rust: Use Cargo to build the Rust portion
Pros: Ability to use Rust libraries from crates.io
Problems: Need to lock library versions and document their reproducible building, either via Cargo.lock or vendoring.
2019-08-30 09:00:34 +00:00
524040cf00 Remove eek-container 2019-08-18 13:22:18 +00:00
3689727fc1 serializable: Remove completely 2019-08-18 13:22:18 +00:00
6fc351d2e8 eekkey: Dropped in favor of Button
Each Button has a KeyState, which may be shared with other buttons. The list of pressed and locked buttons is used as a list of keys, causing a search for the button in the current view.
2019-08-18 13:22:18 +00:00
94a76eedfd Remove marshalers 2019-08-18 13:20:43 +00:00
53b89aae45 symbol: Remove remains 2019-08-08 19:18:29 +00:00
23d5f18d4a symbols matrix: Remove in favor of a levels vector 2019-08-08 19:18:28 +00:00
87dd9b4374 Remove references to the removed theme classes 2019-08-02 17:04:16 +02:00
778543c719 rust: Add a call to Rust test framework 2019-07-31 11:20:57 +00:00
8326bd7016 rust: Create a root file for modules
The new `lib.rs` file is created to refer to all modules written in Rust. This way, only one `rustc` call is needed to compile an arbitrary amount of modules. It also converges with the way crates are structured.
2019-07-31 10:05:27 +00:00
70895999c2 Generate XKB keymaps from XML instead of using pre-made ones 2019-07-25 22:25:29 +02:00
a9a6e1d2b5 Ensure that resources are built with the application 2019-07-24 01:22:58 +02:00
e903150971 Enable tests, fixing the existing ones to use the current API
This also involved building a static library for the application for
tests to link to. The main application executable also links to it.
2019-07-23 10:18:44 +02:00
a5875402ef Move EekGtkRenderer features into EekRenderer 2019-07-18 15:42:27 +02:00
dbc8cc14bc Generate config.h
This allows us to remove a lot of #ifdef's. Either we want to use
a config.h or we don't. Since we'll want it for e.g. optional gsound
support later on let's have it.
2019-07-17 19:50:53 +02:00
626527ee09 Merge branch 'feature-xml-resources' into 'master'
FINAL: bundle xml resources, allows running uninstalled from git repo

Closes #29 and #21

See merge request Librem5/squeekboard!49
2019-07-11 13:33:45 +00:00
c1af9b2ba4 Add dbus protocol definition
This let's us drop the virtboard build dependency.
2019-07-11 14:31:25 +02:00