aboutsummaryrefslogtreecommitdiff
path: root/meson.build
AgeCommit message (Collapse)Author
2023-03-13meson: fix seatdpath with absolute bindirAlyssa Ross
Quoting the Meson documentation: > Note that the value returned for built-in options that end in `dir` > such as `bindir` and `libdir` is usually a path relative to (and > inside) the `prefix` but you should not rely on that, as it can also > be an absolute path [in some cases](Builtin-options.md#universal-options). > [`install_dir` arguments](Installing.md) handle that as expected > but if you need an absolute path, e.g. to use in a define etc., > you should use the path concatenation operator like this: > `get_option('prefix') / get_option('localstatedir')`. > Never manually join paths as if they were strings. The concatenation of two absolute paths caused seatd-launch in Nixpkgs to try to launch e.g. /nix/store/43wyk9s2l2z8cparnshbf24d39vm5272-seatd-0.7.0//nix/store/j9a7k4qqwc3byyfmpqwg46shmh6g82yf-seatd-0.7.0-bin/bin/seatd.
2022-03-29wscons: Move to its own device typeKenny Levinsen
This reduces ifdefs and avoids overloading evdev as something it is not.
2022-03-28meson: library soversion arg should be stringKenny Levinsen
muon, a meson implementation in C, is more strict with its types and revealed this discrepancy between meson behavior and documentation.
2022-03-16Initial netbsd supportilliliti
2022-03-03Bump version to 0.7.0Kenny Levinsen
2022-03-03meson: Fix meson warningsKenny Levinsen
2022-03-03meson: Only set libseat defines for libseat itselfKenny Levinsen
This allows us to distinguish between when we build seatd as part of the builtin libseat backend, or when we build seatd on its own.
2021-12-16build: use meson.override_dependencySimon Ser
This allows downstream users to write: dependency('libseat', fallback: 'seatd') instead of having to rely on the seatd/meson.build's variable name: dependency('libseat', fallback: ['seatd', 'libseat'])
2021-11-28build: don't use sh for scdocSimon Ser
Just use the built-in feed/capture Meson options instead.
2021-11-28build: use list for logind depSimon Ser
This reduces the boilerplate a bit. Use logind.name() instead of having a separate source of truth. Requires adapting the checks a bit because the dep name has a "lib" prefix.
2021-10-28build: don't use cc.get_supported_arguments for definesSimon Ser
If the compiler errors out on some -DXXX flag, then we're in trouble. Avoid using cc.get_supported_arguments for defines we require. Only use it for detecting support for warning flags.
2021-10-19Bump version to 0.6.3Kenny Levinsen
2021-09-16Bump version to 0.6.2Kenny Levinsen
2021-09-16seatd-launch: Use absolute path for seatdKenny Levinsen
We previously used execlp to execute seatd, which had the effect of searching PATH for the executable. This allowed the caller to control what executable was run, which is bad if SUID has been set. Instead, expose the absolute install path for seatd from meason as a define, and use that in a call to execv.
2021-09-14Bump version to 0.6.1Kenny Levinsen
2021-09-11Bump version to 0.6.0Kenny Levinsen
2021-09-08man: Add simple seatd-launch(1) pageKenny Levinsen
2021-09-02meson.build: fix build with gcc < 7Fabrice Fontaine
Test if arguments (e.g. -Wimplicit-fallthrough) is available before using it as -Wimplicit-fallthrough has been added only since gcc 7.1 and https://github.com/gcc-mirror/gcc/commit/81fea426da8c4687bb32e6894dc26f00ae211822 and so it will raise the following build failure with gcc < 7: arm-none-linux-gnueabi-gcc: error: unrecognized command line option '-Wimplicit-fallthrough' Fixes: - http://autobuild.buildroot.org/results/0ee6816a7cceebdafd07612677a594bdf68e0790 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2021-08-06seatd-launch: Add seatd launch wrapperKenny Levinsen
This launch wrapper is used to conveniently start a new seatd instance, wait for it to be ready, and launch a target application.
2021-07-06build: add prefix to libseat optionsSimon Ser
The option names are a little bit confusing, because it's not clear which ones toggle libseat features, and which ones toggle seatd features. Add a "libseat-" prefix to libseat-specific features, to make it more obvious that they only are about the library.
2021-06-20link with rtSimeon Schaub
Since seatd uses `clock_gettime`, this is needed when cross-compiling. This came up in https://github.com/JuliaPackaging/Yggdrasil/pull/3193.
2021-04-25meson: Support building builtin without seatdKenny Levinsen
The builtin backend relies on the seatd backend implementation. When builtin was enabled without seatd, compilation would fail due to the implementation not being included. Include the implementation if either seatd or builtin is enabled.
2021-04-10build: set pkgconfig/dependency variables for featuresSimon Ser
This allows libseat users to e.g. advise people to chmod a+s the executable if libseat is built with the builtin backend. While bumping the Meson version, adjust the scdoc logic to avoid the following warnings: WARNING: Project targeting '>=0.56.0' but tried to use feature deprecated since '0.56.0': Dependency.get_pkgconfig_variable. use Dependency.get_variable(pkgconfig : ...) instead WARNING: Project targeting '>=0.56.0' but tried to use feature deprecated since '0.55.0': ExternalProgram.path. use ExternalProgram.full_path() instead
2021-04-10build: disable logind on -Dauto_features=disabled -Dlogind=autoSimon Ser
Setting auto_features=disabled is supposed to disable all optional dependencies. Since we aren't using a feature option here, we need to manually add logic to disable logind in this case.
2021-04-08build: don't allow "auto" for seatd, builtin, server and examplesSimon Ser
These features don't have any dependencies, so "auto" doesn't make sense.
2021-04-08build: don't explicitly search for shSimon Ser
This removes the "Program sh found" line in the build logs, and should not change anything else.
2021-04-08build: fix logind feature summary when auto-detectedSimon Ser
If -Dlogind=auto but systemd/elogind isn't available, logind_provider would get set to the last item of the foreach loop. This would incorrectly report "systemd: YES".
2021-04-08build: add explicit logind provider option, auto-detect by defaultSimon Ser
Allow package maintainers to explicitly select a logind provider by passing -Dlogind=systemd or -Dlogind=elogind. In case both are available (e.g. for distributions which support both), this makes it possible to gte deterministic behavior. By default, auto-detect the logind provider. That way, users which have systemd or elogind installed get the backend built by default.
2021-04-08meson: make 'logind' var always availableKenny Levinsen
2021-03-26meson: declare libseat dependencySimon Ser
This can be used by parent projects when seatd is a subproject: libseat = dependency('libseat', fallback: ['seatd', 'libseat'])
2021-03-26Add no-op sessionSimon Ser
This is useful for headless testing, for instance with VKMS: modprobe vkms export WLR_DRM_DEVICES=/dev/dri/card1 export WLR_BACKENDS=drm export LIBSEAT_BACKEND=noop sway We don't need any of the VT handling in this case.
2021-03-16meson: Minor cleanupKenny Levinsen
2021-03-16meson: Fix logind backend auto modeKenny Levinsen
2021-03-15Bump version to 0.5.0Kenny Levinsen
2021-03-15meson: Fix indentationKenny Levinsen
2021-03-15meson: Make summary prettierKenny Levinsen
2021-03-15meson: Clean up test declarations a bitKenny Levinsen
2021-02-27meson: ignore 'man-pages' if 'server' is disabledAleksei Bavshin
`seatd.1` is the only man page, so it's not necessary to install it or require scdoc when the server is not built.
2020-10-19Bump version to 0.4.0Kenny Levinsen
2020-10-12connection: Add unittestKenny Levinsen
2020-09-22meson: Make default seatd socket path configurableKenny Levinsen
FreeBSD and Linux have different preferred socket locations. Expose an option to set the location, and implement simple auto-logic for linux/freebsd.
2020-09-22poller: Add unittestKenny Levinsen
2020-09-08Bump version to 0.3.0Kenny Levinsen
2020-09-08libseat: Version the .so fileKenny Levinsen
2020-09-01meson: fix manpage generation for cross buildsIsaac Freund
We want to use the scdoc of the host system not the target system, so pass the `native: true` parameter to meson.
2020-08-31Remove unused list implementationKenny Levinsen
2020-08-28Bump version to 0.2.0Kenny Levinsen
2020-08-22meson: Set license to MITKenny Levinsen
2020-08-08man: Add simple seatd(1) pageKenny Levinsen
2020-08-08build: check for libelogind before libsystemdIsaac Freund
elogind provides a libsystemd wrapper which is packaged by some distros. For whatever reason using this wrapper instead of libelogind directly causes compiler warnings to pop up. Checking for libelogind first ensures that this wrapper is not used.