From patchwork Mon Jul 7 05:58:24 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4200 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-ed1-f71.google.com (mail-ed1-f71.google.com [209.85.208.71]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id EB88F3F031 for ; Mon, 7 Jul 2025 07:58:30 +0200 (CEST) Received: by mail-ed1-f71.google.com with SMTP id 4fb4d7f45d1cf-6069f1c97b3sf1919554a12.2 for ; Sun, 06 Jul 2025 22:58:30 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1751867910; cv=pass; d=google.com; s=arc-20240605; b=eXQ4zSSPqu15qtnXrzo6W0m+yX6IQhGiSAWAJ2kFjzZ/2ZxW1JXQEBOAB3R3UsKTaB IlJHUOlLx+dEce1L4cFja9c2ObRv7g6fhzTCx+SxckUC17oLh61keZI7w9GlzdgUty79 ulDzPqBIoHgmONrNyXYsl+TT5uEA3lb/xZ5Yqcu0Em+FKeGfao06J/JCYQLCBFebQh9f JuL3+2nCW8TR5uWyQmRUii2H1uskAB+ZRRbxWRIAku9B4+yNeH6cZcPABJrWVTDzLxRG NSaUgG6eUScx/Obx8H+72onEPFFNgh9VuK9o90XW94Du4fR9ky06TISOmaGOsB5VWNdi WUIw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:mime-version:message-id:date:subject:cc:to :from:dkim-signature; bh=BB6EiklRG+LmpBlNyWG5fI0H0kmnJCRZl7TjEGoCxjw=; fh=4+YdhcXee5w3uMk8wjypAWkE7ABpRoDgNTOrd2/SGSk=; b=eE6+83CGjJ6elDuLt9y8pyj2iZcXV+K7MLhGqdJPiOPU6xtiMpePPeECXzgY7985PB 0VCTrPxFu/B6avi9iqtBf53fvSftmebcCO+wcP5JnMRpuDM9UBizAboyQ31DMYm1wCOY DNZNdmly6xrjlhNjskeo9rDVQw6ThEwwShd67PfkIIJsrZHStZOT6tGR8Ag8pfYuYMtK B4h/IjmQOSRNu5BPjpUlS9T+6VH+rMGdWD9G/hBHMEpd9ukCvdLGUKe9OPbrjjCl6ZHc f9kLu4SNJQ+IRlM/PRvtJ9RfJnqbdf7fhfWbO8OTLyJG6Yr8fyqNsE2MrRkqiszbKQxR gPYg==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=AOFHsaEk; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=pass header.i=@amarulasolutions.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1751867910; x=1752472710; darn=patchwork.amarulasolutions.com; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:message-id:date:subject:cc:to:from :from:to:cc:subject:date:message-id:reply-to; bh=BB6EiklRG+LmpBlNyWG5fI0H0kmnJCRZl7TjEGoCxjw=; b=JqFjNiJVtOgClsKyOgn/XlbFrWgDRM1mM0PBu5ESesupJ9OzKy9NJhYzei0s74+KBT 6y4F1WZk2baCJjzHf1FlzXCr736XEaTS9Z6/bB7Nematqg4puJZiiFC76ALldPrjnMLj fwdKVMdRGs6SsupQXXlRi71jajo/V8Vbw2GqA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751867910; x=1752472710; h=list-unsubscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :message-id:date:subject:cc:to:from:x-beenthere:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=BB6EiklRG+LmpBlNyWG5fI0H0kmnJCRZl7TjEGoCxjw=; b=TGgO60TyE/k4e6I7nptO4qWIranXybjPLuBlvPHAzRZDTiP6vhO0C1Vjyvs7K4ATic yePre8LOpopMDadPHss81UU9MDvOHmadNWej8qheW3BWVoF67KM4Th15nVNByc3zxInG 0wvHd/mcKQ98jkcFvY8Dxts4qEDJRVmbYNfoU8DfDfHMg38pQmsYGG6LQzBLxiOn6DDi 5cu43gsqeTjK8nitJNR2etvKjnTjeusKdV8dzs+pHzQWvJcUnhol+gZedpGD2kwOLo3D gPg1KuWYXZQMK2ejk6kV9Qmpc/yC+SffeC8NPt8o8SORm7lTSDgTFG+B+imAFr2+U8A5 Wnjw== X-Forwarded-Encrypted: i=2; AJvYcCUZAyRvyhNA6tzd+fAE50XrFi9LJydUZBzmjRkVMEIn7wJtgTOHD05PVpLdU18ZA+4aTnGV/xW+2Brm0KhI@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0Yx08cvZqvCeBryTHN+lQ4EkkCmmWLMubqg76wZ+E7JYOX3ZNY6w sPildWaI3G3m2QKTGLw0xf7Wr5Ufv27dW+JvOpnlvxRau8POvIWOVbFZwoozXibEkjsF6A== X-Google-Smtp-Source: AGHT+IEL9aMwD9WE+OomAipru8+F0QTzWS7lBtImj9ipi4s7B/Z94LRdHW1tFTl4259UmLBWaI9w6A== X-Received: by 2002:a05:6402:5187:b0:60c:3cca:651a with SMTP id 4fb4d7f45d1cf-60fd6e74fdfmr8954476a12.33.1751867910415; Sun, 06 Jul 2025 22:58:30 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com; h=AZMbMZfra+igLj8Ytilvw3kzmwcOab6+Ss/rDV4KJXDe3aSaVw== Received: by 2002:a05:6402:1d48:b0:602:2b2c:5d27 with SMTP id 4fb4d7f45d1cf-60fdb5034a0ls1503578a12.0.-pod-prod-09-eu; Sun, 06 Jul 2025 22:58:28 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWfU7G9uq1GSewgAbFNi7MTwjveVu5qyskRSs6sIZYjitbhFuW1P9SuDnAEEfkRRHcM+HpkiloWLaphJOaA@amarulasolutions.com X-Received: by 2002:a17:906:d554:b0:ae0:bbd2:68d5 with SMTP id a640c23a62f3a-ae3fe457654mr972496566b.2.1751867907846; Sun, 06 Jul 2025 22:58:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1751867907; cv=none; d=google.com; s=arc-20240605; b=ctbw2jEpapdUOe/KcRVhisNw6hAItsK5SvKBC592DC3Vg0lvN9OXnnLgjbtS3acXbl lIn34UyBw8ABEFL0HU2lFvXuw0TdGoxvznGyAGWJ10tv7+A65zGvZuPlmNvei7lnk+zX OvqeI2hWhNL7myNLenkcvuQMOEBHC8ORgm3iCrYf4ImWltCeKVAw0+joTtewvoO3hCqq OtrqLk6DFTsCpZK178GH3U4XZyYJnOQPtjDtFF9VFc4uUZI1myg0sJ+nTovRENTINuXI 7Wni5b2tvjBjFxf1pkAEirVEcVdjRD/RiHX9lOOQZvMnwT+6M/875Qh/lz868k+A4ccB 9D+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:dkim-signature; bh=vYhJfXTUbn9Kex/QILs3Y4WVPHy/Yr52eEQZWf/Xtg0=; fh=VpKl4QYol1qGjOIIuvZUPTeoq6C6Q5C6obT8MRfFcVA=; b=HbXA8naH37Iq3Pge+8xEx8quj7PA4Af0FsUruUmJNv3RhNnzKQ+MBpBz7hWPPh7Zj9 5ZQpFkXDGqcWYYG6NjK+lW74jfiF4KtQ89WDpUo/1+B7wLOiXW6PSaf+Mpp4XsKXpgEF KNpHSSH2dgE9Hz2cMdfg3kyT8ZKSuusFMES+2M5int/ezf2waT9fMWitpxXNlI9QTot2 wCBd9jnMoOEPiguimKdmfpBJfysShPSXNjZXhlmQbgwHfDGG9O3fLggEtsLYLu0CGimB KBemHWTvIFcbmqMDYKfBKrUiCWbAoZgNVSMmXaOo5GsPNZ2Xatqo4QsIauMYBSGnnYch bQPg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=AOFHsaEk; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=pass header.i=@amarulasolutions.com Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id a640c23a62f3a-ae3f696d0c3sor223557566b.8.2025.07.06.22.58.27 for (Google Transport Security); Sun, 06 Jul 2025 22:58:27 -0700 (PDT) Received-SPF: pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; X-Forwarded-Encrypted: i=1; AJvYcCUUOTLqLQ+FZKmCnZibz5rPWVuThm+n5LhLt6vZekfuGPSEDJbGno6c+yq9brRHkRFJ52sVkUQta53mDW9/@amarulasolutions.com X-Gm-Gg: ASbGncsROmI2PBkyktUyzz+d04FSWnufbh2U9otIo+qAwX3VW4OGYXx2V6xOcafhapw 2RFHCw1a6YHdAJB/ttimFAAkciBksRickCvUbqTVK0bGXo4M9Nk87EAgLFH9mvvMq//8h5RehMu KUBE6qgAxGsHLjCj5nFtxBeTkYAv/p+h8doMmybc3SOTZCwzu6oReXVvP3OzX1nd6kKYVpvDJeN CkotKYm8sOQnnd1ToR+2ykdcvdNBsr4923LXswlbSkHj9mnyXo41bdvMVnSJPT5CnuP+RhBFM9n wdLULQAH0hCAoc1igWQN5YAL9RfDLLRpBTUpchX0/dd3styUI4pJtEewnavc/cP9lS5r5dK8zeO jC0M9oaOAE98aU27zZr77zDFN8hFpEA9HiJ+FgsG73IR9u7HKza5vkX8jYPt1s/ugWi7kpyFet+ Owqe8Bu+rWD7RAXnxC7uE0Hu0= X-Received: by 2002:a17:907:7b89:b0:adb:2a21:28b3 with SMTP id a640c23a62f3a-ae3fe626009mr1144490966b.54.1751867907380; Sun, 06 Jul 2025 22:58:27 -0700 (PDT) Received: from dario-ThinkPad-T14s-Gen-2i.homenet.telecomitalia.it (host-87-5-95-99.retail.telecomitalia.it. [87.5.95.99]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ae3f66e8109sm630413866b.21.2025.07.06.22.58.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 06 Jul 2025 22:58:26 -0700 (PDT) From: Dario Binacchi To: buildroot@buildroot.org Cc: Dario Binacchi , linux-amarula@amarulasolutions.com Subject: [PATCH v5] package/canopenterm: new package Date: Mon, 7 Jul 2025 07:58:24 +0200 Message-ID: <20250707055824.49575-1-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 X-Original-Sender: dario.binacchi@amarulasolutions.com X-Original-Authentication-Results: mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=AOFHsaEk; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=pass header.i=@amarulasolutions.com Content-Type: text/plain; charset="UTF-8" Precedence: list Mailing-list: list linux-amarula@amarulasolutions.com; contact linux-amarula+owners@amarulasolutions.com List-ID: X-Spam-Checked-In-Group: linux-amarula@amarulasolutions.com X-Google-Group-Id: 476853432473 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , 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 --- Changes v4 -> v5: - Drop patch 1/2 "package/pocketpy: new package" from the series because already merged. - Change 'Upstream:' reference in the 0001-Fix-exe-installation-when-BUILD_YOCTO-is-enabled.patch. The patch is now merged. - Use 'depends on BR2_PACKAGE_LUA' instead of select in Config.in Changes v2 -> v3: - Replace depends on with select in Config.in - Add required depends on based on the depends on of the packages selected. - Drop CMAKE_VERBOSE_MAKEFILE annd CMAKE_FIND_DEBUG_MODE from canopenterm.mk 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 899a3003cad0..477d643cee01 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -808,6 +808,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 9a841082c676..b8030acd9774 100644 --- a/package/Config.in +++ b/package/Config.in @@ -2469,6 +2469,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..53206745dd13 --- /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 +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 +Upstream: https://github.com/CANopenTerm/CANopenTerm/commit/fc150187a2e2ce777e757405eb1d67235fc68d75 +--- + 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..62dbecb37cd3 --- /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_PACKAGE_LUA + depends on !BR2_STATIC_LIBS # pocketpy and SDL2 + select BR2_PACKAGE_CJSON + select BR2_PACKAGE_INIH + select BR2_PACKAGE_LIBSOCKETCAN + 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))