Message ID | 20220601210939.2350383-1-aperez@igalia.com |
---|---|
State | Accepted |
Headers | show |
Series | [1/2] package: Add libmanette | expand |
Hello Adrian, Le 01/06/2022 à 23:09, Adrian Perez de Castro a écrit : > 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. > > Signed-off-by: Adrian Perez de Castro <aperez@igalia.com> > --- > DEVELOPERS | 1 + > package/Config.in | 1 + > package/libmanette/Config.in | 15 +++++++++++ > package/libmanette/libmanette.hash | 5 ++++ > package/libmanette/libmanette.mk | 42 ++++++++++++++++++++++++++++++ > 5 files changed, 64 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 71cc3da6d7..740e9a3ca7 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 00f061015f..2242ad409e 100644 > --- a/package/Config.in > +++ b/package/Config.in > @@ -506,6 +506,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..8297d8c7f4 > --- /dev/null > +++ b/package/libmanette/Config.in > @@ -0,0 +1,15 @@ > +config BR2_PACKAGE_LIBMANETTE > + bool "libmanette" > + depends on BR2_USE_WCHAR # gettext > + depends on BR2_TOOLCHAIN_HAS_THREADS > + depends on BR2_USE_MMU # fork() These "depends on" seems to be reverse dependencies of libglib2, so update the comment to # libglib2 I build tested with an "old" toolchain with kernel-headers 4.9: https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--glibc--stable-2020.08-1.tar.bz2 But it fail to build due to the following error: ./src/manette-device.c: In function ‘on_evdev_event’: ../src/manette-device.c:380:39: error: ‘struct input_event’ has no member named ‘input_event_sec’ 380 | manette_event.any.time = evdev_event->input_event_sec * 1000 + | ^~ ../src/manette-device.c:381:39: error: ‘struct input_event’ has no member named ‘input_event_usec’ 381 | evdev_event->input_event_usec / 1000; | ^~ libmanette requires a toolchain with kernel-headers at least 4.16: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=152194fe9c3f03232b9c0d0264793a7fa4af82f8 Best regards, Romain > + 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" > + depends on BR2_USE_MMU > + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS > 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))
On 01/06/2022 23:09, Adrian Perez de Castro wrote: > 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. > > Signed-off-by: Adrian Perez de Castro <aperez@igalia.com> Applied both to next, after adding the kernel headers dependency and updating the dependency comments as indicated by Romain, thanks. Regards, Arnout > --- > DEVELOPERS | 1 + > package/Config.in | 1 + > package/libmanette/Config.in | 15 +++++++++++ > package/libmanette/libmanette.hash | 5 ++++ > package/libmanette/libmanette.mk | 42 ++++++++++++++++++++++++++++++ > 5 files changed, 64 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 71cc3da6d7..740e9a3ca7 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 00f061015f..2242ad409e 100644 > --- a/package/Config.in > +++ b/package/Config.in > @@ -506,6 +506,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..8297d8c7f4 > --- /dev/null > +++ b/package/libmanette/Config.in > @@ -0,0 +1,15 @@ > +config BR2_PACKAGE_LIBMANETTE > + bool "libmanette" > + depends on BR2_USE_WCHAR # gettext > + depends on BR2_TOOLCHAIN_HAS_THREADS > + depends on BR2_USE_MMU # fork() > + 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" > + depends on BR2_USE_MMU > + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS > 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))
On Tue, 23 Aug 2022 22:48:12 +0200 Arnout Vandecappelle <arnout@mind.be> wrote: > On 01/06/2022 23:09, Adrian Perez de Castro wrote: > > 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. > > > > Signed-off-by: Adrian Perez de Castro <aperez@igalia.com> > > Applied both to next, after adding the kernel headers dependency and updating > the dependency comments as indicated by Romain, thanks. Thanks!~ > Regards, > Arnout > > > --- > > DEVELOPERS | 1 + > > package/Config.in | 1 + > > package/libmanette/Config.in | 15 +++++++++++ > > package/libmanette/libmanette.hash | 5 ++++ > > package/libmanette/libmanette.mk | 42 ++++++++++++++++++++++++++++++ > > 5 files changed, 64 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 71cc3da6d7..740e9a3ca7 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 00f061015f..2242ad409e 100644 > > --- a/package/Config.in > > +++ b/package/Config.in > > @@ -506,6 +506,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..8297d8c7f4 > > --- /dev/null > > +++ b/package/libmanette/Config.in > > @@ -0,0 +1,15 @@ > > +config BR2_PACKAGE_LIBMANETTE > > + bool "libmanette" > > + depends on BR2_USE_WCHAR # gettext > > + depends on BR2_TOOLCHAIN_HAS_THREADS > > + depends on BR2_USE_MMU # fork() > > + 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" > > + depends on BR2_USE_MMU > > + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS > > 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)) > Cheers, —Adrián
diff --git a/DEVELOPERS b/DEVELOPERS index 71cc3da6d7..740e9a3ca7 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 00f061015f..2242ad409e 100644 --- a/package/Config.in +++ b/package/Config.in @@ -506,6 +506,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..8297d8c7f4 --- /dev/null +++ b/package/libmanette/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_LIBMANETTE + bool "libmanette" + depends on BR2_USE_WCHAR # gettext + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_USE_MMU # fork() + 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" + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS 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))
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. Signed-off-by: Adrian Perez de Castro <aperez@igalia.com> --- DEVELOPERS | 1 + package/Config.in | 1 + package/libmanette/Config.in | 15 +++++++++++ package/libmanette/libmanette.hash | 5 ++++ package/libmanette/libmanette.mk | 42 ++++++++++++++++++++++++++++++ 5 files changed, 64 insertions(+) create mode 100644 package/libmanette/Config.in create mode 100644 package/libmanette/libmanette.hash create mode 100644 package/libmanette/libmanette.mk