diff mbox series

[meta-oe,09/10] utf8proc: add new recipe with ptest

Message ID 20250904221139.3131569-9-peter.marko@siemens.com
State Under Review
Headers show
Series [meta-oe,01/10] meta-oe-image-ptest: fix small typo | expand

Commit Message

Peter Marko Sept. 4, 2025, 10:11 p.m. UTC
From: Peter Marko <peter.marko@siemens.com>

It is needed for poco 1.14+
Ptest runs for less than a second.

Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
 .../include/ptest-packagelists-meta-oe.inc    |  1 +
 .../utf8proc/utf8proc/run-ptest               | 15 +++++++++
 .../utf8proc/utf8proc_2.10.0.bb               | 33 +++++++++++++++++++
 3 files changed, 49 insertions(+)
 create mode 100644 meta-oe/recipes-support/utf8proc/utf8proc/run-ptest
 create mode 100644 meta-oe/recipes-support/utf8proc/utf8proc_2.10.0.bb
diff mbox series

Patch

diff --git a/meta-oe/conf/include/ptest-packagelists-meta-oe.inc b/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
index d77b97d576..18324ff0d3 100644
--- a/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
+++ b/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
@@ -44,6 +44,7 @@  PTESTS_FAST_META_OE = "\
     pv \
     sdbus-c++ \
     tomlplusplus \
+    utf8proc \
     uthash \
     xmlsec1 \
     zeromq \
diff --git a/meta-oe/recipes-support/utf8proc/utf8proc/run-ptest b/meta-oe/recipes-support/utf8proc/utf8proc/run-ptest
new file mode 100644
index 0000000000..349e496d68
--- /dev/null
+++ b/meta-oe/recipes-support/utf8proc/utf8proc/run-ptest
@@ -0,0 +1,15 @@ 
+#!/bin/sh
+
+execute_test() {
+    eval "./$1" && echo "PASS: $1" || echo "FAIL: $1"
+}
+
+execute_test "case"
+execute_test "custom"
+execute_test "iterate"
+execute_test "misc"
+execute_test "printproperty"
+execute_test "valid"
+execute_test "charwidth"
+execute_test "graphemetest data/GraphemeBreakTest.txt"
+execute_test "normtest data/NormalizationTest.txt"
diff --git a/meta-oe/recipes-support/utf8proc/utf8proc_2.10.0.bb b/meta-oe/recipes-support/utf8proc/utf8proc_2.10.0.bb
new file mode 100644
index 0000000000..e42d16b8b7
--- /dev/null
+++ b/meta-oe/recipes-support/utf8proc/utf8proc_2.10.0.bb
@@ -0,0 +1,33 @@ 
+SUMMARY = "library that provides operations for data in the UTF-8 encoding"
+DESCRIPTION = "utf8proc is a small, clean C library that provides Unicode \
+normalization, case-folding, and other operations for data in the UTF-8 \
+encoding, supporting Unicode version 16.0"
+HOMEPAGE = "https://juliastrings.github.io/utf8proc/"
+SECTION = "libs"
+
+LICENSE = "MIT & Unicode-3.0"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=96d5a3ba306e0f24fb289427af484408"
+
+SRC_URI = "\
+    git://github.com/JuliaStrings/utf8proc;protocol=https;branch=master;tag=v${PV} \
+    file://run-ptest \
+"
+
+inherit cmake ptest
+
+EXTRA_OECMAKE = "\
+    -DBUILD_SHARED_LIBS=ON \
+    ${@bb.utils.contains('PTEST_ENABLED', '1', '-DBUILD_TESTING=ON -DUTF8PROC_ENABLE_TESTING=ON ', '', d)} \
+"
+
+do_install_ptest() {
+    # this list and run-ptest needs to be updated on upgrade (the project uses add_test feature)
+    for t in "case" custom iterate misc printproperty valid charwidth graphemetest normtest; do
+        install -m 0755 ${B}/$t ${D}${PTEST_PATH}/
+    done
+    install -d ${D}${PTEST_PATH}/data
+    install -m 0644 ${B}/data/GraphemeBreakTest.txt ${D}${PTEST_PATH}/data/
+    install -m 0644 ${B}/data/NormalizationTest.txt ${D}${PTEST_PATH}/data/
+}
+
+BBCLASSEXTEND = "native"