Commit Graph

91 Commits

Author SHA1 Message Date
9d63b505ec build: Enable '-Wold-style-definition' '-Wstrict-prototypes' 2020-09-11 18:15:44 +02:00
1ee58ce7a0 Document changes and release 1.9.3 2020-08-05 16:17:44 +02: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
c1737c763f sm.puri.Squeekboard.desktop: make path to Exec= absolute
This uses the same logic from Phosh to render absolute paths in .desktop
files.
2020-05-26 12:02:55 +02:00
dca0e55557 Release 1.8.0 "Conflict-free replicated data type"
- The terminal layout is always available from the layout selection popup.
- XKB Layout names in the popup are translated using GNOME's database.
2020-01-14 13:56:21 +00:00
273423f626 Release 1.7.0 "Mycelium"
Enables a terminal layout, which will activate whenever the terminal input hint is received.

Arm64 .debs are produced by the CI again.
2020-01-08 12:19:59 +00:00
7e57df3434 Release 1.6.0 "Specific impulse"
New emoji layout, `entry.py` becomes part of the -devel package under the name `squeekboard-entry`.
2020-01-02 12:06:19 +00:00
12be3e980f Merge branch 'cleanup' into 'master'
Build cleanups

See merge request Librem5/squeekboard!287
2019-12-23 21:34:18 +00:00
ca8a2baefa Merge branch 'devel' into 'master'
Entry test added to -devel package

See merge request Librem5/squeekboard!286
2019-12-23 21:33:41 +00:00
d76deb0655 Release 1.5.0 "The bends"
This release introduces some renderer improvements, including relating to speed.

Mire importantly, layout files have an incompatible change in format: bounds on the layout are replaced by margins. This removes the possibility that buttons don't fit in the layout and frees layout makers from having to calculate the size of the layout manually.
2019-12-23 12:08:45 +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
6a164d8119 Release 1.4.0 "Nacelle"
Major changes:

- "text" property for layouts
- adjusting to user's color scheme
2019-12-02 19:40:14 +00:00
f284627beb Merge branch 'release' into 'master'
Use Cargo release flag

See merge request Librem5/squeekboard!256
2019-11-29 15:33:00 +00:00
579ba8ab87 Release 1.3.2 2019-11-26 15:38:32 +00:00
35bc163107 Release 1.3.1
Fixing layout issues and building failures due to tests taking a long time.
2019-11-20 22:13:31 +00:00
0adde1004f cargo: Use release mode for release builds 2019-11-19 13:50:36 +00:00
7cc8eecd26 Release 1.3.0 2019-11-16 15:40:56 +00:00
8191324e46 Remove unused files 2019-11-15 01:25:52 +01:00
e080d4351e Release 1.2.2 "Dark matter"
Major changes:

- wide layout mode
2019-10-30 12:41:07 +00:00
264d30d884 build: Disallow implicit int conversions 2019-10-29 13:21:46 +00:00
aee981d9c0 debian: Bump distribution 2019-10-08 10:59:00 +00:00
0f5c5ef10f Bump version number 2019-09-24 10:46:41 +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
b2e9216920 build: Stricter type checks 2019-08-13 12:32:55 +00:00
d8b26040f9 symbolclass: Remove with surroundings
Collaterals: Enabled strict checking of initializers, fixed scripts generating keycode mappings.
2019-08-01 20:08:37 +00:00
f7f208883c errors: Make compilation stricter 2019-07-31 14:11:49 +00: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
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
3d518b5757 build: Bump meson dep since we use '/' 2019-07-17 19:37:05 +02:00
a129863a4d build: Apply fixes/suggestions
Following comments on https://source.puri.sm/Librem5/squeekboard/merge_requests/20
2019-07-02 20:14:12 +00:00
61a5e8d4fd install: Don't distribute dbus definition
Instead, require virtboard to provide it.
2019-07-02 18:13:34 +00:00
0d3b003aac input method: Initialize the protocol and pretend to handle a few things 2019-06-30 19:03:24 +00:00
346ed453ef Start working on a desktop file 2019-06-26 18:17:54 +02:00
e30bb23711 build: Add debug/release options 2019-06-18 13:37:10 +00:00
b065b16bf1 Use layer shell 2019-04-05 15:39:57 +00:00
6b15072764 dbus: Use generated code 2019-03-23 09:36:53 +00:00
8087c3e5d4 build: Use only meson for squeekboard
This breaks autoconf. The only resulting binary is the squeekboard GUI. It still needs the autotools-built eekboard client in order to do anything useful. That one needs to be built using a different branch, making this a WIP.
2019-03-15 20:59:29 +00:00
a243fce1ae build: Squeekboard build in meson 2019-03-14 17:29:13 +00:00