From 941b3bc262dd439eaf4bd6e0f2c7df8ed14c56cf Mon Sep 17 00:00:00 2001 From: Bartosz Golaszewski Date: Thu, 16 Feb 2023 09:49:37 +0100 Subject: python3-gpiod: new package Add a recipe for libgpiod v2 python bindings. This is a release candidate but once the proper v2.0 is released, it will be made public on pypi and the recipe modified accordingly. As libgpiod python bindings now use setuptools and not make, we can separate the recipe from the rest of the library. Signed-off-by: Bartosz Golaszewski Signed-off-by: Khem Raj --- .../python/python3-gpiod_2.0-rc2.bb | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 meta-python/recipes-devtools/python/python3-gpiod_2.0-rc2.bb (limited to 'meta-python/recipes-devtools/python/python3-gpiod_2.0-rc2.bb') diff --git a/meta-python/recipes-devtools/python/python3-gpiod_2.0-rc2.bb b/meta-python/recipes-devtools/python/python3-gpiod_2.0-rc2.bb new file mode 100644 index 0000000000..0a16ce06bd --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-gpiod_2.0-rc2.bb @@ -0,0 +1,45 @@ +SUMMARY = "Python bindings for libgpiod." +AUTHOR = "Bartosz Golaszewski " + +LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & CC-BY-SA-4.0" +LIC_FILES_CHKSUM = " \ + file://../../LICENSES/GPL-2.0-or-later.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://../../LICENSES/LGPL-2.1-or-later.txt;md5=4b54a1fd55a448865a0b32d41598759d \ + file://../../LICENSES/CC-BY-SA-4.0.txt;md5=fba3b94d88bfb9b81369b869a1e9a20f \ +" + +require recipes-support/libgpiod/libgpiod-src.inc + +SRC_URI += "file://run-ptest" + +SRC_URI[sha256sum] = "1b931bfabef897911e59d45c80b8930c43fa72f08aab9c03e8dfd4005881c09e" +S = "${WORKDIR}/libgpiod-2.0/bindings/python" + +inherit setuptools3 ptest + +DEPENDS += "libgpiod" +RDEPENDS:${PN} += "libgpiod (>= 2.0)" +RDEPENDS:${PN}-ptest += "python3-setuptools" + +export GPIOD_WITH_TESTS = "${@bb.utils.contains("PTEST_ENABLED", "1", "1", "0", d)}" +PTEST_CFLAGS = "${@bb.utils.contains("PTEST_ENABLED", "1", "-I../../tests/gpiosim", "", d)}" +# Setuptools store full filesystem paths in DWARF files. Map them to './' to +# avoid QA warnings. +export CFLAGS = "${PTEST_CFLAGS} -fdebug-prefix-map=${B}=./" + +do_install:append() { + # Python setuptools have an issue where they install C extensions even if + # they're not in the list of packages to be packaged. This is how the test + # extensions end up being installed. Remove them here. + rm -rf ${D}${PYTHON_SITEPACKAGES_DIR}/tests/ +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/gpiod-test/gpiosim + install -d ${D}${PTEST_PATH}/gpiod-test/procname + install -m 0644 ${B}/tests/*.py ${D}${PTEST_PATH}/gpiod-test/ + install -m 0644 ${B}/build/lib*/tests/gpiosim/_ext* ${D}${PTEST_PATH}/gpiod-test/gpiosim + install -m 0644 ${B}/tests/gpiosim/*.py ${D}${PTEST_PATH}/gpiod-test/gpiosim + install -m 0644 ${B}/build/lib*/tests/procname/_ext* ${D}${PTEST_PATH}/gpiod-test/procname + install -m 0644 ${B}/tests/procname/*.py ${D}${PTEST_PATH}/gpiod-test/procname +} -- cgit v1.2.3-54-g00ecf