Peter Hutterer
a95c9e1799
meson: drop version requirement to 0.56 so we can build on Bullseye
...
Looks like the only more recent meson feature we use is for
'exclude_suites' in the valgrind test setup. We can just skip that.
2023-03-19 07:56:09 +00:00
Peter Hutterer
c5aa2c0b60
doc/proto: address a few documentation issues
...
A few clarifications as suggested by Benjamin Tissoires.
2023-03-17 14:03:32 +10:00
Salman Malik
150ac5b4ac
src/meson.build: Switch shared_library => library
...
This is the recommendation from meson documentation. The default
option is still to create a shared library but doing it this
way gives users an opportunity to create either a shared, static
or both type of libraries by setting up the meson build appropriately.
Here is the result with the default setup:
$ meson setup . _build
$ meson compile -C _build
$ find _build | egrep "(\.so|\.a)$"
_build/subprojects/munit/libmunit.so
_build/test/libunittest.a
_build/test/libeierpecken.a
_build/src/libei.so
_build/src/liboeffis.so
_build/src/libutil.a
_build/src/libeis.so
And here it is with the overridden flag:
_build/subprojects/munit/libmunit.a
_build/test/libunittest.a
_build/test/libeierpecken.a
_build/src/libei.a
_build/src/libeis.a
_build/src/liboeffis.a
_build/src/libutil.a
$ meson setup . _build --default-library=static
$ meson compile -C _build
$ find _build | egrep "(\.so|\.a)$"
2023-03-15 00:47:15 +00:00
Peter Hutterer
1bc04bffa8
CI: add new workflow rules
...
Required for pipelines to run after some infrastructure changes, see
See https://gitlab.freedesktop.org/freedesktop/freedesktop/-/issues/438
2023-03-15 09:47:14 +10:00
Peter Hutterer
e6cb6b1998
Add a pre-commit hook
...
Moving my local hooks into a pre-commit hook set that others can find
useful too:
- remove trailing whitespaces and newlines
- don't allow commits to the "main" branch
- python black and python ruff (same args as in the CI)
2023-03-13 08:52:08 +10:00
Peter Hutterer
8954d96227
Remove empty trailing newlines from all files
2023-03-13 08:52:08 +10:00
Peter Hutterer
940f2778a9
CI: bump to the latest ci templates
...
This version includes a fix for ci-fairy to handle the trailing newlines
in a more predictable manner.
2023-03-13 08:51:52 +10:00
Peter Hutterer
37f4351a67
doc/proto: add a page for the ei-scanner
...
In case someone is actually planning to use that one
2023-03-10 14:25:59 +10:00
Peter Hutterer
d44de4e73e
doc/proto: add a link to the git repo and issues page
2023-03-09 14:49:03 +10:00
Peter Hutterer
e8765f3042
doc/proto: add a page describing the libraries
...
Now that the API doc is behind a link, let's make it a bit more
prominent to find.
2023-03-09 14:28:30 +10:00
Peter Hutterer
2665224461
doc/proto: mirror the required directory structure
...
Might as well make this easier for us locally.
2023-03-09 14:28:30 +10:00
Peter Hutterer
3bcece1923
doc/proto: remove now unused files
...
Obsolete since 5258a559eb :
doc/proto: remove the embedded docs from the proto, use static pages instead
2023-03-09 13:43:43 +10:00
Peter Hutterer
6b7424e821
doc/proto: fix a bug with the pages script
...
Removing the chapter pages means the directory no longer exists, so we
manually have to mkdir it.
2023-03-08 16:07:00 +10:00
Peter Hutterer
5258a559eb
doc/proto: remove the embedded docs from the proto, use static pages instead
2023-03-08 11:09:58 +10:00
Peter Hutterer
56004836b9
proto: add the context-type attribute to events and requests
...
This allows us to mark/filter requests and events that are only
available on a given context type.
2023-03-08 09:01:03 +10:00
Peter Hutterer
fb5b607c13
doc/proto: put a standard blurb in for the destructor-type requests
...
Should eventually have a separate protocol documentation section for
this and point to it, but this will do for now.
2023-03-07 19:29:27 +10:00
Peter Hutterer
59ab84669f
doc/proto: add some basic index pages
...
Better than the placeholders...
2023-03-07 19:22:00 +10:00
Peter Hutterer
ef430fceb0
doc/proto: add the generator script to the input files
...
So meson tracks the dependency better
2023-03-07 19:07:46 +10:00
Peter Hutterer
f97aa73c7c
doc/proto: sort pages by occurrence in the protocol file
2023-03-07 19:05:52 +10:00
Peter Hutterer
f4f6dabbe2
proto: fix references to ei_handshake.interface_version
2023-03-07 18:58:58 +10:00
Peter Hutterer
3b30c38a39
protocol: more protocol documentation
2023-03-07 15:26:36 +10:00
Peter Hutterer
b05b256fd8
scanner: expand the regex to search for protocol names
...
This now finds nested ei_foo.bar.baz too (though it includes the
trailing full stop, if any).
2023-03-07 15:26:36 +10:00
Peter Hutterer
4ac13ac7a7
CI: fix the doxygen path
...
Adding the mkdir means we copy into that directory.
2023-03-07 15:26:36 +10:00
Peter Hutterer
8fad365f37
doc: split protocol and api builds into separate meson options
2023-03-07 15:26:36 +10:00
Peter Hutterer
2cf6df9cd0
meson: hook up the protocol documentation via meson
...
Since we want the generated documentation to be useful on-disk, drop the
baseURL and switch to relativeURLs = true for hugo.
This is arguably a bit nasty in that it git clones the theme into the
build directory. But oh well...
2023-03-07 14:14:58 +10:00
Peter Hutterer
248d08c6a5
doc: drop the doxygen protocol generation
...
This is better done with a separate system (e.g. hugo) and it's pretty
awful to read anyway.
2023-03-07 13:18:41 +10:00
Peter Hutterer
872e256759
doc: move the API documentation into its own directory
2023-03-07 13:17:12 +10:00
Peter Hutterer
d936e3e822
meson: make the header files variables to use within other meson files
2023-03-07 13:17:12 +10:00
Peter Hutterer
30aab5179e
Merge branch 'main' into wip/drop-protobuf
2023-03-07 12:55:18 +10:00
Peter Hutterer
449d808b42
CI: always run the tests
...
Embarassingly, only the valgrind test would actually run tests because
it was the only one with a non-null MESON_TEST_ARGS. Let's fix this by
explicitly telling the build script to run the tests.
2023-03-07 11:57:46 +10:00
Peter Hutterer
367fa6384f
test: fix the LD_LIBRARY_PATH to liboeffis
...
Make this dependent on liboeffis directly instead of hardcoding where it
should be.
2023-03-07 11:54:10 +10:00
Peter Hutterer
a2e60be0e6
meson: fix a typo
2023-03-07 11:50:09 +10:00
Peter Hutterer
442ce1edb8
proto: give a rough protocol overview as part of the docs
2023-03-07 11:33:35 +10:00
Peter Hutterer
4a3efa913a
proto: more documentation improvements
2023-03-07 11:33:31 +10:00
Peter Hutterer
25e36eb24e
meson: move the "build this?" checks into the subdirs
...
Let's decide on what to build in the doc/ and test/ directory rather
than in the main file.
2023-03-07 11:10:06 +10:00
Peter Hutterer
7810be8a80
meson: split into separate meson.build files for src/tools
2023-03-07 11:10:06 +10:00
Peter Hutterer
44295ab044
tools: add touch support to the ei-demo-client
2023-03-06 16:25:04 +10:00
Peter Hutterer
46bef9fe86
tools: add touchscreen support to the eis-demo-server
2023-03-06 16:11:55 +10:00
Peter Hutterer
8c2f51fcff
tools: fix a debug message in the demo client
2023-03-06 16:11:53 +10:00
Peter Hutterer
ebd7d102cd
proto: clarify that the ei_seat capabilities depend on ei_device
...
Regardless of the ei_seat version, ei_seat.bind will support all
capablities of the negotiated ei_device interface. This means we don't need
to bump ei_seat just to add a new capability to ei_device.
2023-03-06 14:57:18 +10:00
Peter Hutterer
717900f6fe
Generate the protocol documentation in gitlab pages
2023-03-03 15:24:42 +10:00
Peter Hutterer
3d3b20f172
doc: add the templates and a script to generate hugo markdown
...
Intention here is to have the protocol in a readable manner somewhere.
Doxygen doesn't *quite* cut the bill.
2023-03-03 15:24:42 +10:00
Peter Hutterer
eb9fa07c10
scanner: add a filter to escape ei protocol names
...
By default escape them with backticks for markdown
2023-03-03 11:39:03 +10:00
Peter Hutterer
2fb1ff70e3
scanner: allow '-' for loading a template from stdin
2023-03-03 11:39:03 +10:00
Peter Hutterer
ea3ada1a80
proto: make the documentation an extractable set of XML tags
...
Instead of hiding this in a XML comment, let's make it a proper set of
tags so we can extract it and use it in generated documentation.
2023-03-03 11:38:40 +10:00
Peter Hutterer
c350ac2ee3
src: pass the headerfile as jinja extra data
...
This removes another special handling of the C bindings from the
scanner.
2023-03-03 11:38:40 +10:00
Peter Hutterer
d127f02f0a
scanner: add ability to pass extra data to the jinja templates
...
This makes generation of files with the scanner a lot more flexible -
e.g. one can run the scanner with
--jinja-extra-data='{ "interface": "ei_connection"}'
and then in the jinja template use an if condition to match on this
interface.
2023-03-03 11:38:40 +10:00
Peter Hutterer
2fa7792a33
scanner: drop duplicate import
...
We already import dedent globally
2023-03-03 11:27:01 +10:00
Peter Hutterer
2550a0b54d
scanner: raise SystemExit instead of calling sys.exit
...
Bit nicer (no import sys required for that call) and that's what sys.exit
does that anyway.
2023-03-03 11:27:01 +10:00
Peter Hutterer
70e2a9fbc2
protocol: fix two cross-references
2023-03-03 11:27:01 +10:00