diff --git a/DEVELOPERS b/DEVELOPERS index 6b38db0857..7dca6a441a 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -531,6 +531,9 @@ N: Bilal Wasim F: board/chromebook/elm/ F: configs/chromebook_elm_defconfig +N: Boerge Struempfel +F: package/libgpiod2/ + N: Bogdan Radulescu F: package/iftop/ F: package/ncdu/ diff --git a/package/Config.in b/package/Config.in index 410fe0f493..b1237e5d6d 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1751,6 +1751,7 @@ menu "Hardware handling" source "package/libftdi1/Config.in" source "package/libgphoto2/Config.in" source "package/libgpiod/Config.in" + source "package/libgpiod2/Config.in" source "package/libgudev/Config.in" source "package/libhid/Config.in" source "package/libiio/Config.in" diff --git a/package/libgpiod2/Config.in b/package/libgpiod2/Config.in new file mode 100644 index 0000000000..5a13bfc344 --- /dev/null +++ b/package/libgpiod2/Config.in @@ -0,0 +1,30 @@ +config BR2_PACKAGE_LIBGPIOD2 + bool "libgpiod2" + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 + depends on !BR2_PACKAGE_LIBGPIOD + help + This is a C library that abstracts the GPIO character + device operations on linux. + + This package is the continuation of the libgpiod package + for versions 2.0 and above. + + Note that a kernel of 5.10 or above is required for the + ioctls to work. + + https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/ + +if BR2_PACKAGE_LIBGPIOD2 + +config BR2_PACKAGE_LIBGPIOD2_TOOLS + bool "install tools" + help + Include a set of command-line tools for managing GPIOs. + +endif + +comment "libgpiod2 needs kernel headers >= 5.10" + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 + +comment "libgpiod2 is incompatible with libgpiod" + depends on BR2_PACKAGE_LIBGPIOD diff --git a/package/libgpiod2/libgpiod2.hash b/package/libgpiod2/libgpiod2.hash new file mode 100644 index 0000000000..b5488496b2 --- /dev/null +++ b/package/libgpiod2/libgpiod2.hash @@ -0,0 +1,4 @@ +# From https://www.kernel.org/pub/software/libs/libgpiod/sha256sums.asc +sha256 fa4024a080121c958502f9a46a5bda44bea85e7a4dd7fcb3dead463b6fc4261c libgpiod-2.1.tar.xz +# Hash for license file +sha256 eb17a56966db5d986bec449ee44ed61f01f9e3fafa952e527db67a8f9594fd11 COPYING diff --git a/package/libgpiod2/libgpiod2.mk b/package/libgpiod2/libgpiod2.mk new file mode 100644 index 0000000000..9c478f1ffb --- /dev/null +++ b/package/libgpiod2/libgpiod2.mk @@ -0,0 +1,33 @@ +################################################################################ +# +# libgpiod2 +# +################################################################################ + +# Be careful when bumping versions. +# Dependency on kernel header versions may change. +LIBGPIOD2_VERSION = 2.1 +LIBGPIOD2_SOURCE = libgpiod-$(LIBGPIOD2_VERSION).tar.xz +LIBGPIOD2_SITE = https://www.kernel.org/pub/software/libs/libgpiod +LIBGPIOD2_LICENSE = LGPL-2.1+ +LIBGPIOD2_LICENSE_FILES = COPYING +LIBGPIOD2_INSTALL_STAGING = YES +LIBGPIOD2_DEPENDENCIES = host-pkgconf host-autoconf-archive +LIBGPIOD2_CONF_OPTS = \ + --disable-bindings-python \ + --disable-examples \ + --disable-tests + +ifeq ($(BR2_PACKAGE_LIBGPIOD2_TOOLS),y) +LIBGPIOD2_CONF_OPTS += --enable-tools +else +LIBGPIOD2_CONF_OPTS += --disable-tools +endif + +ifeq ($(BR2_INSTALL_LIBSTDCPP),y) +LIBGPIOD2_CONF_OPTS += --enable-bindings-cxx +else +LIBGPIOD2_CONF_OPTS += --disable-bindings-cxx +endif + +$(eval $(autotools-package))