瀏覽代碼

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>
Adrian Perez de Castro 3 年之前
父節點
當前提交
d73bc1eb3a
共有 5 個文件被更改,包括 66 次插入0 次删除
  1. 1 0
      DEVELOPERS
  2. 1 0
      package/Config.in
  3. 17 0
      package/libmanette/Config.in
  4. 5 0
      package/libmanette/libmanette.hash
  5. 42 0
      package/libmanette/libmanette.mk

+ 1 - 0
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/

+ 1 - 0
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"

+ 17 - 0
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

+ 5 - 0
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

+ 42 - 0
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))