package: Add libmanette

libmanette is a library which provides a higher level interface to
enumerate and make use of game controllers (gamepads, joysticks).
WebKitGTK can use libmanette to expose controllers to web content,
which will be enabled on a follow-up patch.

Minimal kernel headers 4.16 for input_event_sec and input_event_usec
in struct input_event.

Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
[Arnout: add kernel headers dependency suggested by Romain]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
This commit is contained in:
Adrian Perez de Castro 2022-06-02 00:09:38 +03:00 committed by Arnout Vandecappelle
parent 58c5846631
commit d73bc1eb3a
5 changed files with 66 additions and 0 deletions

View File

@ -35,6 +35,7 @@ F: package/bubblewrap/
F: package/cage/
F: package/cog/
F: package/libepoxy/
F: package/libmanette/
F: package/libpsl/
F: package/libwpe/
F: package/webkitgtk/

View File

@ -518,6 +518,7 @@ endmenu
source "package/kbd/Config.in"
source "package/lcdproc/Config.in"
source "package/libiec61850/Config.in"
source "package/libmanette/Config.in"
source "package/libubootenv/Config.in"
source "package/libuio/Config.in"
source "package/linux-backports/Config.in"

View File

@ -0,0 +1,17 @@
config BR2_PACKAGE_LIBMANETTE
bool "libmanette"
depends on BR2_USE_MMU # libglib2
depends on BR2_USE_WCHAR # libglib2 -> gettext
depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_16
select BR2_PACKAGE_LIBEVDEV
select BR2_PACKAGE_LIBGLIB2
help
GObject library which provides access to game controllers.
https://gitlab.gnome.org/GNOME/libmanette
comment "libmanette needs a toolchain w/ wchar, threads, headers >= 4.16"
depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
!BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_16

View File

@ -0,0 +1,5 @@
# From https://download.gnome.org/sources/libmanette/0.2/libmanette-0.2.6.sha256sum
sha256 63653259a821ec7d90d681e52e757e2219d462828c9d74b056a5f53267636bac libmanette-0.2.6.tar.xz
# Locally calculated
sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING

View File

@ -0,0 +1,42 @@
################################################################################
#
# libmanette
#
################################################################################
LIBMANETTE_VERSION_MAJOR = 0.2
LIBMANETTE_VERSION = $(LIBMANETTE_VERSION_MAJOR).6
LIBMANETTE_SOURCE = libmanette-$(LIBMANETTE_VERSION).tar.xz
LIBMANETTE_SITE = https://download.gnome.org/sources/libmanette/$(LIBMANETTE_VERSION_MAJOR)
LIBMANETTE_LICENSE = LGPL-2.1+
LIBMANETTE_LICENSE_FILES = COPYING
LIBMANETTE_INSTALL_STAGING = YES
LIBMANETTE_DEPENDENCIES = \
libevdev \
libglib2 \
$(TARGET_NLS_DEPENDENCIES)
LIBMANETTE_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS)
LIBMANETTE_CONF_OPTS = \
-Ddemos=false \
-Dbuild-tests=false \
-Dinstall-tests=false \
-Ddoc=false \
-Dvapi=false
ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y)
LIBMANETTE_CONF_OPTS += -Dintrospection=true
LIBMANETTE_DEPENDENCIES += gobject-introspection
else
LIBMANETTE_CONF_OPTS += -Dintrospection=false
endif
ifeq ($(BR2_PACKAGE_LIBGUDEV),y)
LIBMANETTE_CONF_OPTS += -Dgudev=enabled
LIBMANETTE_DEPENDENCIES += libgudev
else
LIBMANETTE_CONF_OPTS += -Dgudev=disabled
endif
$(eval $(meson-package))