diff mbox series

[meta-arago,scarthgap] meta-arago-extras: Add recipe for NNStreamer

Message ID 20250222015358.3543400-1-afd@ti.com
State Superseded
Delegated to: Ryan Eatmon
Headers show
Series [meta-arago,scarthgap] meta-arago-extras: Add recipe for NNStreamer | expand

Commit Message

Andrew Davis Feb. 22, 2025, 1:53 a.m. UTC
NNStreamer is an efficient and flexible stream pipeline framework for
complex neural network applications.

NNStreamer provides a set of GStreamer plugins so developers may apply
neural networks, attach related frameworks (including ROS, IIO,
FlatBuffers, and Protocol Buffers), and manipulate tensor data streams
in GStreamer pipelines easily and execute such pipelines efficiently.

It was initially developed by Samsung and then transferred to LF AI
Foundation as an incubation project.

Learn more at https://nnstreamer.ai/

Signed-off-by: Andrew Davis <afd@ti.com>
---
 .../nnstreamer/nnstreamer_2.4.0.bb            | 68 +++++++++++++++++++
 1 file changed, 68 insertions(+)
 create mode 100644 meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.4.0.bb

Comments

Denys Dmytriyenko Feb. 22, 2025, 2:25 a.m. UTC | #1
On Fri, Feb 21, 2025 at 07:53:58PM -0600, Andrew Davis via lists.yoctoproject.org wrote:
> NNStreamer is an efficient and flexible stream pipeline framework for
> complex neural network applications.
> 
> NNStreamer provides a set of GStreamer plugins so developers may apply
> neural networks, attach related frameworks (including ROS, IIO,
> FlatBuffers, and Protocol Buffers), and manipulate tensor data streams
> in GStreamer pipelines easily and execute such pipelines efficiently.
> 
> It was initially developed by Samsung and then transferred to LF AI
> Foundation as an incubation project.

FWIW, nnstreamer project on github has its own meta-neural-network layer with 
a corresponding nnstreamer recipe:
https://github.com/nnstreamer/meta-neural-network
https://github.com/nnstreamer/meta-neural-network/blob/master/recipes-nnstreamer/nnstreamer/nnstreamer_2.4.2.bb


> Learn more at https://nnstreamer.ai/
> 
> Signed-off-by: Andrew Davis <afd@ti.com>
> ---
>  .../nnstreamer/nnstreamer_2.4.0.bb            | 68 +++++++++++++++++++
>  1 file changed, 68 insertions(+)
>  create mode 100644 meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.4.0.bb
> 
> diff --git a/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.4.0.bb b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.4.0.bb
> new file mode 100644
> index 00000000..55de11e8
> --- /dev/null
> +++ b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.4.0.bb
> @@ -0,0 +1,68 @@
> +SUMMARY = "NNStreamer, Stream Pipeline Paradigm for Nerual Network Applications"
> +DESCRIPTION = "NNStreamer is a set of Gstreamer plugins that allow Gstreamer developers to adopt neural network models easily and efficiently."
> +LICENSE = "LGPL-2.1-only"
> +LIC_FILES_CHKSUM = "file://LICENSE;md5=c25e5c1949624d71896127788f1ba590"
> +
> +SRC_URI = "git://github.com/nnstreamer/nnstreamer.git;branch=main;protocol=https"
> +PV = "2.4.0+git"
> +SRCREV = "7c57c288250578cad598f065b6fda6c0ff720cf9"
> +
> +S = "${WORKDIR}/git"
> +
> +inherit meson pkgconfig
> +
> +DEPENDS = " \
> +	orc-native \
> +	glib-2.0 \
> +	gstreamer1.0 \
> +	gstreamer1.0-plugins-base \
> +	python3 \
> +	python3-numpy \
> +	json-glib \
> +"
> +
> +PACKAGECONFIG ??= " \
> +	protobuf \
> +	flatbuffers \
> +	tests \
> +	armnn \
> +	onnxruntime \
> +	tensorflow-lite \
> +"
> +
> +PACKAGECONFIG[tests] = "-Denable-test=true -Dinstall-test=true, -Denable-test=false, gtest"
> +PACKAGECONFIG[protobuf] = "-Dprotobuf-support=enabled, -Dprotobuf-support=disabled, protobuf protobuf-native"
> +PACKAGECONFIG[flatbuffers] = "-Dflatbuf-support=enabled, -Dflatbuf-support=disabled, flatbuffers flatbuffers-native"
> +PACKAGECONFIG[armnn] = "-Darmnn-support=enabled, -Darmnn-support=disabled, armnn"
> +PACKAGECONFIG[onnxruntime] = "-Donnxruntime-support=enabled, -Donnxruntime-support=disabled, onnxruntime"
> +PACKAGECONFIG[tensorflow-lite] = "-Dtflite2-support=enabled, -Dtflite2-support=disabled, tensorflow-lite"
> +
> +do_install:append() {
> +	CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
> +
> +	# Install test data
> +	install -d ${D}/${bindir}/unittest-nnstreamer/tests
> +	cp $CP_ARGS ${S}/tests/test_models ${D}/${bindir}/unittest-nnstreamer/tests
> +	rm -f ${D}/${bindir}/unittest-nnstreamer/tests/test_models/models/tvm*
> +}
> +
> +FILES:${PN} += "\
> +	${libdir}/*.so \
> +	${libdir}/gstreamer-1.0/*.so \
> +	${libdir}/nnstreamer/* \
> +	${sysconfdir}/nnstreamer.ini \
> +"
> +INSANE_SKIP:${PN} += "dev-so"
> +
> +PACKAGES =+ "${PN}-tests"
> +
> +FILES:${PN}-tests += "\
> +	${libdir}/nnstreamer/customfilters/* \
> +	${bindir}/unittest-nnstreamer/* \
> +"
> +
> +FILES:${PN}-dev = "\
> +	${includedir}/nnstreamer/* \
> +	${libdir}/*.a \

FWIW, these get automatically packaged into ${PN}-staticdev


> +	${libdir}/pkgconfig/*.pc \
> +"
> -- 
> 2.39.2
Andrew Davis Feb. 22, 2025, 2:53 a.m. UTC | #2
On 2/21/25 8:25 PM, Denys Dmytriyenko wrote:
> On Fri, Feb 21, 2025 at 07:53:58PM -0600, Andrew Davis via lists.yoctoproject.org wrote:
>> NNStreamer is an efficient and flexible stream pipeline framework for
>> complex neural network applications.
>>
>> NNStreamer provides a set of GStreamer plugins so developers may apply
>> neural networks, attach related frameworks (including ROS, IIO,
>> FlatBuffers, and Protocol Buffers), and manipulate tensor data streams
>> in GStreamer pipelines easily and execute such pipelines efficiently.
>>
>> It was initially developed by Samsung and then transferred to LF AI
>> Foundation as an incubation project.
> 
> FWIW, nnstreamer project on github has its own meta-neural-network layer with
> a corresponding nnstreamer recipe:
> https://github.com/nnstreamer/meta-neural-network
> https://github.com/nnstreamer/meta-neural-network/blob/master/recipes-nnstreamer/nnstreamer/nnstreamer_2.4.2.bb
> 

I did find that earlier when looking for existing recipes for this
framework, but that recipe needs some work. That layer also pulls
in a bunch of other stuff we don't need/want.

I did use that as a kicking-off point. I'll try to push back my
fixes at some point. Maybe we can work to move that into a more
common layer.

> 
>> Learn more at https://nnstreamer.ai/
>>
>> Signed-off-by: Andrew Davis <afd@ti.com>
>> ---
>>   .../nnstreamer/nnstreamer_2.4.0.bb            | 68 +++++++++++++++++++
>>   1 file changed, 68 insertions(+)
>>   create mode 100644 meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.4.0.bb
>>
>> diff --git a/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.4.0.bb b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.4.0.bb
>> new file mode 100644
>> index 00000000..55de11e8
>> --- /dev/null
>> +++ b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.4.0.bb
>> @@ -0,0 +1,68 @@
>> +SUMMARY = "NNStreamer, Stream Pipeline Paradigm for Nerual Network Applications"
>> +DESCRIPTION = "NNStreamer is a set of Gstreamer plugins that allow Gstreamer developers to adopt neural network models easily and efficiently."
>> +LICENSE = "LGPL-2.1-only"
>> +LIC_FILES_CHKSUM = "file://LICENSE;md5=c25e5c1949624d71896127788f1ba590"
>> +
>> +SRC_URI = "git://github.com/nnstreamer/nnstreamer.git;branch=main;protocol=https"
>> +PV = "2.4.0+git"
>> +SRCREV = "7c57c288250578cad598f065b6fda6c0ff720cf9"
>> +
>> +S = "${WORKDIR}/git"
>> +
>> +inherit meson pkgconfig
>> +
>> +DEPENDS = " \
>> +	orc-native \
>> +	glib-2.0 \
>> +	gstreamer1.0 \
>> +	gstreamer1.0-plugins-base \
>> +	python3 \
>> +	python3-numpy \
>> +	json-glib \
>> +"
>> +
>> +PACKAGECONFIG ??= " \
>> +	protobuf \
>> +	flatbuffers \
>> +	tests \
>> +	armnn \
>> +	onnxruntime \
>> +	tensorflow-lite \
>> +"
>> +
>> +PACKAGECONFIG[tests] = "-Denable-test=true -Dinstall-test=true, -Denable-test=false, gtest"
>> +PACKAGECONFIG[protobuf] = "-Dprotobuf-support=enabled, -Dprotobuf-support=disabled, protobuf protobuf-native"
>> +PACKAGECONFIG[flatbuffers] = "-Dflatbuf-support=enabled, -Dflatbuf-support=disabled, flatbuffers flatbuffers-native"
>> +PACKAGECONFIG[armnn] = "-Darmnn-support=enabled, -Darmnn-support=disabled, armnn"
>> +PACKAGECONFIG[onnxruntime] = "-Donnxruntime-support=enabled, -Donnxruntime-support=disabled, onnxruntime"
>> +PACKAGECONFIG[tensorflow-lite] = "-Dtflite2-support=enabled, -Dtflite2-support=disabled, tensorflow-lite"
>> +
>> +do_install:append() {
>> +	CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
>> +
>> +	# Install test data
>> +	install -d ${D}/${bindir}/unittest-nnstreamer/tests
>> +	cp $CP_ARGS ${S}/tests/test_models ${D}/${bindir}/unittest-nnstreamer/tests
>> +	rm -f ${D}/${bindir}/unittest-nnstreamer/tests/test_models/models/tvm*
>> +}
>> +
>> +FILES:${PN} += "\
>> +	${libdir}/*.so \
>> +	${libdir}/gstreamer-1.0/*.so \
>> +	${libdir}/nnstreamer/* \
>> +	${sysconfdir}/nnstreamer.ini \
>> +"
>> +INSANE_SKIP:${PN} += "dev-so"
>> +
>> +PACKAGES =+ "${PN}-tests"
>> +
>> +FILES:${PN}-tests += "\
>> +	${libdir}/nnstreamer/customfilters/* \
>> +	${bindir}/unittest-nnstreamer/* \
>> +"
>> +
>> +FILES:${PN}-dev = "\
>> +	${includedir}/nnstreamer/* \
>> +	${libdir}/*.a \
> 
> FWIW, these get automatically packaged into ${PN}-staticdev
> 

Let me remove this and see where those go.

Andrew

> 
>> +	${libdir}/pkgconfig/*.pc \
>> +"
>> -- 
>> 2.39.2
Ryan Eatmon Feb. 25, 2025, 10:11 p.m. UTC | #3
On 2/21/2025 8:53 PM, Andrew Davis wrote:
> On 2/21/25 8:25 PM, Denys Dmytriyenko wrote:
>> On Fri, Feb 21, 2025 at 07:53:58PM -0600, Andrew Davis via 
>> lists.yoctoproject.org wrote:
>>> NNStreamer is an efficient and flexible stream pipeline framework for
>>> complex neural network applications.
>>>
>>> NNStreamer provides a set of GStreamer plugins so developers may apply
>>> neural networks, attach related frameworks (including ROS, IIO,
>>> FlatBuffers, and Protocol Buffers), and manipulate tensor data streams
>>> in GStreamer pipelines easily and execute such pipelines efficiently.
>>>
>>> It was initially developed by Samsung and then transferred to LF AI
>>> Foundation as an incubation project.
>>
>> FWIW, nnstreamer project on github has its own meta-neural-network 
>> layer with
>> a corresponding nnstreamer recipe:
>> https://github.com/nnstreamer/meta-neural-network
>> https://github.com/nnstreamer/meta-neural-network/blob/master/recipes-nnstreamer/nnstreamer/nnstreamer_2.4.2.bb
>>
> 
> I did find that earlier when looking for existing recipes for this
> framework, but that recipe needs some work. That layer also pulls
> in a bunch of other stuff we don't need/want.
> 
> I did use that as a kicking-off point. I'll try to push back my
> fixes at some point. Maybe we can work to move that into a more
> common layer.
> 
>>
>>> Learn more at https://nnstreamer.ai/
>>>
>>> Signed-off-by: Andrew Davis <afd@ti.com>
>>> ---
>>>   .../nnstreamer/nnstreamer_2.4.0.bb            | 68 +++++++++++++++++++
>>>   1 file changed, 68 insertions(+)
>>>   create mode 100644 
>>> meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.4.0.bb
>>>
>>> diff --git 
>>> a/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.4.0.bb 
>>> b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.4.0.bb
>>> new file mode 100644
>>> index 00000000..55de11e8
>>> --- /dev/null
>>> +++ 
>>> b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.4.0.bb
>>> @@ -0,0 +1,68 @@
>>> +SUMMARY = "NNStreamer, Stream Pipeline Paradigm for Nerual Network 
>>> Applications"
>>> +DESCRIPTION = "NNStreamer is a set of Gstreamer plugins that allow 
>>> Gstreamer developers to adopt neural network models easily and 
>>> efficiently."
>>> +LICENSE = "LGPL-2.1-only"
>>> +LIC_FILES_CHKSUM = 
>>> "file://LICENSE;md5=c25e5c1949624d71896127788f1ba590"
>>> +
>>> +SRC_URI = 
>>> "git://github.com/nnstreamer/nnstreamer.git;branch=main;protocol=https"
>>> +PV = "2.4.0+git"
>>> +SRCREV = "7c57c288250578cad598f065b6fda6c0ff720cf9"
>>> +
>>> +S = "${WORKDIR}/git"
>>> +
>>> +inherit meson pkgconfig
>>> +
>>> +DEPENDS = " \
>>> +    orc-native \
>>> +    glib-2.0 \
>>> +    gstreamer1.0 \
>>> +    gstreamer1.0-plugins-base \
>>> +    python3 \
>>> +    python3-numpy \
>>> +    json-glib \
>>> +"
>>> +
>>> +PACKAGECONFIG ??= " \
>>> +    protobuf \
>>> +    flatbuffers \
>>> +    tests \
>>> +    armnn \
>>> +    onnxruntime \
>>> +    tensorflow-lite \
>>> +"
>>> +
>>> +PACKAGECONFIG[tests] = "-Denable-test=true -Dinstall-test=true, 
>>> -Denable-test=false, gtest"
>>> +PACKAGECONFIG[protobuf] = "-Dprotobuf-support=enabled, 
>>> -Dprotobuf-support=disabled, protobuf protobuf-native"
>>> +PACKAGECONFIG[flatbuffers] = "-Dflatbuf-support=enabled, 
>>> -Dflatbuf-support=disabled, flatbuffers flatbuffers-native"
>>> +PACKAGECONFIG[armnn] = "-Darmnn-support=enabled, 
>>> -Darmnn-support=disabled, armnn"
>>> +PACKAGECONFIG[onnxruntime] = "-Donnxruntime-support=enabled, 
>>> -Donnxruntime-support=disabled, onnxruntime"
>>> +PACKAGECONFIG[tensorflow-lite] = "-Dtflite2-support=enabled, 
>>> -Dtflite2-support=disabled, tensorflow-lite"
>>> +
>>> +do_install:append() {
>>> +    CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
>>> +
>>> +    # Install test data
>>> +    install -d ${D}/${bindir}/unittest-nnstreamer/tests
>>> +    cp $CP_ARGS ${S}/tests/test_models 
>>> ${D}/${bindir}/unittest-nnstreamer/tests
>>> +    rm -f 
>>> ${D}/${bindir}/unittest-nnstreamer/tests/test_models/models/tvm*
>>> +}
>>> +
>>> +FILES:${PN} += "\
>>> +    ${libdir}/*.so \
>>> +    ${libdir}/gstreamer-1.0/*.so \
>>> +    ${libdir}/nnstreamer/* \
>>> +    ${sysconfdir}/nnstreamer.ini \
>>> +"
>>> +INSANE_SKIP:${PN} += "dev-so"
>>> +
>>> +PACKAGES =+ "${PN}-tests"
>>> +
>>> +FILES:${PN}-tests += "\
>>> +    ${libdir}/nnstreamer/customfilters/* \
>>> +    ${bindir}/unittest-nnstreamer/* \
>>> +"
>>> +
>>> +FILES:${PN}-dev = "\
>>> +    ${includedir}/nnstreamer/* \
>>> +    ${libdir}/*.a \
>>
>> FWIW, these get automatically packaged into ${PN}-staticdev
>>
> 
> Let me remove this and see where those go.

Are we waiting for a v2 then?


> Andrew
> 
>>
>>> +    ${libdir}/pkgconfig/*.pc \
>>> +"
>>> -- 
>>> 2.39.2
Andrew Davis Feb. 25, 2025, 11:19 p.m. UTC | #4
On 2/25/25 4:11 PM, Ryan Eatmon wrote:
> 
> 
> On 2/21/2025 8:53 PM, Andrew Davis wrote:
>> On 2/21/25 8:25 PM, Denys Dmytriyenko wrote:
>>> On Fri, Feb 21, 2025 at 07:53:58PM -0600, Andrew Davis via lists.yoctoproject.org wrote:
>>>> NNStreamer is an efficient and flexible stream pipeline framework for
>>>> complex neural network applications.
>>>>
>>>> NNStreamer provides a set of GStreamer plugins so developers may apply
>>>> neural networks, attach related frameworks (including ROS, IIO,
>>>> FlatBuffers, and Protocol Buffers), and manipulate tensor data streams
>>>> in GStreamer pipelines easily and execute such pipelines efficiently.
>>>>
>>>> It was initially developed by Samsung and then transferred to LF AI
>>>> Foundation as an incubation project.
>>>
>>> FWIW, nnstreamer project on github has its own meta-neural-network layer with
>>> a corresponding nnstreamer recipe:
>>> https://github.com/nnstreamer/meta-neural-network
>>> https://github.com/nnstreamer/meta-neural-network/blob/master/recipes-nnstreamer/nnstreamer/nnstreamer_2.4.2.bb
>>>
>>
>> I did find that earlier when looking for existing recipes for this
>> framework, but that recipe needs some work. That layer also pulls
>> in a bunch of other stuff we don't need/want.
>>
>> I did use that as a kicking-off point. I'll try to push back my
>> fixes at some point. Maybe we can work to move that into a more
>> common layer.
>>
>>>
>>>> Learn more at https://nnstreamer.ai/
>>>>
>>>> Signed-off-by: Andrew Davis <afd@ti.com>
>>>> ---
>>>>   .../nnstreamer/nnstreamer_2.4.0.bb            | 68 +++++++++++++++++++
>>>>   1 file changed, 68 insertions(+)
>>>>   create mode 100644 meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.4.0.bb
>>>>
>>>> diff --git a/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.4.0.bb b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.4.0.bb
>>>> new file mode 100644
>>>> index 00000000..55de11e8
>>>> --- /dev/null
>>>> +++ b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.4.0.bb
>>>> @@ -0,0 +1,68 @@
>>>> +SUMMARY = "NNStreamer, Stream Pipeline Paradigm for Nerual Network Applications"
>>>> +DESCRIPTION = "NNStreamer is a set of Gstreamer plugins that allow Gstreamer developers to adopt neural network models easily and efficiently."
>>>> +LICENSE = "LGPL-2.1-only"
>>>> +LIC_FILES_CHKSUM = "file://LICENSE;md5=c25e5c1949624d71896127788f1ba590"
>>>> +
>>>> +SRC_URI = "git://github.com/nnstreamer/nnstreamer.git;branch=main;protocol=https"
>>>> +PV = "2.4.0+git"
>>>> +SRCREV = "7c57c288250578cad598f065b6fda6c0ff720cf9"
>>>> +
>>>> +S = "${WORKDIR}/git"
>>>> +
>>>> +inherit meson pkgconfig
>>>> +
>>>> +DEPENDS = " \
>>>> +    orc-native \
>>>> +    glib-2.0 \
>>>> +    gstreamer1.0 \
>>>> +    gstreamer1.0-plugins-base \
>>>> +    python3 \
>>>> +    python3-numpy \
>>>> +    json-glib \
>>>> +"
>>>> +
>>>> +PACKAGECONFIG ??= " \
>>>> +    protobuf \
>>>> +    flatbuffers \
>>>> +    tests \
>>>> +    armnn \
>>>> +    onnxruntime \
>>>> +    tensorflow-lite \
>>>> +"
>>>> +
>>>> +PACKAGECONFIG[tests] = "-Denable-test=true -Dinstall-test=true, -Denable-test=false, gtest"
>>>> +PACKAGECONFIG[protobuf] = "-Dprotobuf-support=enabled, -Dprotobuf-support=disabled, protobuf protobuf-native"
>>>> +PACKAGECONFIG[flatbuffers] = "-Dflatbuf-support=enabled, -Dflatbuf-support=disabled, flatbuffers flatbuffers-native"
>>>> +PACKAGECONFIG[armnn] = "-Darmnn-support=enabled, -Darmnn-support=disabled, armnn"
>>>> +PACKAGECONFIG[onnxruntime] = "-Donnxruntime-support=enabled, -Donnxruntime-support=disabled, onnxruntime"
>>>> +PACKAGECONFIG[tensorflow-lite] = "-Dtflite2-support=enabled, -Dtflite2-support=disabled, tensorflow-lite"
>>>> +
>>>> +do_install:append() {
>>>> +    CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
>>>> +
>>>> +    # Install test data
>>>> +    install -d ${D}/${bindir}/unittest-nnstreamer/tests
>>>> +    cp $CP_ARGS ${S}/tests/test_models ${D}/${bindir}/unittest-nnstreamer/tests
>>>> +    rm -f ${D}/${bindir}/unittest-nnstreamer/tests/test_models/models/tvm*
>>>> +}
>>>> +
>>>> +FILES:${PN} += "\
>>>> +    ${libdir}/*.so \
>>>> +    ${libdir}/gstreamer-1.0/*.so \
>>>> +    ${libdir}/nnstreamer/* \
>>>> +    ${sysconfdir}/nnstreamer.ini \
>>>> +"
>>>> +INSANE_SKIP:${PN} += "dev-so"
>>>> +
>>>> +PACKAGES =+ "${PN}-tests"
>>>> +
>>>> +FILES:${PN}-tests += "\
>>>> +    ${libdir}/nnstreamer/customfilters/* \
>>>> +    ${bindir}/unittest-nnstreamer/* \
>>>> +"
>>>> +
>>>> +FILES:${PN}-dev = "\
>>>> +    ${includedir}/nnstreamer/* \
>>>> +    ${libdir}/*.a \
>>>
>>> FWIW, these get automatically packaged into ${PN}-staticdev
>>>
>>
>> Let me remove this and see where those go.
> 
> Are we waiting for a v2 then?
> 

Yeah, seems this one line was not needed, removed it and sending v2 now.

Andrew

> 
>> Andrew
>>
>>>
>>>> +    ${libdir}/pkgconfig/*.pc \
>>>> +"
>>>> -- 
>>>> 2.39.2
>
diff mbox series

Patch

diff --git a/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.4.0.bb b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.4.0.bb
new file mode 100644
index 00000000..55de11e8
--- /dev/null
+++ b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.4.0.bb
@@ -0,0 +1,68 @@ 
+SUMMARY = "NNStreamer, Stream Pipeline Paradigm for Nerual Network Applications"
+DESCRIPTION = "NNStreamer is a set of Gstreamer plugins that allow Gstreamer developers to adopt neural network models easily and efficiently."
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c25e5c1949624d71896127788f1ba590"
+
+SRC_URI = "git://github.com/nnstreamer/nnstreamer.git;branch=main;protocol=https"
+PV = "2.4.0+git"
+SRCREV = "7c57c288250578cad598f065b6fda6c0ff720cf9"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig
+
+DEPENDS = " \
+	orc-native \
+	glib-2.0 \
+	gstreamer1.0 \
+	gstreamer1.0-plugins-base \
+	python3 \
+	python3-numpy \
+	json-glib \
+"
+
+PACKAGECONFIG ??= " \
+	protobuf \
+	flatbuffers \
+	tests \
+	armnn \
+	onnxruntime \
+	tensorflow-lite \
+"
+
+PACKAGECONFIG[tests] = "-Denable-test=true -Dinstall-test=true, -Denable-test=false, gtest"
+PACKAGECONFIG[protobuf] = "-Dprotobuf-support=enabled, -Dprotobuf-support=disabled, protobuf protobuf-native"
+PACKAGECONFIG[flatbuffers] = "-Dflatbuf-support=enabled, -Dflatbuf-support=disabled, flatbuffers flatbuffers-native"
+PACKAGECONFIG[armnn] = "-Darmnn-support=enabled, -Darmnn-support=disabled, armnn"
+PACKAGECONFIG[onnxruntime] = "-Donnxruntime-support=enabled, -Donnxruntime-support=disabled, onnxruntime"
+PACKAGECONFIG[tensorflow-lite] = "-Dtflite2-support=enabled, -Dtflite2-support=disabled, tensorflow-lite"
+
+do_install:append() {
+	CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
+
+	# Install test data
+	install -d ${D}/${bindir}/unittest-nnstreamer/tests
+	cp $CP_ARGS ${S}/tests/test_models ${D}/${bindir}/unittest-nnstreamer/tests
+	rm -f ${D}/${bindir}/unittest-nnstreamer/tests/test_models/models/tvm*
+}
+
+FILES:${PN} += "\
+	${libdir}/*.so \
+	${libdir}/gstreamer-1.0/*.so \
+	${libdir}/nnstreamer/* \
+	${sysconfdir}/nnstreamer.ini \
+"
+INSANE_SKIP:${PN} += "dev-so"
+
+PACKAGES =+ "${PN}-tests"
+
+FILES:${PN}-tests += "\
+	${libdir}/nnstreamer/customfilters/* \
+	${bindir}/unittest-nnstreamer/* \
+"
+
+FILES:${PN}-dev = "\
+	${includedir}/nnstreamer/* \
+	${libdir}/*.a \
+	${libdir}/pkgconfig/*.pc \
+"