python-libconfig: new package
PATCH v3 1/2 python-libconfig: new package
Python bindings to the C++ library libconfig
https://github.com/cnangel/python-libconfig
---
Changes v2 -> v3:
-Avoid line-wrap using "git send-email"
Changes v1 -> v2:
-Fixed indentations and blank lines
-Added package/Config.in
package/Config.in | 1 + package/python-libconfig/Config.in | 9 +++++++++ package/python-libconfig/python-libconfig.mk | 17 +++++++++++++++++ 3 files changed, 27 insertions(+) create mode 100644 package/python-libconfig/Config.in create mode 100644 package/python-libconfig/python-libconfig.mk
package/Config.in +1 -0
@@ -442,6 +442,7 @@ source "package/python-id3/Config.in" source "package/python-ipy/Config.in" source "package/python-json-schema-validator/Config.in" source "package/python-keyring/Config.in" +source "package/python-libconfig/Config.in" source "package/python-mad/Config.in" source "package/python-meld3/Config.in" source "package/python-msgpack/Config.in"
(quoted diff) +0 -0
b/package/python-libconfig/Config.in
new file mode 100644
index 0000000..170926d
package/python-libconfig/Config.in new file +9 -0
@@ -0,0 +1,9 @@ +config BR2_PACKAGE_PYTHON_LIBCONFIG + bool "python-libconfig" + depends on BR2_PACKAGE_PYTHON + select BR2_PACKAGE_BOOST_PYTHON + select BR2_PACKAGE_LIBCONFIG + help + Python bindings to the C++ library libconfig + + https://github.com/cnangel/python-libconfig
(quoted diff) +0 -0
b/package/python-libconfig/python-libconfig.mk
new file mode 100644
index 0000000..3f5984b
package/python-libconfig/python-libconfig.mk new file +8 -0
@@ -0,0 +1,17 @@ +################################################################################ +# +# python-libconfig +# +################################################################################ + +PYTHON_LIBCONFIG_VERSION = b271c3d9dac938ad5cd29b67bd08cc5536a5a391 +PYTHON_LIBCONFIG_SITE = $(call
github,cnangel,python-libconfig,$(PYTHON_LIBCONFIG_VERSION)) +
+PYTHON_LIBCONFIG_LICENSE = BSD +PYTHON_LIBCONFIG_LICENSE_FILES = README
+
+PYTHON_LIBCONFIG_SETUP_TYPE = setuptools
+
+PYTHON_LIBCONFIG_DEPENDENCIES = libconfig boost
+
+$(eval $(python-package))
Signature · 16 lines
1.7.10.4 DISCLAIMER: Unless indicated otherwise, the information contained in this message is privileged and confidential, and is intended only for the use of the addressee(s) named above and others who have been specifically authorized to receive it. If you are not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message and/or attachments is strictly prohibited. The company accepts no liability for any damage caused by any virus transmitted by this email. Furthermore, the company does not warrant a proper and complete transmission of this information, nor does it accept liability for any delays. If you have received this message in error, please contact the sender and delete the message. Thank you.
PATCH v3 2/2 boost: make build with python an option
Add an option to boost to build the Boost.Python library.
http://www.boost.org/doc/libs/1_55_0/libs/python/doc/index.html
---
Changes v2 -> v3:
-Avoid line-wrap using "git send-email"
Changes v1 -> v2:
-Fixed indentations and blank lines
-Removed package/Config.in
-Allow build with python3
package/boost/Config.in | 4 ++++ package/boost/boost.mk | 13 +++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-)
package/boost/Config.in +4 -0
@@ -60,6 +60,10 @@ config BR2_PACKAGE_BOOST_MPI config BR2_PACKAGE_BOOST_PROGRAM_OPTIONS bool "boost-program_options" +config BR2_PACKAGE_BOOST_PYTHON + depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 + bool "boost-python" + config BR2_PACKAGE_BOOST_RANDOM bool "boost-random"
package/boost/boost.mk +0 -0
@@ -26,7 +26,7 @@ HOST_BOOST_FLAGS = --without-icu \ # atomic library compile only with upstream version, wait for next
release
# coroutine breaks on some weak toolchains and it's new for 1.54+ # log breaks with some toolchain combinations and it's new for 1.54+ -BOOST_WITHOUT_FLAGS = atomic coroutine log python +BOOST_WITHOUT_FLAGS = atomic coroutine log
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CHRONO),,chrono) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CONTEXT),,context)
@@ -40,6 +40,7 @@ BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_LOCALE),,locale)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_MATH),,math) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_MPI),,mpi) BOOST_WITHOUT_FLAGS += $(if
$(BR2_PACKAGE_BOOST_PROGRAM_OPTIONS),,program_options) +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_PYTHON),,python)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_RANDOM),,random) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_REGEX),,regex) BOOST_WITHOUT_FLAGS += $(if
$(BR2_PACKAGE_BOOST_SERIALIZATION),,serialization)
@@ -50,6 +51,8 @@ BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_THREAD),,thread)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_TIMER),,timer) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_WAVE),,wave)
+BOOST_TARGET_CXXFLAGS = $(TARGET_CXXFLAGS)
+
ifeq ($(BR2_PACKAGE_ICU),y)
BOOST_FLAGS += --with-icu=$(STAGING_DIR)/usr BOOST_DEPENDENCIES += icu
@@ -61,6 +64,12 @@ ifeq ($(BR2_PACKAGE_BOOST_IOSTREAMS),y)
BOOST_DEPENDENCIES += bzip2 zlib
endif
+ifeq ($(BR2_PACKAGE_BOOST_PYTHON),y)
+BOOST_FLAGS += --with-python-root=$(HOST_DIR) +BOOST_TARGET_CXXFLAGS
+= -I$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR)/ +BOOST_DEPENDENCIES += python
+endif
+
HOST_BOOST_OPT += toolset=gcc threading=multi variant=release link=shared
\
runtime-link=shared
@@ -84,7 +93,7 @@ BOOST_FLAGS += $(if $(BOOST_WITHOUT_FLAGS_COMMASEPERATED), --without-libraries=$
define BOOST_CONFIGURE_CMDS
(cd $(@D) && ./bootstrap.sh $(BOOST_FLAGS))
- echo "using gcc : $(TARGET_CC_VERSION) : $(TARGET_CXX) :
<cxxflags>\"$(TARGET_CXXFLAGS)\" <linkflags>\"$(TARGET_LDFLAGS)\" ;" > $(@D)/user-config.jam
+ echo "using gcc : $(TARGET_CC_VERSION) : $(TARGET_CXX) :
<cxxflags>\"$(BOOST_TARGET_CXXFLAGS)\" <linkflags>\"$(TARGET_LDFLAGS)\" ;"
Quoted 1 line
$(@D)/user-config.jam
echo "" >> $(@D)/user-config.jam
endef
Signature · 16 lines
1.7.10.4 DISCLAIMER: Unless indicated otherwise, the information contained in this message is privileged and confidential, and is intended only for the use of the addressee(s) named above and others who have been specifically authorized to receive it. If you are not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message and/or attachments is strictly prohibited. The company accepts no liability for any damage caused by any virus transmitted by this email. Furthermore, the company does not warrant a proper and complete transmission of this information, nor does it accept liability for any delays. If you have received this message in error, please contact the sender and delete the message. Thank you.
PATCH v3 2/2 boost: make build with python an option
Dear Johan Derycke,
Thanks a lot for your persistence with those patches, really appreciated!
package/boost/Config.in config BR2_PACKAGE_BOOST_MPI · line 65
Quoted 3 lines · Johan Derycke
package/boost/Config.in +3
-0+config BR2_PACKAGE_BOOST_PYTHON + depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 + bool "boost-python"
Ok, so this means that boost::python is compatible with Python 3, which seems to match various claims I've seen on the web.
Quoted 8 lines
# coroutine breaks on some weak toolchains and it's new for 1.54+ # log breaks with some toolchain combinations and it's new for 1.54+(quoted diff) +1
-1-BOOST_WITHOUT_FLAGS = atomic coroutine log python +BOOST_WITHOUT_FLAGS = atomic coroutine log BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CHRONO),,chrono) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CONTEXT),,context)
Review BOOST_WITHOUT_FLAGS += $(if · line 45
Quoted 6 lines
(quoted diff) +1
-0@@ -40,6 +40,7 @@ BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_LOCALE),,locale) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_MATH),,math) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_MPI),,mpi) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_PROGRAM_OPTIONS),,program_options) +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_PYTHON),,python)
Ok.
Quoted 15 lines
(quoted diff) +0
-0BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_RANDOM),,random)
BOOST_WITHOUT_FLAGS+= $(if $(BR2_PACKAGE_BOOST_REGEX),,regex)BOOST_WITHOUT_FLAGS+= $(if
$(BR2_PACKAGE_BOOST_SERIALIZATION),,serialization)(quoted diff) +2
-0@@ -50,6 +51,8 @@ BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_THREAD),,thread) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_TIMER),,timer) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_WAVE),,wave) +BOOST_TARGET_CXXFLAGS = $(TARGET_CXXFLAGS) + ifeq ($(BR2_PACKAGE_ICU),y) BOOST_FLAGS += --with-icu=$(STAGING_DIR)/usr
BOOST_DEPENDENCIES+= icu
Review ifeq ($(BR2_PACKAGE_BOOST_IOSTREAMS),y) · line 68
Quoted 5 lines
(quoted diff) +2
-0@@ -61,6 +64,12 @@ ifeq ($(BR2_PACKAGE_BOOST_IOSTREAMS),y) BOOST_DEPENDENCIES += bzip2 zlib endif +ifeq ($(BR2_PACKAGE_BOOST_PYTHON),y) +BOOST_FLAGS += --with-python-root=$(HOST_DIR)
Depending on what Boost needs exactly, this might be correct or not. It is correct to find a Python interpreter that runs on the build machine. But Boost uses that to ask the Python interpreter various details about the Python installation (such as the location of Python modules, the cross-compiler to use, etc.), then it will be wrong. I guess I'll have to have a look.
Review ifeq ($(BR2_PACKAGE_BOOST_IOSTREAMS),y) · line 71
Quoted 3 lines
(quoted diff) +3
-0+BOOST_TARGET_CXXFLAGS += -I$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR)/ +BOOST_DEPENDENCIES += python
This isn't going to work with Python 3. It should be:
ifeq ($(BR2_PACKAGE_PYTHON3),y)BOOST_TARGET_CXXFLAGS += -I$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR) BOOST_DEPENDENCIES += python3
elseBOOST_TARGET_CXXFLAGS += -I$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR) BOOST_DEPENDENCIES += python
endif
Quoted 16 lines
(quoted diff) +2
-0+endif + HOST_BOOST_OPT += toolset=gcc threading=multi variant=release link=shared \ runtime-link=shared@@ -84,7 +93,7 @@ BOOST_FLAGS += $(if$(BOOST_WITHOUT_FLAGS_COMMASEPERATED), --without-libraries=$
define
BOOST_CONFIGURE_CMDS(quoted diff) +0
-1(cd $(@D) && ./bootstrap.sh $(BOOST_FLAGS)) - echo "using gcc : $(TARGET_CC_VERSION) : $(TARGET_CXX) :<cxxflags>\"$(TARGET_CXXFLAGS)\" <linkflags>\"$(TARGET_LDFLAGS)\" ;" > $(@D)/user-config.jam
(quoted diff) +1
-0+ echo "using gcc : $(TARGET_CC_VERSION) : $(TARGET_CXX) :<cxxflags>\"$(BOOST_TARGET_CXXFLAGS)\" <linkflags>\"$(TARGET_LDFLAGS)\" ;"
Quoted 4 lines
Quoted 1 line
$(@D)/user-config.jam
echo "" >> $(@D)/user-config.jam
endef
Ok.
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v3 1/2 python-libconfig: new package
In reply to Johan DeryckeDear Johan Derycke,
Quoted 7 lines · Johan Derycke
Python bindings to the C++ library libconfig
https://github.com/cnangel/python-libconfigSigned-off-by Johan Derycke <[email protected]>---
Changes v2 -> v3:
-Avoid line-wrap using "git send-email"
Unfortunately, even though you have used "git send-email" this time, the patches are still line-wrapped. I strongly suspect that your company SMTP server, while adding the useless "DISCLAIMER" at the end of each e-mail, takes the freedom to rewrap the entire e-mail.
Solutions are:
*) Complain to your IT people.
*) Send using another SMTP server.
*) Let us fix up the patches manually. This is OK for small patches,
but is quickly going to be horrible if the patches become large.
package/python-libconfig/Config.in line 3
Quoted 10 lines
package/python-libconfig/Config.in new file +3
-0@@ -0,0 +1,9 @@ +config BR2_PACKAGE_PYTHON_LIBCONFIG + bool "python-libconfig" + depends on BR2_PACKAGE_PYTHON
Ok, so this package only builds with Python 2, correct?
package/python-libconfig/Config.in line 4
Quoted 1 line
package/python-libconfig/Config.in new file +1
-0+ select BR2_PACKAGE_BOOST_PYTHON
I must say it's really horrible to need something as large as Boost just to have a Python interface to a library as simple as libconfig. But oh well, that's not your fault.
Quoted 21 lines
package/python-libconfig/Config.in new file +5
-0+ select BR2_PACKAGE_LIBCONFIG + help + Python bindings to the C++ library libconfig + + https://github.com/cnangel/python-libconfigpackage/python-libconfig/python-libconfig.mk new file +8
-0@@ -0,0 +1,17 @@ +################################################################################ +# +# python-libconfig +# +################################################################################ + +PYTHON_LIBCONFIG_VERSION = b271c3d9dac938ad5cd29b67bd08cc5536a5a391 +PYTHON_LIBCONFIG_SITE = $(callgithub,cnangel,python-libconfig,$(PYTHON_LIBCONFIG_VERSION))
package/python-libconfig/python-libconfig.mk
Quoted 9 lines
package/python-libconfig/python-libconfig.mk new file +9
-0+ +PYTHON_LIBCONFIG_LICENSE = BSD +PYTHON_LIBCONFIG_LICENSE_FILES = README + +PYTHON_LIBCONFIG_SETUP_TYPE = setuptools + +PYTHON_LIBCONFIG_DEPENDENCIES = libconfig boost + +$(eval $(python-package))
This looks good, but since this patch actually depends on the next patch, they should be inverted in the patch series: the boost patch first, and then the python-libconfig patch.
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
Derycke
PATCH v3 1/2 python-libconfig: new package
Hi Thomas,
Quoted 16 lines · Thomas Petazzoni
Dear Johan Derycke,
Quoted 7 lines · Johan Derycke
Python bindings to the C++ library libconfig
https://github.com/cnangel/python-libconfigSigned-off-by Johan Derycke <[email protected]>---
Changes v2 -> v3:
-Avoid line-wrap using "git send-email"Unfortunately, even though you have used "git send-email" this time, the patches are still line-wrapped. I strongly suspect that your company SMTP server, while adding the useless "DISCLAIMER" at the end of each e-mail, takes the freedom to rewrap the entire e-mail.
Quoted 8 lines
Solutions are:
*) Complain to your IT people.
*) Send using another SMTP server.
*) Let us fix up the patches manually. This is OK for small patches,
but is quickly going to be horrible if the patches become large.
I will try with gmail smtp next time...
Quoted 4 lines
Quoted 4 lines
package/python-libconfig/Config.in new file +0
-0
Quoted 8 lines
package/python-libconfig/Config.in line 3
Quoted 6 lines
package/python-libconfig/Config.in new file +3
-0@@ -0,0 +1,9 @@ +config BR2_PACKAGE_PYTHON_LIBCONFIG + bool "python-libconfig" + depends on BR2_PACKAGE_PYTHONOk, so this package only builds with Python 2, correct?
It did not work with python3 because boost:python was wrong for python3. I was able to run a small python script with "from pylibconfig import Config" for both python2 and python3. I will re-enable it in v4 patch.
Quoted 42 lines
package/python-libconfig/Config.in line 4
Quoted 2 lines
package/python-libconfig/Config.in new file +1
-0+ select BR2_PACKAGE_BOOST_PYTHONI must say it's really horrible to need something as large as Boost just to have a Python interface to a library as simple as libconfig. But oh well, that's not your fault.
Quoted 21 lines
package/python-libconfig/Config.in new file +5
-0+ select BR2_PACKAGE_LIBCONFIG + help + Python bindings to the C++ library libconfig + + https://github.com/cnangel/python-libconfigpackage/python-libconfig/python-libconfig.mk new file +8
-0@@ -0,0 +1,17 @@ +################################################################################ +# +# python-libconfig +# +################################################################################ + +PYTHON_LIBCONFIG_VERSION = b271c3d9dac938ad5cd29b67bd08cc5536a5a391 +PYTHON_LIBCONFIG_SITE = $(callgithub,cnangel,python-libconfig,$(PYTHON_LIBCONFIG_VERSION))
package/python-libconfig/python-libconfig.mk
Quoted 9 lines
package/python-libconfig/python-libconfig.mk new file +9
-0+ +PYTHON_LIBCONFIG_LICENSE = BSD +PYTHON_LIBCONFIG_LICENSE_FILES = README + +PYTHON_LIBCONFIG_SETUP_TYPE = setuptools + +PYTHON_LIBCONFIG_DEPENDENCIES = libconfig boost + +$(eval $(python-package))This looks good, but since this patch actually depends on the next patch, they should be inverted in the patch series: the boost patch first, and then the python-libconfig patch.
Quoted 3 lines
Thanks!
Thomas
Thanks for the review
Johan
This message is subject to the following terms and conditions: MAIL DISCLAIMER<http://www.barco.com/en/maildisclaimer>