summaryrefslogtreecommitdiff
path: root/sys-apps/i2c-tools
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/i2c-tools')
-rw-r--r--sys-apps/i2c-tools/Manifest6
-rw-r--r--sys-apps/i2c-tools/files/i2c-tools-3.1.1-python-3.patch129
-rw-r--r--sys-apps/i2c-tools/i2c-tools-3.1.1-r1.ebuild62
-rw-r--r--sys-apps/i2c-tools/metadata.xml7
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>