diff options
Diffstat (limited to 'sys-apps/i2c-tools')
-rw-r--r-- | sys-apps/i2c-tools/Manifest | 6 | ||||
-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-r1.ebuild | 62 | ||||
-rw-r--r-- | sys-apps/i2c-tools/metadata.xml | 7 |
4 files changed, 204 insertions, 0 deletions
diff --git a/sys-apps/i2c-tools/Manifest b/sys-apps/i2c-tools/Manifest new file mode 100644 index 000000000000..4e0463cf42e6 --- /dev/null +++ b/sys-apps/i2c-tools/Manifest @@ -0,0 +1,6 @@ +AUX i2c-tools-3.1.1-python-3.patch 3348 SHA256 38ad348a8e18571e49f01874df05fb9f13e1b7e8e2c659f684eae68ddee34920 SHA512 0f264e49237af0318c868deac39bdd7c2b718c39317c2e47b15ad7d421530dc165f38b5995ca45bcfd65074ab51022d88ced6f2d589e30ebbab1702cf964f8da WHIRLPOOL 45238e25f6eefbd7a9bac665dd8a0f4f41ee8c096e804af8e27745b1109bcb35e8eb6565b9b181ae24834c938259cbd40f77837729c93ed8ad3ab27ef1b1abea +DIST i2c-tools-3.1.1.tar.bz2 71789 SHA256 14d4d7d60d1c12e43f2befe239c682a5c44c27682f153d4b58c1e392d2db1700 SHA512 b91f89b803e5558d49ce63f42f6542438f4f47927e4ce420cd9df989cab14a5c55d971befed73e8f793b0cf4aa41936c0ef519e5a407dceb2c08964461e803c5 WHIRLPOOL 5d68236a7c6e5075625420d1e9cb0a075e8e064babbb73163a2bf2a5cf2b0b169e1420ab1ef495533c88f53497767f6256b817c49b5d9f1799f3bde6d7e26b24 +EBUILD i2c-tools-3.1.1-r1.ebuild 1431 SHA256 23b42a156d5214eed6d3dc34307c1d93bb5408df72436c5668e7fab5ff86d558 SHA512 03b8a80f90970877019cc27d519e535fb7478d636603b937a63f375b3c7ed8264bf975bc3640541afbe02ca7f0de7e226940f6a0f6ab4a7f9d54f2fc02efc564 WHIRLPOOL fce45f25540a16e5170399f9c9ae8014f9b7375fc57df128d170e5bdf0d67993282431432e105b2619a69b1b977c9ea541ac294c95e88a843f6bb47d080cef02 +MISC ChangeLog 3286 SHA256 162cfb4f7ffbd61f1db4d07fc57d5cabe6f70c5421870293e8d549988bfa43da SHA512 3d2cbab2da2f760c62885976684210885ef68d159bc58aaf5b775e7cad061f81a7f784e7362120250fbaedd7e7e426d871ccf86da5f04b7eb11e1577228d261d WHIRLPOOL dbd0b1329d3baab3b55bb1f9ce9758715265fb7e9f87807b7ee4240478e1012cfb6fcf97f13ec36b0cea3bd8ad56e98cd6cfdc10ec91f729f2fae32e50509e45 +MISC ChangeLog-2015 3011 SHA256 cfcad5410941d8a29eb27fe22801a3fe6e950651c029e53d4aa20c69b540ee08 SHA512 c51ef452d5bd5b537dbd48f44934e777f635b8b1649407a46cf99486f26c543c93910a50b2f18b0fd2493214bb68eb6a02d4bb920b460c0a1e373aaff51b7da1 WHIRLPOOL 39c7c526ec554a092dfe76f3be89ad37c1dbae6a418ccffa0e16826e0b7711116ce8200446b397f4b656852dd6c6c955d85e9a6c9f63a21b4ac702edc09fd12f +MISC metadata.xml 214 SHA256 d676fbb74b55d2339af4f261fba3cdbbcd50b0eb8806b4a2f1346135fbcb3781 SHA512 ae2a716aa849a3e9bd264007acc830ed4ee3c3acd1fc76ed1a60c683e248bded6aeefa174f04d70f0a7705c57bbd1e1ca44fd975f140c12de415381702d8df43 WHIRLPOOL 1115d462a34a47acebe81d238d4bcc9d8852786808a13cccf7c6cf022eed56655a640ee8ae253f26513f0931e338688eff3ea677627adad0d45cfb43545877ab 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-r1.ebuild b/sys-apps/i2c-tools/i2c-tools-3.1.1-r1.ebuild new file mode 100644 index 000000000000..342d6295325e --- /dev/null +++ b/sys-apps/i2c-tools/i2c-tools-3.1.1-r1.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) +DISTUTILS_OPTIONAL="1" + +inherit flag-o-matic toolchain-funcs distutils-r1 + +DESCRIPTION="I2C tools for bus probing, chip dumping, 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 ~arm64 ~mips ~ppc ~ppc64 ~sparc x86" +IUSE="python" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND="!<sys-apps/lm_sensors-3 + python? ( ${PYTHON_DEPS} )" +DEPEND="${RDEPEND}" + +src_prepare() { + default + 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 +} diff --git a/sys-apps/i2c-tools/metadata.xml b/sys-apps/i2c-tools/metadata.xml new file mode 100644 index 000000000000..65aa159cc0c9 --- /dev/null +++ b/sys-apps/i2c-tools/metadata.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type='person'> + <email>vapier@gentoo.org</email> +</maintainer> +</pkgmetadata> |