Merge pull request #20609 from mhei/libgpiod-update-2.0
libgpiod: update to 2.0 and introduce C++ binding
This commit is contained in:
commit
6528bdb0e1
1 changed files with 62 additions and 14 deletions
|
@ -8,12 +8,12 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=libgpiod
|
PKG_NAME:=libgpiod
|
||||||
PKG_VERSION:=1.6.4
|
PKG_VERSION:=2.0
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||||
PKG_SOURCE_URL:=@KERNEL/software/libs/libgpiod/
|
PKG_SOURCE_URL:=@KERNEL/software/libs/libgpiod/
|
||||||
PKG_HASH:=7b146e12f28fbca3df7557f176eb778c5ccf952ca464698dba8a61b2e1e3f9b5
|
PKG_HASH:=f74cbf82038b3cb98ebeb25bce55ee2553be28194002d2a9889b9268cce2dd07
|
||||||
|
|
||||||
PKG_MAINTAINER:=Michael Heimpold <mhei@heimpold.de>
|
PKG_MAINTAINER:=Michael Heimpold <mhei@heimpold.de>
|
||||||
PKG_LICENSE:=LGPL-2.1-or-later
|
PKG_LICENSE:=LGPL-2.1-or-later
|
||||||
|
@ -26,17 +26,19 @@ PYTHON3_PKG_BUILD:=0
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
include ../../lang/python/python3-package.mk
|
include ../../lang/python/python3-package.mk
|
||||||
|
|
||||||
|
ifneq ($(CONFIG_PACKAGE_libgpiodcxx),)
|
||||||
|
CONFIGURE_ARGS += --enable-bindings-cxx
|
||||||
|
else
|
||||||
|
CONFIGURE_ARGS += --disable-bindings-cxx
|
||||||
|
endif
|
||||||
|
|
||||||
ifneq ($(CONFIG_PACKAGE_gpiod-tools),)
|
ifneq ($(CONFIG_PACKAGE_gpiod-tools),)
|
||||||
CONFIGURE_ARGS += --enable-tools
|
CONFIGURE_ARGS += --enable-tools
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq ($(CONFIG_PACKAGE_python3-gpiod),)
|
PYTHON3_PKG_SETUP_DIR:=bindings/python
|
||||||
CONFIGURE_ARGS += --enable-bindings-python
|
TARGET_CPPFLAGS+=-I$(PKG_BUILD_DIR)/include
|
||||||
CONFIGURE_VARS += \
|
TARGET_LDFLAGS+=-L$(PKG_BUILD_DIR)/lib/.libs
|
||||||
PYTHON="$(STAGING_DIR_HOSTPKG)/bin/$(PYTHON3)" \
|
|
||||||
PYTHON_CPPFLAGS="$(shell $(STAGING_DIR)/host/bin/$(PYTHON3)-config --includes)" \
|
|
||||||
PYTHON_LIBS="$(shell $(STAGING_DIR)/host/bin/$(PYTHON3)-config --libs)"
|
|
||||||
endif
|
|
||||||
|
|
||||||
define Package/libgpiod
|
define Package/libgpiod
|
||||||
SECTION:=libs
|
SECTION:=libs
|
||||||
|
@ -44,8 +46,7 @@ define Package/libgpiod
|
||||||
URL:=https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git
|
URL:=https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git
|
||||||
TITLE:=Library for interacting with Linux's GPIO character device
|
TITLE:=Library for interacting with Linux's GPIO character device
|
||||||
KCONFIG:= \
|
KCONFIG:= \
|
||||||
CONFIG_GPIO_CDEV=y \
|
CONFIG_GPIO_CDEV=y
|
||||||
CONFIG_GPIO_CDEV_V1=y
|
|
||||||
DEPENDS:=@GPIO_SUPPORT
|
DEPENDS:=@GPIO_SUPPORT
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
@ -66,6 +67,18 @@ define Package/gpiod-tools/description
|
||||||
(gpiod stands for GPIO device).
|
(gpiod stands for GPIO device).
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define Package/libgpiodcxx
|
||||||
|
SECTION:=libs
|
||||||
|
CATEGORY:=Libraries
|
||||||
|
URL:=https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git
|
||||||
|
TITLE:=C++ binding for libgpiod
|
||||||
|
DEPENDS:=+libstdcpp +libgpiod
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/libgpiodcxx/description
|
||||||
|
This package contains the C++ binding for libgpiod.
|
||||||
|
endef
|
||||||
|
|
||||||
define Package/python3-gpiod
|
define Package/python3-gpiod
|
||||||
SECTION:=lang
|
SECTION:=lang
|
||||||
CATEGORY:=Languages
|
CATEGORY:=Languages
|
||||||
|
@ -79,6 +92,20 @@ define Package/python3-gpiod/description
|
||||||
This package contains the Python bindings for libgpiod.
|
This package contains the Python bindings for libgpiod.
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define Build/Configure
|
||||||
|
$(call Build/Configure/Default)
|
||||||
|
ifneq ($(CONFIG_PACKAGE_python3-gpiod),)
|
||||||
|
$(call Py3Build/Configure)
|
||||||
|
endif
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/Compile
|
||||||
|
$(call Build/Compile/Default)
|
||||||
|
ifneq ($(CONFIG_PACKAGE_python3-gpiod),)
|
||||||
|
$(call Py3Build/Compile)
|
||||||
|
endif
|
||||||
|
endef
|
||||||
|
|
||||||
define Build/InstallDev
|
define Build/InstallDev
|
||||||
$(INSTALL_DIR) $(1)/usr/include
|
$(INSTALL_DIR) $(1)/usr/include
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/gpiod.h $(1)/usr/include/
|
$(CP) $(PKG_INSTALL_DIR)/usr/include/gpiod.h $(1)/usr/include/
|
||||||
|
@ -88,6 +115,20 @@ define Build/InstallDev
|
||||||
|
|
||||||
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libgpiod.pc $(1)/usr/lib/pkgconfig/
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libgpiod.pc $(1)/usr/lib/pkgconfig/
|
||||||
|
|
||||||
|
ifneq ($(CONFIG_PACKAGE_libgpiodcxx),)
|
||||||
|
$(CP) $(PKG_INSTALL_DIR)/usr/include/gpiodcxx $(1)/usr/include/
|
||||||
|
$(CP) $(PKG_INSTALL_DIR)/usr/include/gpiod.hpp $(1)/usr/include/
|
||||||
|
|
||||||
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libgpiodcxx.{so*,a} $(1)/usr/lib/
|
||||||
|
|
||||||
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libgpiodcxx.pc $(1)/usr/lib/pkgconfig/
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq ($(CONFIG_PACKAGE_python3-gpiod),)
|
||||||
|
$(INSTALL_DIR) $(1)$(PYTHON3_PKG_DIR)
|
||||||
|
$(CP) $(PKG_INSTALL_DIR)$(PYTHON3_PKG_DIR)/* $(1)$(PYTHON3_PKG_DIR)
|
||||||
|
endif
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/libgpiod/install
|
define Package/libgpiod/install
|
||||||
|
@ -95,16 +136,23 @@ define Package/libgpiod/install
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libgpiod.so.* $(1)/usr/lib/
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libgpiod.so.* $(1)/usr/lib/
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define Package/libgpiodcxx/install
|
||||||
|
$(INSTALL_DIR) $(1)/usr/lib
|
||||||
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libgpiodcxx.so.* $(1)/usr/lib/
|
||||||
|
endef
|
||||||
|
|
||||||
define Package/gpiod-tools/install
|
define Package/gpiod-tools/install
|
||||||
$(INSTALL_DIR) $(1)/usr/bin
|
$(INSTALL_DIR) $(1)/usr/bin
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
|
$(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/python3-gpiod/install
|
define Py3Package/python3-gpiod/install
|
||||||
$(INSTALL_DIR) $(1)/$(PYTHON3_PKG_DIR)
|
# this empty define prevent installing tools from /usr/bin
|
||||||
$(CP) $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR)/gpiod.so $(1)/$(PYTHON3_PKG_DIR)
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call BuildPackage,libgpiod))
|
$(eval $(call BuildPackage,libgpiod))
|
||||||
|
$(eval $(call BuildPackage,libgpiodcxx))
|
||||||
$(eval $(call BuildPackage,gpiod-tools))
|
$(eval $(call BuildPackage,gpiod-tools))
|
||||||
|
$(eval $(call Py3Package,python3-gpiod))
|
||||||
$(eval $(call BuildPackage,python3-gpiod))
|
$(eval $(call BuildPackage,python3-gpiod))
|
||||||
|
$(eval $(call BuildPackage,python3-gpiod-src))
|
||||||
|
|
Loading…
Reference in a new issue