Message ID | 1428272105-27627-2-git-send-email-ryanbarnett3@gmail.com |
---|---|
State | Accepted |
Headers | show |
Dear Ryan Barnett, On Sun, 5 Apr 2015 17:15:05 -0500, Ryan Barnett wrote: > Add a config option to build the python bindings for i2c-tools - > py-smbus. The steps for building the python bindings is the same as > the distutil steps that are a part of the python infrastructure. > > Signed-off-by: Ryan Barnett <ryanbarnett3@gmail.com> > CC: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > CC: Baruch Siach <baruch@tkos.co.il> > CC: Yann E. MORIN <yann.morin.1998@free.fr> Applied. Did you check that i2c-tools python support was Python 2 only? Or does it also support Python 3 ? Best regards, Thomas
Thomas, All, On 2015-04-06 11:03 +0200, Thomas Petazzoni spake thusly: > On Sun, 5 Apr 2015 17:15:05 -0500, Ryan Barnett wrote: > > Add a config option to build the python bindings for i2c-tools - > > py-smbus. The steps for building the python bindings is the same as > > the distutil steps that are a part of the python infrastructure. > > > > Signed-off-by: Ryan Barnett <ryanbarnett3@gmail.com> > > CC: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > > CC: Baruch Siach <baruch@tkos.co.il> > > CC: Yann E. MORIN <yann.morin.1998@free.fr> > > Applied. Did you check that i2c-tools python support was Python 2 only? > Or does it also support Python 3 ? Yes, it is Python-2 only (see the v1->v2 changelog in the commit notes). Regards, Yann E. MORIN.
Dear Ryan Barnett, Yann E. MORIN, Thomas Petazzoni, 2015-04-06 11:07 GMT+02:00 Yann E. MORIN <yann.morin.1998@free.fr>: > Thomas, All, > > On 2015-04-06 11:03 +0200, Thomas Petazzoni spake thusly: >> On Sun, 5 Apr 2015 17:15:05 -0500, Ryan Barnett wrote: >> > Add a config option to build the python bindings for i2c-tools - >> > py-smbus. The steps for building the python bindings is the same as >> > the distutil steps that are a part of the python infrastructure. >> > >> > Signed-off-by: Ryan Barnett <ryanbarnett3@gmail.com> >> > CC: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> >> > CC: Baruch Siach <baruch@tkos.co.il> >> > CC: Yann E. MORIN <yann.morin.1998@free.fr> >> >> Applied. Did you check that i2c-tools python support was Python 2 only? >> Or does it also support Python 3 ? > > Yes, it is Python-2 only (see the v1->v2 changelog in the commit notes). This is not true! Py-smbus supports python 3, se the commit here for further reference: http://www.lm-sensors.org/changeset/6267 Sincerely, Angelo > Regards, > Yann E. MORIN. > > -- > .-----------------.--------------------.------------------.--------------------. > | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | > | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | > | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | > | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | > '------------------------------^-------^------------------^--------------------' > _______________________________________________ > buildroot mailing list > buildroot@busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot
Angelo, On Thu, Apr 9, 2015 at 1:32 AM, Angelo Compagnucci <angelo.compagnucci@gmail.com> wrote: > Dear Ryan Barnett, Yann E. MORIN, Thomas Petazzoni, > >>> Applied. Did you check that i2c-tools python support was Python 2 only? >>> Or does it also support Python 3 ? >> >> Yes, it is Python-2 only (see the v1->v2 changelog in the commit notes). > > This is not true! Py-smbus supports python 3, se the commit here for > further reference: > > http://www.lm-sensors.org/changeset/6267 When I tried to compile for Python 3 - I had many errors about not finding Python3 functions. I would image that was probably due to the fact that the include paths weren't correct. However, at that time I had lost interest. Please feel free to add support for Python 3 for py-smbus (i2c-tools). Will be sure to review and test it. Thanks, -Ryan
Dear Ryan Barnett, 2015-04-09 15:11 GMT+02:00 Ryan Barnett <ryanbarnett3@gmail.com>: > Angelo, > > On Thu, Apr 9, 2015 at 1:32 AM, Angelo Compagnucci > <angelo.compagnucci@gmail.com> wrote: >> Dear Ryan Barnett, Yann E. MORIN, Thomas Petazzoni, >> >>>> Applied. Did you check that i2c-tools python support was Python 2 only? >>>> Or does it also support Python 3 ? >>> >>> Yes, it is Python-2 only (see the v1->v2 changelog in the commit notes). >> >> This is not true! Py-smbus supports python 3, se the commit here for >> further reference: >> >> http://www.lm-sensors.org/changeset/6267 > > When I tried to compile for Python 3 - I had many errors about not > finding Python3 functions. I would image that was probably due to the > fact that the include paths weren't correct. However, at that time I > had lost interest. > > Please feel free to add support for Python 3 for py-smbus (i2c-tools). > Will be sure to review and test it. Mea culpa! The version with python3 support is not released, the support is only in trunk! Sincerely, Angelo. > > Thanks, > -Ryan
diff --git a/package/i2c-tools/i2c-tools.mk b/package/i2c-tools/i2c-tools.mk index 0115e22..6c156ca 100644 --- a/package/i2c-tools/i2c-tools.mk +++ b/package/i2c-tools/i2c-tools.mk @@ -10,8 +10,34 @@ I2C_TOOLS_SITE = http://dl.lm-sensors.org/i2c-tools/releases I2C_TOOLS_LICENSE = GPLv2+, GPLv2 (py-smbus) I2C_TOOLS_LICENSE_FILES = COPYING +# Build/install steps mirror the distutil python package type in the python package +# infrastructure +ifeq ($(BR2_PACKAGE_PYTHON),y) +I2C_TOOLS_DEPENDENCIES += python +# BASE_ENV taken from PKG_PYTHON_DISTUTILS_ENV in package/pkg-python.mk +I2C_TOOLS_PYTHON_BASE_ENV = \ + $(PKG_PYTHON_DISTUTILS_ENV) \ + CFLAGS="$(TARGET_CFLAGS) -I../include" + +define I2C_TOOLS_BUILD_PYSMBUS + (cd $(@D)/py-smbus; \ + $(I2C_TOOLS_PYTHON_BASE_ENV) \ + $(HOST_DIR)/usr/bin/python setup.py build \ + $(PKG_PYTHON_DISTUTILS_BUILD_OPTS)) +endef + +define I2C_TOOLS_INSTALL_PYSMBUS + (cd $(@D)/py-smbus; \ + $(I2C_TOOLS_PYTHON_BASE_ENV) \ + $(HOST_DIR)/usr/bin/python setup.py install \ + $(PKG_PYTHON_DISTUTILS_INSTALL_TARGET_OPTS)) +endef + +endif # BR2_PACKAGE_PYTHON + define I2C_TOOLS_BUILD_CMDS $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) + $(I2C_TOOLS_BUILD_PYSMBUS) endef define I2C_TOOLS_INSTALL_TARGET_CMDS @@ -19,6 +45,7 @@ define I2C_TOOLS_INSTALL_TARGET_CMDS do \ $(INSTALL) -m 755 -D $(@D)/tools/$$i $(TARGET_DIR)/usr/bin/$$i; \ done + $(I2C_TOOLS_INSTALL_PYSMBUS) endef $(eval $(generic-package))
Add a config option to build the python bindings for i2c-tools - py-smbus. The steps for building the python bindings is the same as the distutil steps that are a part of the python infrastructure. Signed-off-by: Ryan Barnett <ryanbarnett3@gmail.com> CC: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> CC: Baruch Siach <baruch@tkos.co.il> CC: Yann E. MORIN <yann.morin.1998@free.fr> --- Changes v4 -> v5: - Actually send v4 change :) Changes v3 -> v4: - Move define of BASE_ENV under BR2_PACKAGE_PYTHON (Yann) Changes v2 -> v3: - Removed Config.in entry (suggested by Baruch) - Moved install and build defines with the CMD block (suggested by Yann) Changes v1 -> v2: - Fixed spelling in config entry - Utilize the python infrastructure variables for environment and build/install opts (suggested by Thomas P) - Only support python2.7 since this is not compatabile with python3 (suggested by Baruch) --- package/i2c-tools/i2c-tools.mk | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+)