From d73bc1eb3a559c96310359cbb2cc7fb1792037df Mon Sep 17 00:00:00 2001 From: Adrian Perez de Castro Date: Thu, 2 Jun 2022 00:09:38 +0300 Subject: [PATCH] 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 [Arnout: add kernel headers dependency suggested by Romain] Signed-off-by: Arnout Vandecappelle --- DEVELOPERS | 1 + package/Config.in | 1 + package/libmanette/Config.in | 17 ++++++++++++ package/libmanette/libmanette.hash | 5 ++++ package/libmanette/libmanette.mk | 42 ++++++++++++++++++++++++++++++ 5 files changed, 66 insertions(+) create mode 100644 package/libmanette/Config.in create mode 100644 package/libmanette/libmanette.hash create mode 100644 package/libmanette/libmanette.mk diff --git a/DEVELOPERS b/DEVELOPERS index 4287fd9cf7..34cce542bd 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -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/ diff --git a/package/Config.in b/package/Config.in index 2c2752b412..802fb5da30 100644 --- a/package/Config.in +++ b/package/Config.in @@ -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" diff --git a/package/libmanette/Config.in b/package/libmanette/Config.in new file mode 100644 index 0000000000..31fff15286 --- /dev/null +++ b/package/libmanette/Config.in @@ -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 diff --git a/package/libmanette/libmanette.hash b/package/libmanette/libmanette.hash new file mode 100644 index 0000000000..96089f971a --- /dev/null +++ b/package/libmanette/libmanette.hash @@ -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 diff --git a/package/libmanette/libmanette.mk b/package/libmanette/libmanette.mk new file mode 100644 index 0000000000..10f2b8a466 --- /dev/null +++ b/package/libmanette/libmanette.mk @@ -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))