This updates this library to the latest major version.
Since the Python binding build changed in this version,
let's switch to the Py3Package infrastructure.
Also the older v1 kernel interface is not used anymore,
so we can drop this part of the kernel configuration.
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
include $(TOPDIR)/rules.mk
PKG_NAME:=libgpiod
include $(TOPDIR)/rules.mk
PKG_NAME:=libgpiod
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/software/libs/libgpiod/
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/software/libs/libgpiod/
-PKG_HASH:=7b146e12f28fbca3df7557f176eb778c5ccf952ca464698dba8a61b2e1e3f9b5
+PKG_HASH:=f74cbf82038b3cb98ebeb25bce55ee2553be28194002d2a9889b9268cce2dd07
PKG_MAINTAINER:=Michael Heimpold <mhei@heimpold.de>
PKG_LICENSE:=LGPL-2.1-or-later
PKG_MAINTAINER:=Michael Heimpold <mhei@heimpold.de>
PKG_LICENSE:=LGPL-2.1-or-later
CONFIGURE_ARGS += --enable-tools
endif
CONFIGURE_ARGS += --enable-tools
endif
-ifneq ($(CONFIG_PACKAGE_python3-gpiod),)
-CONFIGURE_ARGS += --enable-bindings-python
-CONFIGURE_VARS += \
- 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
+PYTHON3_PKG_SETUP_DIR:=bindings/python
+TARGET_CPPFLAGS+=-I$(PKG_BUILD_DIR)/include
+TARGET_LDFLAGS+=-L$(PKG_BUILD_DIR)/lib/.libs
define Package/libgpiod
SECTION:=libs
define Package/libgpiod
SECTION:=libs
URL:=https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git
TITLE:=Library for interacting with Linux's GPIO character device
KCONFIG:= \
URL:=https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git
TITLE:=Library for interacting with Linux's GPIO character device
KCONFIG:= \
- CONFIG_GPIO_CDEV=y \
- CONFIG_GPIO_CDEV_V1=y
DEPENDS:=@GPIO_SUPPORT
endef
DEPENDS:=@GPIO_SUPPORT
endef
This package contains the Python bindings for libgpiod.
endef
This package contains the Python bindings for libgpiod.
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
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/gpiod.h $(1)/usr/include/
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/gpiod.h $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libgpiod.pc $(1)/usr/lib/pkgconfig/
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libgpiod.pc $(1)/usr/lib/pkgconfig/
+
+ ifneq ($(CONFIG_PACKAGE_python3-gpiod),)
+ $(INSTALL_DIR) $(1)$(PYTHON3_PKG_DIR)
+ $(CP) $(PKG_INSTALL_DIR)$(PYTHON3_PKG_DIR)/* $(1)$(PYTHON3_PKG_DIR)
+ endif
endef
define Package/libgpiod/install
endef
define Package/libgpiod/install
$(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
endef
$(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
endef
-define Package/python3-gpiod/install
- $(INSTALL_DIR) $(1)/$(PYTHON3_PKG_DIR)
- $(CP) $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR)/gpiod.so $(1)/$(PYTHON3_PKG_DIR)
+define Py3Package/python3-gpiod/install
+ # this empty define prevent installing tools from /usr/bin
endef
$(eval $(call BuildPackage,libgpiod))
$(eval $(call BuildPackage,gpiod-tools))
endef
$(eval $(call BuildPackage,libgpiod))
$(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))