From 930436d900d1e735da51f812987e914cb34eab36 Mon Sep 17 00:00:00 2001 From: Bartosz Golaszewski Date: Fri, 14 Apr 2023 13:51:46 +0200 Subject: python3-gpiod: fetch sources from pypi Python bindings to libgpiod are now available on pypi. The source package is a limited subset of the original repository. As such the ptest package now requires the libgpiod-ptest to be available at run-time (for libgpiosim.so against which the test C extension is linked). The problem with installing the C extensions for tests is now fixed so drop the do_install:append(). We no longer have to pass any additional CFLAGS to setup.py either. We update the version of the recipe but the changes only apply to building and packaging, there are no functional changes to the code. Signed-off-by: Bartosz Golaszewski Signed-off-by: Khem Raj --- .../recipes-devtools/python/python3-gpiod_2.0.1.bb | 38 +++++++++++++++++ .../recipes-devtools/python/python3-gpiod_2.0.bb | 49 ---------------------- 2 files changed, 38 insertions(+), 49 deletions(-) create mode 100644 meta-python/recipes-devtools/python/python3-gpiod_2.0.1.bb delete mode 100644 meta-python/recipes-devtools/python/python3-gpiod_2.0.bb (limited to 'meta-python/recipes-devtools/python') diff --git a/meta-python/recipes-devtools/python/python3-gpiod_2.0.1.bb b/meta-python/recipes-devtools/python/python3-gpiod_2.0.1.bb new file mode 100644 index 0000000000..f833e69032 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-gpiod_2.0.1.bb @@ -0,0 +1,38 @@ +SUMMARY = "Python bindings for libgpiod." +AUTHOR = "Bartosz Golaszewski " + +LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & CC-BY-SA-4.0" +# The actual license files live in the upstream libgpiod from which the pypi +# package is spun out. +LIC_FILES_CHKSUM = "file://setup.py;beginline=57;endline=57;md5=120334ed83ec0cb248605e775bd13b87" + +SRC_URI += "file://run-ptest" + +SRC_URI[sha256sum] = "d5c0f9502e97e7359b9dd601e29f15d668983ce50f5c13323f3302845f790fa6" + +inherit setuptools3 ptest pypi + +PYPI_PACKAGE = "libgpiod" + +DEPENDS += "libgpiod" +RDEPENDS:${PN} += " \ + libgpiod (>= 2.0) \ + python3-datetime \ + python3-profile \ +" +RDEPENDS:${PN}-ptest += " \ + libgpiod-ptest \ + python3-setuptools \ +" + +export GPIOD_WITH_TESTS = "${@bb.utils.contains("PTEST_ENABLED", "1", "1", "0", d)}" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/gpiod-test/gpiosim + install -d ${D}${PTEST_PATH}/gpiod-test/procname + install -m 0644 ${S}/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 ${S}/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 ${S}/tests/procname/*.py ${D}${PTEST_PATH}/gpiod-test/procname +} diff --git a/meta-python/recipes-devtools/python/python3-gpiod_2.0.bb b/meta-python/recipes-devtools/python/python3-gpiod_2.0.bb deleted file mode 100644 index e39d5beb10..0000000000 --- a/meta-python/recipes-devtools/python/python3-gpiod_2.0.bb +++ /dev/null @@ -1,49 +0,0 @@ -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] = "f74cbf82038b3cb98ebeb25bce55ee2553be28194002d2a9889b9268cce2dd07" -S = "${WORKDIR}/libgpiod-${PV}/bindings/python" - -inherit setuptools3 ptest - -DEPENDS += "libgpiod" -RDEPENDS:${PN} += " \ - libgpiod (>= 2.0) \ - python3-datetime \ - python3-profile \ -" -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