diff options
Diffstat (limited to 'meta-oe/recipes-extended')
3 files changed, 138 insertions, 0 deletions
diff --git a/meta-oe/recipes-extended/libyang/libyang/libyang-skip-pcre2-config-add-stdint-h.patch b/meta-oe/recipes-extended/libyang/libyang/libyang-skip-pcre2-config-add-stdint-h.patch new file mode 100644 index 0000000000..e3b2d0e022 --- /dev/null +++ b/meta-oe/recipes-extended/libyang/libyang/libyang-skip-pcre2-config-add-stdint-h.patch @@ -0,0 +1,55 @@ +From c7f3e2a8fe530beec6103cb9071ccc41458879aa Mon Sep 17 00:00:00 2001 +From: Tony Tascioglu <tony.tascioglu@windriver.com> +Date: Mon, 21 Jun 2021 12:34:22 -0400 +Subject: [PATCH] libyang: fix initial build errors + +This patch addresses build errors seen when integrating libyang as a +recipe. + +The call to pcre2-config has been commented out. *-config calls are +being replaced by pkgconfig, and we want to avoid the binary config +calls. This call can safely be discarded since it is used to check +the version of libpcre2 on the system, and all recent YP builds meet +the minimum required version (v10.21). + +There is a missing include statement for stdint.h in utests.h which +causes build problems. stdint.h is required to be imported by cmocka.h +prior to the cmocka file. Adding the stdint allows it to build the +tests correctly + +Upstream-Status: Pending + +Signed-off-by: Tony Tascioglu <tony.tascioglu@windriver.com> +--- + CMakeModules/FindPCRE2.cmake | 2 +- + tests/utests/utests.h | 1 + + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/CMakeModules/FindPCRE2.cmake b/CMakeModules/FindPCRE2.cmake +index 8f60daa2..ad014f14 100644 +--- a/CMakeModules/FindPCRE2.cmake ++++ b/CMakeModules/FindPCRE2.cmake +@@ -12,7 +12,7 @@ FIND_PATH(PCRE2_INCLUDE_DIR pcre2.h) + FIND_LIBRARY(PCRE2_LIBRARY NAMES libpcre2.a pcre2-8) + + # Check required version +-execute_process(COMMAND pcre2-config --version OUTPUT_VARIABLE PCRE2_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) ++# execute_process(COMMAND pcre2-config --version OUTPUT_VARIABLE PCRE2_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) + + # Handle the QUIETLY and REQUIRED arguments and set PCRE_FOUND to TRUE if all listed variables are TRUE. + INCLUDE(FindPackageHandleStandardArgs) +diff --git a/tests/utests/utests.h b/tests/utests/utests.h +index 5bea0459..a256120c 100644 +--- a/tests/utests/utests.h ++++ b/tests/utests/utests.h +@@ -23,6 +23,7 @@ + #include <stddef.h> + #include <stdlib.h> + ++#include <stdint.h> + #include <cmocka.h> + + #include <string.h> +-- +2.32.0 + diff --git a/meta-oe/recipes-extended/libyang/libyang/run-ptest b/meta-oe/recipes-extended/libyang/libyang/run-ptest new file mode 100644 index 0000000000..1c9f8f47f7 --- /dev/null +++ b/meta-oe/recipes-extended/libyang/libyang/run-ptest @@ -0,0 +1,46 @@ +#!/bin/sh +# Valid tests to run +tests="utest_binary \ + utest_bits \ + utest_common \ + utest_hash_table \ + utest_inet_types \ + utest_int8 \ + utest_json \ + utest_list \ + utest_merge \ + utest_metadata \ + utest_parser_yang \ + utest_parser_yin \ + utest_pattern \ + utest_printer_yang \ + utest_printer_yin \ + utest_range \ + utest_schema \ + utest_set \ + utest_string \ + utest_tree_data \ + utest_tree_schema_compile \ + utest_types \ + utest_xml \ + utest_xpath \ + utest_yang_types \ + utest_yanglib" + +# cd into right directory +ptestdir=$(dirname "$(readlink -f "$0")") +cd "$ptestdir"/tests || exit + +# Run specified tests +for f in $tests +do + if test -e ./"$f"; then + if ./"$f" > ./"$f".out 2> ./"$f".err; then + echo "PASS: $f" + else + echo "FAIL: $f" + fi + else + echo "SKIP: $f" + fi +done diff --git a/meta-oe/recipes-extended/libyang/libyang_2.0.7.bb b/meta-oe/recipes-extended/libyang/libyang_2.0.7.bb new file mode 100644 index 0000000000..8e9e8cc02f --- /dev/null +++ b/meta-oe/recipes-extended/libyang/libyang_2.0.7.bb @@ -0,0 +1,37 @@ +SUMMARY = "YANG data modeling language library" +DESCRIPTION = "libyang is a YANG data modelling language parser and toolkit written (and providing API) in C." +HOMEPAGE = "https://github.com/CESNET/libyang" +SECTION = "libs" +LICENSE = "BSD-3-Clause" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=f3916d7d8d42a6508d0ea418cfff10ad" + +SRCREV = "69d9fff65abb58beb0bb6aa9ecacd572ca1dfc56" + +SRC_URI = "git://github.com/CESNET/libyang.git \ + file://libyang-skip-pcre2-config-add-stdint-h.patch \ + file://run-ptest \ + " + +S = "${WORKDIR}/git" + +COMPATIBLE_HOST_riscv32 = "null" +COMPATIBLE_HOST_armv5 = "null" +COMPATIBLE_HOST_riscv64 = "null" + +# Main dependencies +inherit cmake pkgconfig lib_package binconfig-disabled ptest +DEPENDS = "libpcre2" +DEPENDS += "${@bb.utils.contains('PTEST_ENABLED', '1', 'cmocka', '', d)}" +BINCONFIG = "${bindir}/pcre2-config" + +# Ptest dependencies +RDEPENDS_${PN}-ptest += "valgrind" + +EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release" +EXTRA_OECMAKE += " ${@bb.utils.contains('PTEST_ENABLED', '1', '-DENABLE_BUILD_TESTS=ON', '', d)}" + +do_install_ptest () { + cp -fR ${B}/tests/ ${D}${PTEST_PATH}/ +} + |