On 1/22/25 10:30 AM, Ryan Eatmon wrote:
On 1/21/2025 12:59 PM, Andrew Davis wrote:
On 1/18/25 1:48 PM, Chirag Shilwant wrote:
Hi Andrew,
On 17/01/25 05:55, Andrew Davis wrote:
ONNX provides an open source format for AI models, both deep learning
and traditional ML. It defines an extensible computation graph model,
as well as definitions of built-in operators and standard data types.
Signed-off-by: Andrew Davis <[email protected]>
---
...age-Protobuf-before-checking-if-it-w.patch | 25 ++++
.../recipes-framework/onnx/onnx_1.16.1.bb | 107 ++++++++++++++++++
2 files changed, 132 insertions(+)
create mode 100644
meta-arago-extras/recipes-framework/onnx/onnx/0001-Try-to-find-package-Protobuf-before-checking-if-it-w.patch
create mode 100644 meta-arago-extras/recipes-framework/onnx/onnx_1.16.1.bb
diff --git
a/meta-arago-extras/recipes-framework/onnx/onnx/0001-Try-to-find-package-Protobuf-before-checking-if-it-w.patch
b/meta-arago-extras/recipes-framework/onnx/onnx/0001-Try-to-find-package-Protobuf-before-checking-if-it-w.patch
new file mode 100644
index 00000000..dceac1f4
--- /dev/null
+++
b/meta-arago-extras/recipes-framework/onnx/onnx/0001-Try-to-find-package-Protobuf-before-checking-if-it-w.patch
@@ -0,0 +1,25 @@
+From 7e118775c120ec802d13ac3e0125d726323aee87 Mon Sep 17 00:00:00 2001
+From: Andrew Davis <[email protected]>
+Date: Thu, 16 Jan 2025 11:44:56 -0600
+Subject: [PATCH] Try to find package Protobuf before checking if it was found
+
+Upstream-Status: Pending
+
+Signed-off-by: Andrew Davis <[email protected]>
+---
+ CMakeLists.txt | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b666eec4..f6fbf159 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -127,6 +127,8 @@ if(ONNX_BUILD_TESTS)
+ set(googletest_STATIC_LIBRARIES GTest::gtest)
+ endif()
+
++find_package(Protobuf)
++
+ if((ONNX_USE_LITE_PROTO AND TARGET protobuf::libprotobuf-lite) OR ((NOT
ONNX_USE_LITE_PROTO) AND TARGET protobuf::libprotobuf))
+ # Sometimes we need to use protoc compiled for host architecture while
linking
+ # libprotobuf against target architecture. See
https://github.com/caffe2/caffe
diff --git a/meta-arago-extras/recipes-framework/onnx/onnx_1.16.1.bb
b/meta-arago-extras/recipes-framework/onnx/onnx_1.16.1.bb
new file mode 100644
index 00000000..9624d061
--- /dev/null
+++ b/meta-arago-extras/recipes-framework/onnx/onnx_1.16.1.bb
@@ -0,0 +1,107 @@
+DESCRIPTION = "Open standard for machine learning interoperability"
+SUMMARY = "ONNX Python package & C++ library"
+HOMEPAGE = "https://www.onnx.ai/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+
+SRC_URI = "git://github.com/onnx/onnx.git;protocol=https;branch=rel-1.16.1"
+SRC_URI +=
"file://0001-Try-to-find-package-Protobuf-before-checking-if-it-w.patch"
+SRCREV = "595228d99e3977ac27cb79d5963adda262af99ad"
+
+S = "${WORKDIR}/git"
+
+DEPENDS += "\
+ abseil-cpp \
+ protobuf \
+ protobuf-native \
+ python3-protobuf \
+ python3-protobuf-native \
+"
+
+PYTHON_DEPENDS = "\
+ python3 \
Nitpick,
To have a consistency across the entire recipe,
I think it would be better to use PYTHON_PN (as done at PACKAGE_BEFORE_PN)
OR keep it static as python3 for all references
Good idea, seems most recipes just use "python3" and not PYTHON_PN, so I'll
switch to that. Better to be explicit on which python we need. (I just hope
we never have to deal with a python4 someday :D)
Andrew
Does this mean a v2 is coming for this series? I'm getting a little lost since
you keep sending some of the same patches under new series names... I'll wait
to process all of these until we get the v2.
Yes, I'll send a v2 once things settle down in -next/-wip. I see my
ArmNN package got dropped (which is fine, I have a newer version anyway),
but it also means until something goes into master I can't consider it
done and drop from my queue. Which means I'll end up resending it if I
send against scarthgap/master.
I could base my series against your -next/-wip branches, but as above
they are not stable branches and things can get lost..
Scarthgap/master have not moved in ~7 weeks now, so my patch backlog
is getting a bit out of hand now. Maybe we should look into a manual
promotion if LTS migration/testing is going to hold us up this long :/
Andrew
--
Chirag
+ python3-numpy \
+ python3-numpy-native \
+ python3-pybind11 \
+ python3-pybind11-native \
+"
+
+PYTHON_RDEPENDS = "\
+ python3 \
+ python3-numpy \
+ python3-protobuf \
+ python3-coloredlogs \
+ python3-flatbuffers \
+ python3-sympy \
+"
+
+PACKAGECONFIG ??= "python sharedlib unittests"
+
+PACKAGECONFIG[python] = "\
+ -DBUILD_ONNX_PYTHON=ON \
+ -DPYTHON_LIBRARY=${PYTHON_LIBRARY} \
+ -DPYTHON_INCLUDE_DIRS=${PYTHON_INCLUDE_DIR}, \
+ -DBUILD_ONNX_PYTHON=OFF, \
+ ${PYTHON_DEPENDS} \
+"
+
+PACKAGECONFIG[sharedlib] = "-DBUILD_SHARED_LIBS=ON, -D-DBUILD_SHARED_LIBS=OFF"
+PACKAGECONFIG[unittests] = "-DONNX_BUILD_TESTS=ON, -DONNX_BUILD_TESTS=OFF,
googletest"
+
+EXTRA_OECMAKE:append = " \
+ -DONNX_CUSTOM_PROTOC_EXECUTABLE=${STAGING_BINDIR_NATIVE}/protoc \
+ -DONNX_USE_PROTOBUF_SHARED_LIBS=ON \
+ -DONNX_DISABLE_STATIC_REGISTRATION=ON \
+ -DONNX_ML=1 \
+ -DCMAKE_VERBOSE_MAKEFILE=ON \
+ --log-level=VERBOSE \
+"
+
+inherit python3native cmake
+
+python do_build_version_file() {
+ import os
+ import textwrap
+
+ version_file_path = os.path.join(d.getVar('B'), "onnx", "version.py")
+ os.makedirs(os.path.dirname(version_file_path), exist_ok=True)
+ with open(version_file_path, "w", encoding="utf-8") as f:
+ f.write(
+ textwrap.dedent(
+ f"""\
+ # This file is generated. DO NOT EDIT!
+
+
+ version = "{d.getVar('PV')}"
+ git_version = "{d.getVar('SRCREV')}"
+ """
+ )
+ )
+}
+addtask build_version_file before do_install after do_compile
+
+do_install:append() {
+ CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
+
+ # Install the Python package.
+ if ${@bb.utils.contains('PACKAGECONFIG', 'python', 'true', 'false', d)};
then
+ install -d ${D}${PYTHON_SITEPACKAGES_DIR}/onnx
+ (cd ${S}/onnx; cp --parents $(find . -name "*.py*")
${D}${PYTHON_SITEPACKAGES_DIR}/onnx)
+ cp $CP_ARGS ${B}/onnx ${D}${PYTHON_SITEPACKAGES_DIR}
+ cp $CP_ARGS ${B}/onnx_cpp2py_export.so
${D}${PYTHON_SITEPACKAGES_DIR}/onnx
+ fi
+}
+
+# Add Python package
+PACKAGE_BEFORE_PN += "${PYTHON_PN}-${PN}"
+FILES:${PYTHON_PN}-${PN} += "${PYTHON_SITEPACKAGES_DIR}"
+RDEPENDS:${PYTHON_PN}-${PN} += "${PYTHON_RDEPENDS} onnx"
+
+# Output library is unversioned
+SOLIBS = ".so"
+FILES_SOLIBSDEV = ""
+
+# TODO: ONNXConfig.cmake in package onnx-dev contains reference to TMPDIR
+INSANE_SKIP:${PN}-dev = "buildpaths"
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#15758):
https://lists.yoctoproject.org/g/meta-arago/message/15758
Mute This Topic: https://lists.yoctoproject.org/mt/110658460/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-arago/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-