Files
meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.3.bb
Bartosz Golaszewski f065bcdee7 libgpiod: ptest: rrecommend coreutils
The bats test suite requires the 'timeout' and 'nl' commands to be
available. Busybox' default config doesn't include those. They are built
by default by coreutils though, so add it to RRECOMMENDS for ptest.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-11-19 08:37:31 -08:00

82 lines
2.8 KiB
BlitzBasic

SUMMARY = "C library and tools for interacting with the linux GPIO character device"
AUTHOR = "Bartosz Golaszewski <brgl@bgdev.pl>"
LICENSE = "LGPLv2.1+"
LIC_FILES_CHKSUM = "file://COPYING;md5=2caced0b25dfefd4c601d92bd15116de"
SRC_URI = " \
https://www.kernel.org/pub/software/libs/${BPN}/${BP}.tar.xz \
file://run-ptest \
"
SRC_URI[md5sum] = "28e79f6f70fee1da9079558d8b7b3736"
SRC_URI[sha256sum] = "841be9d788f00bab08ef22c4be5c39866f0e46cb100a3ae49ed816ac9c5dddc7"
inherit autotools pkgconfig python3native ptest
PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,kmod udev glib-2.0 catch2,bats python3-packaging"
PACKAGECONFIG[cxx] = "--enable-bindings-cxx,--disable-bindings-cxx"
PACKAGECONFIG[python3] = "--enable-bindings-python,--disable-bindings-python,python3"
# Enable cxx bindings by default.
PACKAGECONFIG ?= "cxx"
# Always build tools - they don't have any additional
# requirements over the library.
EXTRA_OECONF = "--enable-tools"
DEPENDS += "autoconf-archive-native"
PACKAGES =+ "${PN}-tools libgpiodcxx ${PN}-python"
FILES:${PN}-tools = " \
${bindir}/gpiodetect \
${bindir}/gpioinfo \
${bindir}/gpioget \
${bindir}/gpioset \
${bindir}/gpiofind \
${bindir}/gpiomon \
"
FILES:${PN}-ptest += " \
${bindir}/gpiod-test \
${bindir}/gpio-tools-test \
${bindir}/gpio-tools-test.bats \
${bindir}/gpiod-cxx-test \
${bindir}/gpiod_py_test.py \
${libdir}/libgpiomockup.so.* \
"
FILES:libgpiodcxx = "${libdir}/libgpiodcxx.so.*"
FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*.so"
FILES:${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*.a"
RRECOMMENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'python3', '${PN}-python', '', d)}"
RRECOMMENDS:${PN}-ptest += " \
kernel-module-gpio-mockup \
coreutils \
${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-unittest', '', d)} \
"
PACKAGECONFIG:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'tests', '', d)}"
do_install_ptest() {
install -d ${D}${PTEST_PATH}/tests
# These are the core C library tests
install -m 0755 ${B}/tests/.libs/gpiod-test ${D}${PTEST_PATH}/tests/
# Tools are always built so let's always install them for ptest even if
# we're not selecting libgpiod-tools.
install -m 0755 ${S}/tools/gpio-tools-test ${D}${PTEST_PATH}/tests/
install -m 0755 ${S}/tools/gpio-tools-test.bats ${D}${PTEST_PATH}/tests/
for tool in ${FILES:${PN}-tools}; do
install ${B}/tools/.libs/$(basename $tool) ${D}${PTEST_PATH}/tests/
done
if ${@bb.utils.contains('PACKAGECONFIG', 'cxx', 'true', 'false', d)}; then
install -m 0755 ${B}/bindings/cxx/tests/.libs/gpiod-cxx-test ${D}${PTEST_PATH}/tests/
fi
if ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'true', 'false', d)}; then
install -m 0755 ${S}/bindings/python/tests/gpiod_py_test.py ${D}${PTEST_PATH}/tests/
fi
}