package/sysrepo-cpp: new package

Add a Buildroot package for sysrepo-cpp, providing modern C++ RAII
bindings for the sysrepo YANG datastore library.

Signed-off-by: Vincent Jardin <vjardin@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Vincent Jardin
2025-12-05 11:06:26 +01:00
committed by Thomas Petazzoni
parent fda322795a
commit adc2d87190
5 changed files with 53 additions and 0 deletions

View File

@@ -3361,6 +3361,7 @@ F: package/bfscripts/
F: package/dpdk/
F: package/libecoli/
F: package/libyang-cpp/
F: package/sysrepo-cpp/
N: Vincent Prince <vincent.prince.fr@gmail.com>
F: package/nss-myhostname/

View File

@@ -2145,6 +2145,7 @@ menu "Networking"
source "package/sofia-sip/Config.in"
source "package/sscep/Config.in"
source "package/sysrepo/Config.in"
source "package/sysrepo-cpp/Config.in"
source "package/thrift/Config.in"
source "package/usbredir/Config.in"
source "package/wampcc/Config.in"

View File

@@ -0,0 +1,29 @@
config BR2_PACKAGE_SYSREPO_CPP
bool "sysrepo-cpp"
depends on BR2_USE_MMU # sysrepo
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # sysrepo
depends on !BR2_STATIC_LIBS # sysrepo, libyang-cpp
depends on BR2_INSTALL_LIBSTDCPP # sysrepo, libyang-cpp
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # libyang-cpp
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libyang-cpp
# std::timespec build issue
depends on !BR2_TOOLCHAIN_USES_UCLIBC
select BR2_PACKAGE_SYSREPO
select BR2_PACKAGE_LIBYANG_CPP
help
C++20 RAII bindings for the sysrepo YANG datastore library.
This library provides modern C++ object-oriented bindings on
top of sysrepo, using RAII for automatic lifetime
management.
https://github.com/sysrepo/sysrepo-cpp
comment "sysrepo-cpp needs a glibc or musl toolchain w/ NPTL threads, dynamic libs, C++, gcc >= 10"
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
BR2_STATIC_LIBS || \
!BR2_INSTALL_LIBSTDCPP || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_10 || \
BR2_TOOLCHAIN_USES_UCLIBC

View File

@@ -0,0 +1,3 @@
# Locally calculated
sha256 d7fbeaba7f2fdaf70c67cc70f438943eee636b21f08854e58967d0d97801bacc sysrepo-cpp-6.tar.gz
sha256 82e3758011ec44c78e98d0777799d6e12aec5b8a64b32ebb20d0fe50e32488bb LICENSE

View File

@@ -0,0 +1,19 @@
################################################################################
#
# sysrepo-cpp
#
################################################################################
SYSREPO_CPP_VERSION = 6
SYSREPO_CPP_SITE = $(call github,sysrepo,sysrepo-cpp,v$(SYSREPO_CPP_VERSION))
SYSREPO_CPP_LICENSE = BSD-3-Clause
SYSREPO_CPP_LICENSE_FILES = LICENSE
SYSREPO_CPP_INSTALL_STAGING = YES
SYSREPO_CPP_SUPPORTS_IN_SOURCE_BUILD = NO
SYSREPO_CPP_DEPENDENCIES = sysrepo libyang-cpp
SYSREPO_CPP_CONF_OPTS += \
-DWITH_DOCS=OFF \
-DWITH_EXAMPLES=OFF
$(eval $(cmake-package))