libgpiod: bump version to v1.1
PATCH 1/1 libgpiod: bump version to v1.1
This is a minor release the main feature of which are the object-oriented bindings for C++ and Python3. Other than that there's a couple bug-fixes and minor improvements all around.
--- package/libgpiod/Config.in | 20 ++++++++++++++++++++ package/libgpiod/libgpiod.hash | 2 +- package/libgpiod/libgpiod.mk | 20 ++++++++++++++++++-- 3 files changed, 39 insertions(+), 3 deletions(-)
package/libgpiod/Config.in +20 -0
@@ -14,6 +14,26 @@ config BR2_PACKAGE_LIBGPIOD_TOOLS help Include a set of command-line tools for managing GPIOs. +config BR2_PACKAGE_LIBGPIODCXX + bool "install C++ bindings" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + help + Build C++ bindings for libgpiod. + +comment "C++ bindings need a toolchain w/ C++, gcc >= 4.8" + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + +config BR2_PACKAGE_LIBGPIOD_PYTHON + bool "install python bindings" + depends on BR2_PACKAGE_PYTHON3 + help + Build Python3 bindings for libgpiod. + +comment "Python bindings need python3" + depends on !BR2_PACKAGE_PYTHON3 + endif comment "libgpiod needs kernel headers >= 4.8"
package/libgpiod/libgpiod.hash +1 -1
@@ -1,4 +1,4 @@ # From https://www.kernel.org/pub/software/libs/libgpiod/sha256sums.asc -sha256 972924195367f5fb045c023d65340c4b7dfc8764499516be446553865208dedc libgpiod-1.0.1.tar.xz +sha256 9758466468a7ef3f5e30c182c1303abef6241e665cda4d82a64328a7474838c1 libgpiod-1.1.tar.xz # Hash for license file sha256 ce64d5f7b49ea6d80fdb6d4cdee6839d1a94274f7493dc797c3b55b65ec8e9ed COPYING
package/libgpiod/libgpiod.mk +18 -2
@@ -4,13 +4,12 @@ # ################################################################################ -LIBGPIOD_VERSION = 1.0.1 +LIBGPIOD_VERSION = 1.1 LIBGPIOD_SOURCE = libgpiod-$(LIBGPIOD_VERSION).tar.xz LIBGPIOD_SITE = https://www.kernel.org/pub/software/libs/libgpiod LIBGPIOD_LICENSE = LGPL-2.1+ LIBGPIOD_LICENSE_FILES = COPYING LIBGPIOD_INSTALL_STAGING = YES - LIBGPIOD_DEPENDENCIES = host-pkgconf ifeq ($(BR2_PACKAGE_LIBGPIOD_TOOLS),y)
@@ -19,4 +18,21 @@ else LIBGPIOD_CONF_OPTS += --disable-tools endif +ifeq ($(BR2_PACKAGE_LIBGPIODCXX),y) +LIBGPIOD_CONF_OPTS += --enable-bindings-cxx +else +LIBGPIOD_CONF_OPTS += --disable-bindings-cxx +endif + +ifeq ($(BR2_PACKAGE_LIBGPIOD_PYTHON),y) +LIBGPIOD_CONF_OPTS += --enable-bindings-python +LIBGPIOD_DEPENDENCIES += python3 host-python3 +LIBGPIOD_CONF_ENV += \ + PYTHON=$(HOST_DIR)/bin/python3 \ + PYTHON_CPPFLAGS="`$(STAGING_DIR)/usr/bin/python3-config --includes`" \ + PYTHON_LIBS="`$(STAGING_DIR)/usr/bin/python3-config --ldflags`" +else +LIBGPIOD_CONF_OPTS += --disable-bindings-python +endif + $(eval $(autotools-package))
Signature · 1 line
2.17.0
PATCH 1/1 libgpiod: bump version to v1.1
Quoted 3 lines · Bartosz Golaszewski
This is a minor release the main feature of which are the object-oriented bindings for C++ and Python3. Other than that there's a couple bug-fixes and minor improvements all around.
So for -next, I guess?
Quoted 13 lines
Signed-off-by Bartosz Golaszewski <[email protected]>--- package/libgpiod/Config.in | 20 ++++++++++++++++++++ package/libgpiod/libgpiod.hash | 2 +- package/libgpiod/libgpiod.mk | 20 ++++++++++++++++++-- 3 files changed, 39 insertions(+), 3 deletions(-)package/libgpiod/Config.in +0
-0
package/libgpiod/Config.in config BR2_PACKAGE_LIBGPIOD_TOOLS · line 20
Quoted 7 lines
package/libgpiod/Config.in +4
-0@@ -14,6 +14,26 @@ config BR2_PACKAGE_LIBGPIOD_TOOLS help Include a set of command-line tools for managing GPIOs. +config BR2_PACKAGE_LIBGPIODCXX + bool "install C++ bindings" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
Is there really a need to make these bindings optional? We try to avoid too
many Config.in options. So only if the bindings are relatively large on target it's worthwhile to make them optional (more than, say 20% of libgpiod itself, after stripping).
If the bindings don't make it much larger, you can just move the dependencies
to the BR2_PACKAGE_LIBGPIODCXX condition in the .mk file.
package/libgpiod/Config.in config BR2_PACKAGE_LIBGPIOD_TOOLS · line 30
Quoted 10 lines
package/libgpiod/Config.in +10
-0+ help + Build C++ bindings for libgpiod. + +comment "C++ bindings need a toolchain w/ C++, gcc >= 4.8" + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + +config BR2_PACKAGE_LIBGPIOD_PYTHON + bool "install python bindings" + depends on BR2_PACKAGE_PYTHON3
Same here of course.
Otherwise,
Regards,
Arnout
Quoted 7 lines
package/libgpiod/Config.in +6
-0+ help + Build Python3 bindings for libgpiod. + +comment "Python bindings need python3" + depends on !BR2_PACKAGE_PYTHON3 + endif
[snip]
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
PATCH 1/1 libgpiod: bump version to v1.1
2018-05-16 23:48 GMT+02:00 Arnout Vandecappelle <[email protected]>:
Quoted 25 lines · Bartosz Golaszewski
Quoted 3 lines
This is a minor release the main feature of which are the object-oriented bindings for C++ and Python3. Other than that there's a couple bug-fixes and minor improvements all around.
So for -next, I guess?
Quoted 16 lines
Signed-off-by Bartosz Golaszewski <[email protected]>--- package/libgpiod/Config.in | 20 ++++++++++++++++++++ package/libgpiod/libgpiod.hash | 2 +- package/libgpiod/libgpiod.mk | 20 ++++++++++++++++++-- 3 files changed, 39 insertions(+), 3 deletions(-)package/libgpiod/Config.in +0
-0@@ -14,6 +14,26 @@ config BR2_PACKAGE_LIBGPIOD_TOOLS help Include a set of command-line tools for managing GPIOs.
Quoted 10 lines
package/libgpiod/Config.in config BR2_PACKAGE_LIBGPIOD_TOOLS · line 20
Quoted 4 lines
package/libgpiod/Config.in +4
-0+config BR2_PACKAGE_LIBGPIODCXX + bool "install C++ bindings" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11Is there really a need to make these bindings optional? We try to avoid too
many Config.in options. So only if the bindings are relatively large on target it's worthwhile to make them optional (more than, say 20% of libgpiod itself, after stripping).
The basic library and tools only require a libc and recent kernel headers. I don't want users of very simple systems to carry all those dependencies for C++ and Python if they're not using it.
Quoted 34 lines
If the bindings don't make it much larger, you can just move the dependencies
to theBR2_PACKAGE_LIBGPIODCXXcondition in the .mk file.package/libgpiod/Config.in config BR2_PACKAGE_LIBGPIOD_TOOLS · line 30
Quoted 10 lines
package/libgpiod/Config.in +10
-0+ help + Build C++ bindings for libgpiod. + +comment "C++ bindings need a toolchain w/ C++, gcc >= 4.8" + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + +config BR2_PACKAGE_LIBGPIOD_PYTHON + bool "install python bindings" + depends on BR2_PACKAGE_PYTHON3Same here of course.
Otherwise,
Regards,
ArnoutQuoted 7 lines
package/libgpiod/Config.in +6
-0+ help + Build Python3 bindings for libgpiod. + +comment "Python bindings need python3" + depends on !BR2_PACKAGE_PYTHON3 + endif[snip]
Quoted 2 lines
--
Arnout Vandecappelle arnout at mind be
Thanks,
Bart
PATCH 1/1 libgpiod: bump version to v1.1
Hi Bartosz,
Quoted 33 lines · Bartosz Golaszewski
2018-05-16 23:48 GMT+02:00 Arnout Vandecappelle <[email protected]>:
Quoted 22 lines · Bartosz Golaszewski
Quoted 3 lines
This is a minor release the main feature of which are the object-oriented bindings for C++ and Python3. Other than that there's a couple bug-fixes and minor improvements all around.
So for -next, I guess?
Quoted 15 lines
Signed-off-by Bartosz Golaszewski <[email protected]>--- package/libgpiod/Config.in | 20 ++++++++++++++++++++ package/libgpiod/libgpiod.hash | 2 +- package/libgpiod/libgpiod.mk | 20 ++++++++++++++++++-- 3 files changed, 39 insertions(+), 3 deletions(-)package/libgpiod/Config.in +0
-0@@ -14,6 +14,26 @@ config BR2_PACKAGE_LIBGPIOD_TOOLS help Include a set of command-line tools for managing GPIOs.Quoted 9 lines
package/libgpiod/Config.in config BR2_PACKAGE_LIBGPIOD_TOOLS · line 20
Quoted 4 lines
package/libgpiod/Config.in +4
-0+config BR2_PACKAGE_LIBGPIODCXX + bool "install C++ bindings" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11Is there really a need to make these bindings optional? We try to avoid too
many Config.in options. So only if the bindings are relatively large on target it's worthwhile to make them optional (more than, say 20% of libgpiod itself, after stripping).
Quoted 3 lines
The basic library and tools only require a libc and recent kernel headers. I don't want users of very simple systems to carry all those dependencies for C++ and Python if they're not using it.
You don't need to. You can make BR2_INSTALL_LIBSTDCPP an optional dependency. If it is defined, install the C++ binding. Same goes for Python. That is what Arnout suggests.
baruch
Signature · 3 lines
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -PATCH 1/1 libgpiod: bump version to v1.1
2018-05-17 9:20 GMT+02:00 Baruch Siach <[email protected]>:
Quoted 36 lines
Hi Bartosz,
Quoted 33 lines · Bartosz Golaszewski
2018-05-16 23:48 GMT+02:00 Arnout Vandecappelle <[email protected]>:
Quoted 31 lines · Bartosz Golaszewski
Quoted 3 lines
This is a minor release the main feature of which are the object-oriented bindings for C++ and Python3. Other than that there's a couple bug-fixes and minor improvements all around.
So for -next, I guess?
Quoted 12 lines
Signed-off-by Bartosz Golaszewski <[email protected]>--- package/libgpiod/Config.in | 20 ++++++++++++++++++++ package/libgpiod/libgpiod.hash | 2 +- package/libgpiod/libgpiod.mk | 20 ++++++++++++++++++-- 3 files changed, 39 insertions(+), 3 deletions(-)package/libgpiod/Config.in +0
-0package/libgpiod/Config.in config BR2_PACKAGE_LIBGPIOD_TOOLS · line 20
Quoted 7 lines
package/libgpiod/Config.in +4
-0@@ -14,6 +14,26 @@ config BR2_PACKAGE_LIBGPIOD_TOOLS help Include a set of command-line tools for managing GPIOs. +config BR2_PACKAGE_LIBGPIODCXX + bool "install C++ bindings" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11Is there really a need to make these bindings optional? We try to avoid too
many Config.in options. So only if the bindings are relatively large on target it's worthwhile to make them optional (more than, say 20% of libgpiod itself, after stripping).
Quoted 8 lines
Quoted 3 lines
The basic library and tools only require a libc and recent kernel headers. I don't want users of very simple systems to carry all those dependencies for C++ and Python if they're not using it.
You don't need to. You can make
BR2_INSTALL_LIBSTDCPPan optional dependency. If it is defined, install the C++ binding. Same goes for Python. That is what Arnout suggests.
I'm afraid I don't understand. Could you maybe point me to some example?
Bart
PATCH 1/1 libgpiod: bump version to v1.1
Hello,
Quoted 6 lines · Bartosz Golaszewski
Quoted 4 lines
You don't need to. You can make
BR2_INSTALL_LIBSTDCPPan optional dependency. If it is defined, install the C++ binding. Same goes for Python. That is what Arnout suggests.I'm afraid I don't understand. Could you maybe point me to some example?
ifeq ($(BR2_INSTALL_LIBSTDCPP),y)
... enable the build/installation of C++ bindings
endif
ifeq ($(BR2_PACKAGE_PYTHON),y)
... enable the build/istallation of Python bindings endif
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com