diff options
author | Mike Frysinger <vapier@gentoo.org> | 2014-10-16 19:00:31 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2014-10-16 19:00:31 +0000 |
commit | 6115017d299c505fdbaaca0a676e4fecfd175996 (patch) | |
tree | ce6d8bcf056c76f89234e67dfe07cbdd7fb488bc /sys-apps/i2c-tools | |
parent | Add subslot operator to libxcb dependency. (diff) | |
download | gentoo-2-6115017d299c505fdbaaca0a676e4fecfd175996.tar.gz gentoo-2-6115017d299c505fdbaaca0a676e4fecfd175996.tar.bz2 gentoo-2-6115017d299c505fdbaaca0a676e4fecfd175996.zip |
Version bump & port to distutils-r1 #524722 by Paul Zander. Port to python-3.x #492632 by Marcel Greter.
(Portage version: 2.2.14_rc1/cvs/Linux x86_64, signed Manifest commit with key D2E96200)
Diffstat (limited to 'sys-apps/i2c-tools')
-rw-r--r-- | sys-apps/i2c-tools/ChangeLog | 9 | ||||
-rw-r--r-- | sys-apps/i2c-tools/files/i2c-tools-3.1.1-python-3.patch | 129 | ||||
-rw-r--r-- | sys-apps/i2c-tools/i2c-tools-3.1.1.ebuild | 60 |
3 files changed, 197 insertions, 1 deletions
diff --git a/sys-apps/i2c-tools/ChangeLog b/sys-apps/i2c-tools/ChangeLog index 1fd310a9fdf0..005ae7e7eb02 100644 --- a/sys-apps/i2c-tools/ChangeLog +++ b/sys-apps/i2c-tools/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for sys-apps/i2c-tools # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/i2c-tools/ChangeLog,v 1.19 2014/03/12 03:15:18 patrick Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/i2c-tools/ChangeLog,v 1.20 2014/10/16 19:00:31 vapier Exp $ + +*i2c-tools-3.1.1 (16 Oct 2014) + + 16 Oct 2014; Mike Frysinger <vapier@gentoo.org> + +files/i2c-tools-3.1.1-python-3.patch, +i2c-tools-3.1.1.ebuild: + Version bump & port to distutils-r1 #524722 by Paul Zander. Port to + python-3.x #492632 by Marcel Greter. 12 Mar 2014; Patrick Lauer <patrick@gentoo.org> i2c-tools-3.0.2.ebuild, i2c-tools-3.1.0.ebuild: diff --git a/sys-apps/i2c-tools/files/i2c-tools-3.1.1-python-3.patch b/sys-apps/i2c-tools/files/i2c-tools-3.1.1-python-3.patch new file mode 100644 index 000000000000..1f3de76052e7 --- /dev/null +++ b/sys-apps/i2c-tools/files/i2c-tools-3.1.1-python-3.patch @@ -0,0 +1,129 @@ +support python-3.x + +http://comments.gmane.org/gmane.linux.drivers.i2c/11290 +https://bugs.gentoo.org/492632 + +--- a/py-smbus/smbusmodule.c ++++ b/py-smbus/smbusmodule.c +@@ -32,15 +32,18 @@ + #define I2C_SMBUS_I2C_BLOCK_DATA 8 + #endif + +-PyDoc_STRVAR(SMBus_module_doc, +- "This module defines an object type that allows SMBus transactions\n" +- "on hosts running the Linux kernel. The host kernel must have I2C\n" +- "support, I2C device interface support, and a bus adapter driver.\n" +- "All of these can be either built-in to the kernel, or loaded from\n" +- "modules.\n" +- "\n" +- "Because the I2C device interface is opened R/W, users of this\n" +- "module usually must have root permissions.\n"); ++#define module_doc \ ++ "This module defines an object type that allows SMBus transactions\n" \ ++ "on hosts running the Linux kernel. The host kernel must have I2C\n" \ ++ "support, I2C device interface support, and a bus adapter driver.\n" \ ++ "All of these can be either built-in to the kernel, or loaded from\n" \ ++ "modules.\n" \ ++ "\n" \ ++ "Because the I2C device interface is opened R/W, users of this\n" \ ++ "module usually must have root permissions.\n" ++#if PY_MAJOR_VERSION <= 2 ++PyDoc_STRVAR(SMBus_module_doc, module_doc); ++#endif + + typedef struct { + PyObject_HEAD +@@ -91,7 +94,11 @@ SMBus_dealloc(SMBus *self) + PyObject *ref = SMBus_close(self); + Py_XDECREF(ref); + ++#if PY_MAJOR_VERSION >= 3 ++ Py_TYPE(self)->tp_free((PyObject*)self); ++#else + self->ob_type->tp_free((PyObject *)self); ++#endif + } + + #define MAXPATH 16 +@@ -431,11 +438,19 @@ SMBus_list_to_data(PyObject *list, union i2c_smbus_data *data) + + for (ii = 0; ii < len; ii++) { + PyObject *val = PyList_GET_ITEM(list, ii); ++#if PY_MAJOR_VERSION >= 3 ++ if (!PyLong_Check(val)) { ++#else + if (!PyInt_Check(val)) { ++#endif + PyErr_SetString(PyExc_TypeError, msg); + return 0; /* fail */ + } ++#if PY_MAJOR_VERSION >= 3 ++ data->block[ii+1] = (__u8)PyLong_AS_LONG(val); ++#else + data->block[ii+1] = (__u8)PyInt_AS_LONG(val); ++#endif + } + + return 1; /* success */ +@@ -633,9 +648,27 @@ static PyGetSetDef SMBus_getset[] = { + {NULL}, + }; + ++#if PY_MAJOR_VERSION >= 3 ++static struct PyModuleDef SMBusModule = { ++ PyModuleDef_HEAD_INIT, ++ "smbus.SMBus", /* m_name */ ++ module_doc, /* m_doc */ ++ -1, /* m_size */ ++ NULL, /* m_methods */ ++ NULL, /* m_reload */ ++ NULL, /* m_traverse */ ++ NULL, /* m_clear */ ++ NULL, /* m_free */ ++}; ++#endif ++ + static PyTypeObject SMBus_type = { ++#if PY_MAJOR_VERSION >= 3 ++ PyVarObject_HEAD_INIT(NULL, 0) ++#else + PyObject_HEAD_INIT(NULL) + 0, /* ob_size */ ++#endif + "smbus.SMBus", /* tp_name */ + sizeof(SMBus), /* tp_basicsize */ + 0, /* tp_itemsize */ +@@ -683,16 +716,32 @@ static PyMethodDef SMBus_module_methods[] = { + #define PyMODINIT_FUNC void + #endif + PyMODINIT_FUNC +-initsmbus(void) ++#if PY_MAJOR_VERSION >= 3 ++PyInit_smbus(void) ++#else ++initsmbus(void) ++#endif + { + PyObject* m; + ++#if PY_MAJOR_VERSION >= 3 ++ if (PyType_Ready(&SMBus_type) < 0) ++ return NULL; ++ ++ m = PyModule_Create(&SMBusModule); ++ if (m == NULL) ++ return NULL; ++#else + if (PyType_Ready(&SMBus_type) < 0) + return; + + m = Py_InitModule3("smbus", SMBus_module_methods, SMBus_module_doc); ++#endif + + Py_INCREF(&SMBus_type); + PyModule_AddObject(m, "SMBus", (PyObject *)&SMBus_type); ++#if PY_MAJOR_VERSION >= 3 ++ return m; ++#endif + } + diff --git a/sys-apps/i2c-tools/i2c-tools-3.1.1.ebuild b/sys-apps/i2c-tools/i2c-tools-3.1.1.ebuild new file mode 100644 index 000000000000..36e71a21b183 --- /dev/null +++ b/sys-apps/i2c-tools/i2c-tools-3.1.1.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/i2c-tools/i2c-tools-3.1.1.ebuild,v 1.1 2014/10/16 19:00:31 vapier Exp $ + +EAPI="4" +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) +DISTUTILS_OPTIONAL="1" + +inherit flag-o-matic toolchain-funcs distutils-r1 + +DESCRIPTION="I2C tools for bus probing, chip dumping, register-level access helpers, EEPROM decoding, and more" +HOMEPAGE="http://www.lm-sensors.org/wiki/I2CTools" +SRC_URI="http://dl.lm-sensors.org/i2c-tools/releases/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~mips ~ppc ~ppc64 ~sparc ~x86" +IUSE="python" + +RDEPEND="!<sys-apps/lm_sensors-3 + python? ( ${PYTHON_DEPS} )" +DEPEND="${RDEPEND}" + +src_prepare() { + epatch "${FILESDIR}"/${PN}-3.1.1-python-3.patch #492632 + use python && distutils-r1_src_prepare +} + +src_configure() { + use python && distutils-r1_src_configure +} + +src_compile() { + emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" + emake -C eepromer CC=$(tc-getCC) CFLAGS="${CFLAGS} -I../include" + if use python ; then + cd py-smbus || die + append-cppflags -I../include + distutils-r1_src_compile + fi +} + +src_install() { + emake install prefix="${D}"/usr + dosbin eepromer/eepro{g,m{,er}} + rm -rf "${D}"/usr/include # part of linux-headers + dodoc CHANGES README + local d + for d in eeprom eepromer ; do + docinto ${d} + dodoc ${d}/README* + done + + if use python ; then + cd py-smbus || die + docinto py-smbus + dodoc README* + distutils-r1_src_install + fi +} |