Message ID | 20250610115502.2483804-2-dario.binacchi@amarulasolutions.com |
---|---|
State | New |
Headers | show |
Series |
|
Related | show |
Hello Dario, All, Le 10/06/2025 à 13:55, Dario Binacchi a écrit : > CANopenTerm is an open-source tool for developing, testing, and > analyzing CANopen CC networks and devices. It provides a technical, > no-nonsense solution for professionals working with CAN CC-based > networks. Additionally, it supports SAE J1939 and OBD-II protocols, > making it versatile for various applications. > > Version v1.0.10 was chosen because it is the last one requiring SDL2. > Indeed version v1.0.11 depends on SDL3. > > Tested on STM32MP257F-EV1 > > Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> > ---> DEVELOPERS | 1 + > package/Config.in | 1 + > ...allation-when-BUILD_YOCTO-is-enabled.patch | 39 +++++++++++++++++++ > package/canopenterm/Config.in | 17 ++++++++ > package/canopenterm/canopenterm.hash | 3 ++ > package/canopenterm/canopenterm.mk | 15 +++++++ > 6 files changed, 76 insertions(+) > create mode 100644 package/canopenterm/0001-Fix-exe-installation-when-BUILD_YOCTO-is-enabled.patch > create mode 100644 package/canopenterm/Config.in > create mode 100644 package/canopenterm/canopenterm.hash > create mode 100644 package/canopenterm/canopenterm.mk > > diff --git a/DEVELOPERS b/DEVELOPERS > index 46d24afceb71..d3ef898f3244 100644 > --- a/DEVELOPERS > +++ b/DEVELOPERS > @@ -809,6 +809,7 @@ F: configs/stm32f769_disco_sd_defconfig > F: package/aespipe/ > F: package/armadillo/ > F: package/babeld/ > +F: package/canopenterm/ > F: package/iana-assignments/ > F: package/inih/ > F: package/pocketpy/ > diff --git a/package/Config.in b/package/Config.in > index 9aad65488a6c..413ac3ef8b3c 100644 > --- a/package/Config.in > +++ b/package/Config.in > @@ -2467,6 +2467,7 @@ endif > source "package/c-icap-modules/Config.in" > source "package/can-utils/Config.in" > source "package/cannelloni/Config.in" > + source "package/canopenterm/Config.in" > source "package/casync/Config.in" > source "package/casync-nano/Config.in" > source "package/cfm/Config.in" > diff --git a/package/canopenterm/0001-Fix-exe-installation-when-BUILD_YOCTO-is-enabled.patch b/package/canopenterm/0001-Fix-exe-installation-when-BUILD_YOCTO-is-enabled.patch > new file mode 100644 > index 000000000000..55d15afbbc95 > --- /dev/null > +++ b/package/canopenterm/0001-Fix-exe-installation-when-BUILD_YOCTO-is-enabled.patch > @@ -0,0 +1,39 @@ > +From fc150187a2e2ce777e757405eb1d67235fc68d75 Mon Sep 17 00:00:00 2001 > +From: Dario Binacchi <dario.binacchi@amarulasolutions.com> > +Date: Thu, 8 May 2025 15:24:38 +0200 > +Subject: [PATCH] Fix exe installation when BUILD_YOCTO is enabled > + > +While building CanopenTerm in Buildroot, with the BUILD_YOCTO option > +enabled (yes, really :)), the following error is raised: > + > +CMake Error at output/build/canopenterm-1.0.10/cmake_install.cmake:114 (file): > + file INSTALL cannot find > + "buildroot/output/build/canopenterm-1.0.10/CANopenTerm": > + No such file or directory. > + > +Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> > +Upstream: https://github.com/CANopenTerm/CANopenTerm/pull/95 This patch is now merged. > +--- > + cmake/os_linux.cmake | 4 ++-- > + 1 file changed, 2 insertions(+), 2 deletions(-) > + > +diff --git a/cmake/os_linux.cmake b/cmake/os_linux.cmake > +index 7c1f8185b2a2..f149bd03fe92 100644 > +--- a/cmake/os_linux.cmake > ++++ b/cmake/os_linux.cmake > +@@ -104,10 +104,10 @@ if (BUILD_YOCTO) > + DESTINATION /usr/share/CANopenTerm/scripts/utils > + FILES_MATCHING PATTERN "*") > + > +- install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/CANopenTerm > ++ install(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/export/CANopenTerm > + DESTINATION /usr/bin) > + > +- install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/codb2json > ++ install(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/export/codb2json > + DESTINATION /usr/bin) > + > + return() > +-- > +2.43.0 > + > diff --git a/package/canopenterm/Config.in b/package/canopenterm/Config.in > new file mode 100644 > index 000000000000..04894db817b7 > --- /dev/null > +++ b/package/canopenterm/Config.in > @@ -0,0 +1,17 @@ > +config BR2_PACKAGE_CANOPENTERM > + bool "canopenterm" > + depends on BR2_INSTALL_LIBSTDCPP # pocketpy > + depends on !BR2_STATIC_LIBS # pocketpy and SDL2 > + select BR2_PACKAGE_CJSON > + select BR2_PACKAGE_INIH > + select BR2_PACKAGE_LIBSOCKETCAN > + select BR2_PACKAGE_LUA I was going to apply this patch but lua interpreter can't be selected this way. The user must do a choice between lua 5.1, 5.3, 5.4 or luajit, so it should be a "depends on". Best regards, Romain > + select BR2_PACKAGE_POCKETPY > + select BR2_PACKAGE_READLINE > + select BR2_PACKAGE_SDL2 > + help > + CANopenTerm is an open-source tool for developing, > + testing, and analyzing CANopen CC networks and > + devices. > + > + https://github.com/CANopenTerm/CANopenTerm > diff --git a/package/canopenterm/canopenterm.hash b/package/canopenterm/canopenterm.hash > new file mode 100644 > index 000000000000..8c403e9bb6af > --- /dev/null > +++ b/package/canopenterm/canopenterm.hash > @@ -0,0 +1,3 @@ > +# locally computed > +sha256 9de6f472b749f08a5ea9a836604507cd56c71f818a4141a2b989423fbb7beb80 canopenterm-1.0.10.tar.gz > +sha256 cc555368040b92e77b14289b367ccbebf88344367188862680d40cc885636d3a LICENSE.md > diff --git a/package/canopenterm/canopenterm.mk b/package/canopenterm/canopenterm.mk > new file mode 100644 > index 000000000000..c3883ffef74d > --- /dev/null > +++ b/package/canopenterm/canopenterm.mk > @@ -0,0 +1,15 @@ > +################################################################################ > +# > +# canopenterm > +# > +################################################################################ > + > +CANOPENTERM_VERSION = 1.0.10 > +CANOPENTERM_SITE = $(call github,CANopenTerm,CANopenTerm,v$(CANOPENTERM_VERSION)) > +CANOPENTERM_LICENSE = MIT > +CANOPENTERM_LICENSE_FILES = LICENSE.md > +CANOPENTERM_DEPENDENCIES = cjson inih libsocketcan lua pocketpy readline sdl2 > + > +CANOPENTERM_CONF_OPTS = -DBUILD_YOCTO=ON > + > +$(eval $(cmake-package)) To unsubscribe from this group and stop receiving emails from it, send an email to linux-amarula+unsubscribe@amarulasolutions.com.
Hello Romain, On Sun, Jul 6, 2025 at 5:24 PM Romain Naour <romain.naour@smile.fr> wrote: > > Hello Dario, All, > > Le 10/06/2025 à 13:55, Dario Binacchi a écrit : > > CANopenTerm is an open-source tool for developing, testing, and > > analyzing CANopen CC networks and devices. It provides a technical, > > no-nonsense solution for professionals working with CAN CC-based > > networks. Additionally, it supports SAE J1939 and OBD-II protocols, > > making it versatile for various applications. > > > > Version v1.0.10 was chosen because it is the last one requiring SDL2. > > Indeed version v1.0.11 depends on SDL3. > > > > Tested on STM32MP257F-EV1 > > > > Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> > > ---> DEVELOPERS | 1 + > > package/Config.in | 1 + > > ...allation-when-BUILD_YOCTO-is-enabled.patch | 39 +++++++++++++++++++ > > package/canopenterm/Config.in | 17 ++++++++ > > package/canopenterm/canopenterm.hash | 3 ++ > > package/canopenterm/canopenterm.mk | 15 +++++++ > > 6 files changed, 76 insertions(+) > > create mode 100644 package/canopenterm/0001-Fix-exe-installation-when-BUILD_YOCTO-is-enabled.patch > > create mode 100644 package/canopenterm/Config.in > > create mode 100644 package/canopenterm/canopenterm.hash > > create mode 100644 package/canopenterm/canopenterm.mk > > > > diff --git a/DEVELOPERS b/DEVELOPERS > > index 46d24afceb71..d3ef898f3244 100644 > > --- a/DEVELOPERS > > +++ b/DEVELOPERS > > @@ -809,6 +809,7 @@ F: configs/stm32f769_disco_sd_defconfig > > F: package/aespipe/ > > F: package/armadillo/ > > F: package/babeld/ > > +F: package/canopenterm/ > > F: package/iana-assignments/ > > F: package/inih/ > > F: package/pocketpy/ > > diff --git a/package/Config.in b/package/Config.in > > index 9aad65488a6c..413ac3ef8b3c 100644 > > --- a/package/Config.in > > +++ b/package/Config.in > > @@ -2467,6 +2467,7 @@ endif > > source "package/c-icap-modules/Config.in" > > source "package/can-utils/Config.in" > > source "package/cannelloni/Config.in" > > + source "package/canopenterm/Config.in" > > source "package/casync/Config.in" > > source "package/casync-nano/Config.in" > > source "package/cfm/Config.in" > > diff --git a/package/canopenterm/0001-Fix-exe-installation-when-BUILD_YOCTO-is-enabled.patch b/package/canopenterm/0001-Fix-exe-installation-when-BUILD_YOCTO-is-enabled.patch > > new file mode 100644 > > index 000000000000..55d15afbbc95 > > --- /dev/null > > +++ b/package/canopenterm/0001-Fix-exe-installation-when-BUILD_YOCTO-is-enabled.patch > > @@ -0,0 +1,39 @@ > > +From fc150187a2e2ce777e757405eb1d67235fc68d75 Mon Sep 17 00:00:00 2001 > > +From: Dario Binacchi <dario.binacchi@amarulasolutions.com> > > +Date: Thu, 8 May 2025 15:24:38 +0200 > > +Subject: [PATCH] Fix exe installation when BUILD_YOCTO is enabled > > + > > +While building CanopenTerm in Buildroot, with the BUILD_YOCTO option > > +enabled (yes, really :)), the following error is raised: > > + > > +CMake Error at output/build/canopenterm-1.0.10/cmake_install.cmake:114 (file): > > + file INSTALL cannot find > > + "buildroot/output/build/canopenterm-1.0.10/CANopenTerm": > > + No such file or directory. > > + > > +Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> > > +Upstream: https://github.com/CANopenTerm/CANopenTerm/pull/95 > > This patch is now merged. Do I need change in: Upstream: backport from https://github.com/CANopenTerm/CANopenTerm/commit/fc150187a2e2ce777e757405eb1d67235fc68d75 ? The patch has been merged on v1.0.11, so I need to apply on v1.0.10, the version chosen for Buildroot. Thanks and regards, Dario > > > +--- > > + cmake/os_linux.cmake | 4 ++-- > > + 1 file changed, 2 insertions(+), 2 deletions(-) > > + > > +diff --git a/cmake/os_linux.cmake b/cmake/os_linux.cmake > > +index 7c1f8185b2a2..f149bd03fe92 100644 > > +--- a/cmake/os_linux.cmake > > ++++ b/cmake/os_linux.cmake > > +@@ -104,10 +104,10 @@ if (BUILD_YOCTO) > > + DESTINATION /usr/share/CANopenTerm/scripts/utils > > + FILES_MATCHING PATTERN "*") > > + > > +- install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/CANopenTerm > > ++ install(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/export/CANopenTerm > > + DESTINATION /usr/bin) > > + > > +- install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/codb2json > > ++ install(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/export/codb2json > > + DESTINATION /usr/bin) > > + > > + return() > > +-- > > +2.43.0 > > + > > diff --git a/package/canopenterm/Config.in b/package/canopenterm/Config.in > > new file mode 100644 > > index 000000000000..04894db817b7 > > --- /dev/null > > +++ b/package/canopenterm/Config.in > > @@ -0,0 +1,17 @@ > > +config BR2_PACKAGE_CANOPENTERM > > + bool "canopenterm" > > + depends on BR2_INSTALL_LIBSTDCPP # pocketpy > > + depends on !BR2_STATIC_LIBS # pocketpy and SDL2 > > + select BR2_PACKAGE_CJSON > > + select BR2_PACKAGE_INIH > > + select BR2_PACKAGE_LIBSOCKETCAN > > + select BR2_PACKAGE_LUA > > I was going to apply this patch but lua interpreter can't be selected this way. > The user must do a choice between lua 5.1, 5.3, 5.4 or luajit, so it should be a > "depends on". > > Best regards, > Romain > > > > + select BR2_PACKAGE_POCKETPY > > + select BR2_PACKAGE_READLINE > > + select BR2_PACKAGE_SDL2 > > + help > > + CANopenTerm is an open-source tool for developing, > > + testing, and analyzing CANopen CC networks and > > + devices. > > + > > + https://github.com/CANopenTerm/CANopenTerm > > diff --git a/package/canopenterm/canopenterm.hash b/package/canopenterm/canopenterm.hash > > new file mode 100644 > > index 000000000000..8c403e9bb6af > > --- /dev/null > > +++ b/package/canopenterm/canopenterm.hash > > @@ -0,0 +1,3 @@ > > +# locally computed > > +sha256 9de6f472b749f08a5ea9a836604507cd56c71f818a4141a2b989423fbb7beb80 canopenterm-1.0.10.tar.gz > > +sha256 cc555368040b92e77b14289b367ccbebf88344367188862680d40cc885636d3a LICENSE.md > > diff --git a/package/canopenterm/canopenterm.mk b/package/canopenterm/canopenterm.mk > > new file mode 100644 > > index 000000000000..c3883ffef74d > > --- /dev/null > > +++ b/package/canopenterm/canopenterm.mk > > @@ -0,0 +1,15 @@ > > +################################################################################ > > +# > > +# canopenterm > > +# > > +################################################################################ > > + > > +CANOPENTERM_VERSION = 1.0.10 > > +CANOPENTERM_SITE = $(call github,CANopenTerm,CANopenTerm,v$(CANOPENTERM_VERSION)) > > +CANOPENTERM_LICENSE = MIT > > +CANOPENTERM_LICENSE_FILES = LICENSE.md > > +CANOPENTERM_DEPENDENCIES = cjson inih libsocketcan lua pocketpy readline sdl2 > > + > > +CANOPENTERM_CONF_OPTS = -DBUILD_YOCTO=ON > > + > > +$(eval $(cmake-package)) >
Hello Dario, Le 06/07/2025 à 17:43, Dario Binacchi a écrit : > Hello Romain, > > On Sun, Jul 6, 2025 at 5:24 PM Romain Naour <romain.naour@smile.fr> wrote: >> >> Hello Dario, All, >> >> Le 10/06/2025 à 13:55, Dario Binacchi a écrit : >>> CANopenTerm is an open-source tool for developing, testing, and >>> analyzing CANopen CC networks and devices. It provides a technical, >>> no-nonsense solution for professionals working with CAN CC-based >>> networks. Additionally, it supports SAE J1939 and OBD-II protocols, >>> making it versatile for various applications. >>> >>> Version v1.0.10 was chosen because it is the last one requiring SDL2. >>> Indeed version v1.0.11 depends on SDL3. >>> >>> Tested on STM32MP257F-EV1 >>> >>> Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> >>> ---> DEVELOPERS | 1 + >>> package/Config.in | 1 + >>> ...allation-when-BUILD_YOCTO-is-enabled.patch | 39 +++++++++++++++++++ >>> package/canopenterm/Config.in | 17 ++++++++ >>> package/canopenterm/canopenterm.hash | 3 ++ >>> package/canopenterm/canopenterm.mk | 15 +++++++ >>> 6 files changed, 76 insertions(+) >>> create mode 100644 package/canopenterm/0001-Fix-exe-installation-when-BUILD_YOCTO-is-enabled.patch >>> create mode 100644 package/canopenterm/Config.in >>> create mode 100644 package/canopenterm/canopenterm.hash >>> create mode 100644 package/canopenterm/canopenterm.mk >>> >>> diff --git a/DEVELOPERS b/DEVELOPERS >>> index 46d24afceb71..d3ef898f3244 100644 >>> --- a/DEVELOPERS >>> +++ b/DEVELOPERS >>> @@ -809,6 +809,7 @@ F: configs/stm32f769_disco_sd_defconfig >>> F: package/aespipe/ >>> F: package/armadillo/ >>> F: package/babeld/ >>> +F: package/canopenterm/ >>> F: package/iana-assignments/ >>> F: package/inih/ >>> F: package/pocketpy/ >>> diff --git a/package/Config.in b/package/Config.in >>> index 9aad65488a6c..413ac3ef8b3c 100644 >>> --- a/package/Config.in >>> +++ b/package/Config.in >>> @@ -2467,6 +2467,7 @@ endif >>> source "package/c-icap-modules/Config.in" >>> source "package/can-utils/Config.in" >>> source "package/cannelloni/Config.in" >>> + source "package/canopenterm/Config.in" >>> source "package/casync/Config.in" >>> source "package/casync-nano/Config.in" >>> source "package/cfm/Config.in" >>> diff --git a/package/canopenterm/0001-Fix-exe-installation-when-BUILD_YOCTO-is-enabled.patch b/package/canopenterm/0001-Fix-exe-installation-when-BUILD_YOCTO-is-enabled.patch >>> new file mode 100644 >>> index 000000000000..55d15afbbc95 >>> --- /dev/null >>> +++ b/package/canopenterm/0001-Fix-exe-installation-when-BUILD_YOCTO-is-enabled.patch >>> @@ -0,0 +1,39 @@ >>> +From fc150187a2e2ce777e757405eb1d67235fc68d75 Mon Sep 17 00:00:00 2001 >>> +From: Dario Binacchi <dario.binacchi@amarulasolutions.com> >>> +Date: Thu, 8 May 2025 15:24:38 +0200 >>> +Subject: [PATCH] Fix exe installation when BUILD_YOCTO is enabled >>> + >>> +While building CanopenTerm in Buildroot, with the BUILD_YOCTO option >>> +enabled (yes, really :)), the following error is raised: >>> + >>> +CMake Error at output/build/canopenterm-1.0.10/cmake_install.cmake:114 (file): >>> + file INSTALL cannot find >>> + "buildroot/output/build/canopenterm-1.0.10/CANopenTerm": >>> + No such file or directory. >>> + >>> +Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> >>> +Upstream: https://github.com/CANopenTerm/CANopenTerm/pull/95 >> >> This patch is now merged. > > Do I need change in: > > Upstream: backport from > https://github.com/CANopenTerm/CANopenTerm/commit/fc150187a2e2ce777e757405eb1d67235fc68d75 > > ? If you resend a new version of this patch, it would be great if the upstream status is updated. It's better when a patch is merged upstream than pending in a PR. > > The patch has been merged on v1.0.11, so I need to apply on v1.0.10, > the version chosen for Buildroot. Indeed. Best regards, Romain > > Thanks and regards, > Dario > >> >>> +--- >>> + cmake/os_linux.cmake | 4 ++-- >>> + 1 file changed, 2 insertions(+), 2 deletions(-) >>> + >>> +diff --git a/cmake/os_linux.cmake b/cmake/os_linux.cmake >>> +index 7c1f8185b2a2..f149bd03fe92 100644 >>> +--- a/cmake/os_linux.cmake >>> ++++ b/cmake/os_linux.cmake >>> +@@ -104,10 +104,10 @@ if (BUILD_YOCTO) >>> + DESTINATION /usr/share/CANopenTerm/scripts/utils >>> + FILES_MATCHING PATTERN "*") >>> + >>> +- install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/CANopenTerm >>> ++ install(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/export/CANopenTerm >>> + DESTINATION /usr/bin) >>> + >>> +- install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/codb2json >>> ++ install(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/export/codb2json >>> + DESTINATION /usr/bin) >>> + >>> + return() >>> +-- >>> +2.43.0 >>> + >>> diff --git a/package/canopenterm/Config.in b/package/canopenterm/Config.in >>> new file mode 100644 >>> index 000000000000..04894db817b7 >>> --- /dev/null >>> +++ b/package/canopenterm/Config.in >>> @@ -0,0 +1,17 @@ >>> +config BR2_PACKAGE_CANOPENTERM >>> + bool "canopenterm" >>> + depends on BR2_INSTALL_LIBSTDCPP # pocketpy >>> + depends on !BR2_STATIC_LIBS # pocketpy and SDL2 >>> + select BR2_PACKAGE_CJSON >>> + select BR2_PACKAGE_INIH >>> + select BR2_PACKAGE_LIBSOCKETCAN >>> + select BR2_PACKAGE_LUA >> >> I was going to apply this patch but lua interpreter can't be selected this way. >> The user must do a choice between lua 5.1, 5.3, 5.4 or luajit, so it should be a >> "depends on". >> >> Best regards, >> Romain >> >> >>> + select BR2_PACKAGE_POCKETPY >>> + select BR2_PACKAGE_READLINE >>> + select BR2_PACKAGE_SDL2 >>> + help >>> + CANopenTerm is an open-source tool for developing, >>> + testing, and analyzing CANopen CC networks and >>> + devices. >>> + >>> + https://github.com/CANopenTerm/CANopenTerm >>> diff --git a/package/canopenterm/canopenterm.hash b/package/canopenterm/canopenterm.hash >>> new file mode 100644 >>> index 000000000000..8c403e9bb6af >>> --- /dev/null >>> +++ b/package/canopenterm/canopenterm.hash >>> @@ -0,0 +1,3 @@ >>> +# locally computed >>> +sha256 9de6f472b749f08a5ea9a836604507cd56c71f818a4141a2b989423fbb7beb80 canopenterm-1.0.10.tar.gz >>> +sha256 cc555368040b92e77b14289b367ccbebf88344367188862680d40cc885636d3a LICENSE.md >>> diff --git a/package/canopenterm/canopenterm.mk b/package/canopenterm/canopenterm.mk >>> new file mode 100644 >>> index 000000000000..c3883ffef74d >>> --- /dev/null >>> +++ b/package/canopenterm/canopenterm.mk >>> @@ -0,0 +1,15 @@ >>> +################################################################################ >>> +# >>> +# canopenterm >>> +# >>> +################################################################################ >>> + >>> +CANOPENTERM_VERSION = 1.0.10 >>> +CANOPENTERM_SITE = $(call github,CANopenTerm,CANopenTerm,v$(CANOPENTERM_VERSION)) >>> +CANOPENTERM_LICENSE = MIT >>> +CANOPENTERM_LICENSE_FILES = LICENSE.md >>> +CANOPENTERM_DEPENDENCIES = cjson inih libsocketcan lua pocketpy readline sdl2 >>> + >>> +CANOPENTERM_CONF_OPTS = -DBUILD_YOCTO=ON >>> + >>> +$(eval $(cmake-package)) >> > > To unsubscribe from this group and stop receiving emails from it, send an email to linux-amarula+unsubscribe@amarulasolutions.com.
diff --git a/DEVELOPERS b/DEVELOPERS index 46d24afceb71..d3ef898f3244 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -809,6 +809,7 @@ F: configs/stm32f769_disco_sd_defconfig F: package/aespipe/ F: package/armadillo/ F: package/babeld/ +F: package/canopenterm/ F: package/iana-assignments/ F: package/inih/ F: package/pocketpy/ diff --git a/package/Config.in b/package/Config.in index 9aad65488a6c..413ac3ef8b3c 100644 --- a/package/Config.in +++ b/package/Config.in @@ -2467,6 +2467,7 @@ endif source "package/c-icap-modules/Config.in" source "package/can-utils/Config.in" source "package/cannelloni/Config.in" + source "package/canopenterm/Config.in" source "package/casync/Config.in" source "package/casync-nano/Config.in" source "package/cfm/Config.in" diff --git a/package/canopenterm/0001-Fix-exe-installation-when-BUILD_YOCTO-is-enabled.patch b/package/canopenterm/0001-Fix-exe-installation-when-BUILD_YOCTO-is-enabled.patch new file mode 100644 index 000000000000..55d15afbbc95 --- /dev/null +++ b/package/canopenterm/0001-Fix-exe-installation-when-BUILD_YOCTO-is-enabled.patch @@ -0,0 +1,39 @@ +From fc150187a2e2ce777e757405eb1d67235fc68d75 Mon Sep 17 00:00:00 2001 +From: Dario Binacchi <dario.binacchi@amarulasolutions.com> +Date: Thu, 8 May 2025 15:24:38 +0200 +Subject: [PATCH] Fix exe installation when BUILD_YOCTO is enabled + +While building CanopenTerm in Buildroot, with the BUILD_YOCTO option +enabled (yes, really :)), the following error is raised: + +CMake Error at output/build/canopenterm-1.0.10/cmake_install.cmake:114 (file): + file INSTALL cannot find + "buildroot/output/build/canopenterm-1.0.10/CANopenTerm": + No such file or directory. + +Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> +Upstream: https://github.com/CANopenTerm/CANopenTerm/pull/95 +--- + cmake/os_linux.cmake | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/cmake/os_linux.cmake b/cmake/os_linux.cmake +index 7c1f8185b2a2..f149bd03fe92 100644 +--- a/cmake/os_linux.cmake ++++ b/cmake/os_linux.cmake +@@ -104,10 +104,10 @@ if (BUILD_YOCTO) + DESTINATION /usr/share/CANopenTerm/scripts/utils + FILES_MATCHING PATTERN "*") + +- install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/CANopenTerm ++ install(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/export/CANopenTerm + DESTINATION /usr/bin) + +- install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/codb2json ++ install(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/export/codb2json + DESTINATION /usr/bin) + + return() +-- +2.43.0 + diff --git a/package/canopenterm/Config.in b/package/canopenterm/Config.in new file mode 100644 index 000000000000..04894db817b7 --- /dev/null +++ b/package/canopenterm/Config.in @@ -0,0 +1,17 @@ +config BR2_PACKAGE_CANOPENTERM + bool "canopenterm" + depends on BR2_INSTALL_LIBSTDCPP # pocketpy + depends on !BR2_STATIC_LIBS # pocketpy and SDL2 + select BR2_PACKAGE_CJSON + select BR2_PACKAGE_INIH + select BR2_PACKAGE_LIBSOCKETCAN + select BR2_PACKAGE_LUA + select BR2_PACKAGE_POCKETPY + select BR2_PACKAGE_READLINE + select BR2_PACKAGE_SDL2 + help + CANopenTerm is an open-source tool for developing, + testing, and analyzing CANopen CC networks and + devices. + + https://github.com/CANopenTerm/CANopenTerm diff --git a/package/canopenterm/canopenterm.hash b/package/canopenterm/canopenterm.hash new file mode 100644 index 000000000000..8c403e9bb6af --- /dev/null +++ b/package/canopenterm/canopenterm.hash @@ -0,0 +1,3 @@ +# locally computed +sha256 9de6f472b749f08a5ea9a836604507cd56c71f818a4141a2b989423fbb7beb80 canopenterm-1.0.10.tar.gz +sha256 cc555368040b92e77b14289b367ccbebf88344367188862680d40cc885636d3a LICENSE.md diff --git a/package/canopenterm/canopenterm.mk b/package/canopenterm/canopenterm.mk new file mode 100644 index 000000000000..c3883ffef74d --- /dev/null +++ b/package/canopenterm/canopenterm.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# canopenterm +# +################################################################################ + +CANOPENTERM_VERSION = 1.0.10 +CANOPENTERM_SITE = $(call github,CANopenTerm,CANopenTerm,v$(CANOPENTERM_VERSION)) +CANOPENTERM_LICENSE = MIT +CANOPENTERM_LICENSE_FILES = LICENSE.md +CANOPENTERM_DEPENDENCIES = cjson inih libsocketcan lua pocketpy readline sdl2 + +CANOPENTERM_CONF_OPTS = -DBUILD_YOCTO=ON + +$(eval $(cmake-package))
CANopenTerm is an open-source tool for developing, testing, and analyzing CANopen CC networks and devices. It provides a technical, no-nonsense solution for professionals working with CAN CC-based networks. Additionally, it supports SAE J1939 and OBD-II protocols, making it versatile for various applications. Version v1.0.10 was chosen because it is the last one requiring SDL2. Indeed version v1.0.11 depends on SDL3. Tested on STM32MP257F-EV1 Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> --- DEVELOPERS | 1 + package/Config.in | 1 + ...allation-when-BUILD_YOCTO-is-enabled.patch | 39 +++++++++++++++++++ package/canopenterm/Config.in | 17 ++++++++ package/canopenterm/canopenterm.hash | 3 ++ package/canopenterm/canopenterm.mk | 15 +++++++ 6 files changed, 76 insertions(+) create mode 100644 package/canopenterm/0001-Fix-exe-installation-when-BUILD_YOCTO-is-enabled.patch create mode 100644 package/canopenterm/Config.in create mode 100644 package/canopenterm/canopenterm.hash create mode 100644 package/canopenterm/canopenterm.mk