sys-apps/i2c-tools: Sync with gentoo

It's from gentoo commit 474c7f8fdf4d45aaaed6bfffa4f3a25fa0fc7f91.
This commit is contained in:
Krzesimir Nowak 2021-11-17 22:14:28 +01:00
parent 54820d5586
commit f923f9050f
7 changed files with 173 additions and 211 deletions

View File

@ -1,2 +1,3 @@
DIST i2c-tools-3.1.1.tar.bz2 71789 BLAKE2B 0a7a3db6a3b396cfb8d5e58d8c83cae4e52239786502c6552d971350f7fc05a1ce9d7d89e9cdb154a21ac15bdf34aa0dec9501ea45317ec9c5d9fc211780bbf1 SHA512 b91f89b803e5558d49ce63f42f6542438f4f47927e4ce420cd9df989cab14a5c55d971befed73e8f793b0cf4aa41936c0ef519e5a407dceb2c08964461e803c5
DIST i2c-tools-4.0.tar.xz 79972 BLAKE2B 982e4139ed0e2111f9e082d0690fcc0f86f97a433e292e9464b41991f14a1f90147a3612172bad6880f0df6896612e1dea0ae7bf6f459758b2cff45fb35a5dc7 SHA512 ddf86c357c101388193581bc40285089e6ab5e8d870f8aa5d594acc7ecb8596fbd30501e147b88bdea0200b1be88bc0a374356c188d1bcb067bf8e254e3dc51e
DIST i2c-tools-4.1.tar.xz 83576 BLAKE2B 0a9ed3bb335b61f6c17a6b6c705502ff008b4fb8bab6a5fde63163a32528b5214d92affc4b8d6cca29676dc7ba82dfa84be5f14943b7e81c8612a7d9419ac628 SHA512 83262bcfd94c2adf74517cc50095dd78221fa4d16a62397245d4a538de7463272abf4f6727024be8ab1ca8ecbfe647af85ba2a553e5b5e68a53e50dfcad20248
DIST i2c-tools-4.2.tar.xz 87600 BLAKE2B 89f84ad07f4c042f67c308d48a402aa9ed46352062ddad3456d048730019e099e6eef626d487d802e07b100ae2c836e9aa6b2345950ff8744cbc0fe1a22616fb SHA512 5e230be4983c5c9c5718491d3ce9ee2e6205edea75c4097735eb32a25e522e37a074ef4cb61d2492707efebf0cb1b75ff65f1b2ae8c0bc1684a169526809a096
DIST i2c-tools-4.3.tar.xz 81276 BLAKE2B c7300224c8d32785cd067b632bf0e9591f05264b1572f44aebda5f30a95164732d606710c13739ccb7899476219ceb3033beaf95b718ed7e18122f9181dc13fc SHA512 8a6cc12d927d6291b9baf407bc15807280539a7048ec5c2edf77414432eab43b28353c42bc0e45b7b481502aa4c5588def08f130d97fc275f635d1f77488f501

View File

@ -1,129 +0,0 @@
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
}

View File

@ -1,62 +0,0 @@
# Copyright 1999-2018 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 distutils-r1 flag-o-matic toolchain-funcs
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 || die # 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
}

View File

@ -0,0 +1,81 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python{3_7,3_8} )
DISTUTILS_OPTIONAL="1"
inherit distutils-r1 flag-o-matic toolchain-funcs
DESCRIPTION="I2C tools for bus probing, chip dumping, EEPROM decoding, and more"
HOMEPAGE="https://www.kernel.org/pub/software/utils/i2c-tools"
SRC_URI="https://www.kernel.org/pub/software/utils/${PN}/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 arm ~arm64 ~mips ~ppc ~ppc64 ~sparc x86"
IUSE="perl python static-libs"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
RDEPEND="
python? ( ${PYTHON_DEPS} )"
DEPEND="${RDEPEND}"
RDEPEND+="
perl? ( dev-lang/perl )"
src_prepare() {
default
use python && distutils-r1_src_prepare
# Cut out the eeprom/ & stub/ dirs as only perl scripts live there.
if ! use perl ; then
sed -i '/^SRCDIRS/s: eeprom stub : :g' Makefile || die
fi
}
src_configure() {
use python && distutils-r1_src_configure
# Always build & use dynamic libs if possible.
if tc-is-static-only ; then
export BUILD_DYNAMIC_LIB=0
export USE_STATIC_LIB=1
export BUILD_STATIC_LIB=1
else
export BUILD_DYNAMIC_LIB=1
export USE_STATIC_LIB=0
export BUILD_STATIC_LIB=$(usex static-libs 1 0)
fi
}
src_compile() {
emake AR="$(tc-getAR)" CC="$(tc-getCC)" all-lib # parallel make
emake CC="$(tc-getCC)"
emake -C eepromer CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
if use python ; then
cd py-smbus || die
append-cppflags -I../include
distutils-r1_src_compile
fi
}
src_install() {
emake DESTDIR="${D}" libdir="/usr/$(get_libdir)" PREFIX="/usr" install-lib install
dosbin eepromer/eeprom{,er}
rm -rf "${D}"/usr/include || die # part of linux-headers
dodoc CHANGES README
local d
for d in $(usex perl 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
}

View File

@ -0,0 +1,74 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python{3_7,3_8,3_9} )
DISTUTILS_OPTIONAL="1"
DISTUTILS_USE_SETUPTOOLS=no
inherit distutils-r1 flag-o-matic toolchain-funcs
DESCRIPTION="I2C tools for bus probing, chip dumping, EEPROM decoding, and more"
HOMEPAGE="https://www.kernel.org/pub/software/utils/i2c-tools"
SRC_URI="https://www.kernel.org/pub/software/utils/${PN}/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 arm arm64 ~mips ~ppc ~ppc64 ~riscv ~sparc x86"
IUSE="perl python"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
RDEPEND="
python? ( ${PYTHON_DEPS} )"
DEPEND="${RDEPEND}"
RDEPEND+="
perl? ( dev-lang/perl )"
src_prepare() {
default
use python && distutils-r1_src_prepare
# Cut out the eeprom/ & stub/ dirs as only perl scripts live there.
if ! use perl ; then
sed -i '/^SRCDIRS/s: eeprom stub : :g' Makefile || die
fi
}
src_configure() {
use python && distutils-r1_src_configure
export BUILD_DYNAMIC_LIB=1
export USE_STATIC_LIB=0
export BUILD_STATIC_LIB=0
}
src_compile() {
emake AR="$(tc-getAR)" CC="$(tc-getCC)" all-lib # parallel make
emake CC="$(tc-getCC)"
emake -C eepromer CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
if use python ; then
cd py-smbus || die
append-cppflags -I../include
distutils-r1_src_compile
fi
}
src_install() {
emake DESTDIR="${D}" libdir="/usr/$(get_libdir)" PREFIX="/usr" install-lib install
dosbin eepromer/eeprom{,er}
dodoc CHANGES README
local d
for d in $(usex perl 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
}

View File

@ -1,24 +1,25 @@
# Copyright 1999-2018 Gentoo Foundation
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=8
PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
PYTHON_COMPAT=( python{3_8,3_9} )
DISTUTILS_OPTIONAL="1"
DISTUTILS_USE_SETUPTOOLS=bdepend
inherit distutils-r1 flag-o-matic toolchain-funcs
DESCRIPTION="I2C tools for bus probing, chip dumping, EEPROM decoding, and more"
HOMEPAGE="https://www.kernel.org/pub/software/utils/i2c-tools"
SRC_URI="${HOMEPAGE}/${P}.tar.xz"
SRC_URI="https://www.kernel.org/pub/software/utils/${PN}/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~sparc ~x86"
KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
IUSE="python"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
RDEPEND="!<sys-apps/lm_sensors-3
RDEPEND="
python? ( ${PYTHON_DEPS} )"
DEPEND="${RDEPEND}"
@ -29,12 +30,15 @@ src_prepare() {
src_configure() {
use python && distutils-r1_src_configure
export BUILD_DYNAMIC_LIB=1
export USE_STATIC_LIB=0
export BUILD_STATIC_LIB=0
}
src_compile() {
emake all-lib AR=$(tc-getAR) CC=$(tc-getCC) # parallel make
emake CC=$(tc-getCC)
emake -C eepromer CC=$(tc-getCC) CFLAGS="${CFLAGS}"
emake AR="$(tc-getAR)" CC="$(tc-getCC)" EXTRA="eeprog"
if use python ; then
cd py-smbus || die
append-cppflags -I../include
@ -43,15 +47,8 @@ src_compile() {
}
src_install() {
emake install-lib install libdir="${D}"/usr/$(get_libdir) prefix="${D}"/usr
dosbin eepromer/eeprom{,er}
rm -rf "${D}"/usr/include || die # part of linux-headers
emake EXTRA="eeprog" DESTDIR="${D}" libdir="/usr/$(get_libdir)" PREFIX="/usr" install
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

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>zlogene@gentoo.org</email>