dbc-parser-cpp: init at 0.5.0 (#555793)

This commit is contained in:
Sandro
2026-09-17 20:49:59 +00:00
committed by GitHub
3 changed files with 105 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
--- a/dbc.pc.in
+++ b/dbc.pc.in
@@ -1,7 +1,7 @@
prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=${prefix}
-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
-libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
Name: @PROJECT_NAME@
Description: @CPACK_PACKAGE_DESCRIPTION_SUMMARY@

View File

@@ -0,0 +1,29 @@
--- a/test/test_parse_message.cpp
+++ b/test/test_parse_message.cpp
@@ -50,7 +50,7 @@ TEST_CASE("Parse Message Big Number not aligned little endian") {
CHECK(refData.size() == 7);
CHECK(out_values.size() == refData.size());
for (size_t i = 0; i < refData.size(); i++) {
- CHECK(out_values.at(i) == refData.at(i));
+ CHECK(out_values.at(i) == Catch::Approx(refData.at(i)).margin(1e-9));
}
}
@@ -61,7 +61,7 @@ TEST_CASE("Parse Message Big Number not aligned little endian") {
CHECK(refData.size() == 7);
CHECK(out_values.size() == refData.size());
for (size_t i = 0; i < refData.size(); i++) {
- CHECK(out_values.at(i) == refData.at(i));
+ CHECK(out_values.at(i) == Catch::Approx(refData.at(i)).margin(1e-9));
}
}
@@ -72,7 +72,7 @@ TEST_CASE("Parse Message Big Number not aligned little endian") {
CHECK(refData.size() == 7);
CHECK(out_values.size() == refData.size());
for (size_t i = 0; i < refData.size(); i++) {
- CHECK(out_values.at(i) == refData.at(i));
+ CHECK(out_values.at(i) == Catch::Approx(refData.at(i)).margin(1e-9));
}
}
}

View File

@@ -0,0 +1,64 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
pkg-config,
fast-float,
catch2_3,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "dbc-parser-cpp";
version = "0.5.0";
src = fetchFromGitHub {
owner = "LinuxDevon";
repo = "dbc_parser_cpp";
tag = "v${finalAttrs.version}";
hash = "sha256-oyC7NihrlYvoR3CH07FeZcXfQ1JH2Ymsb7ocgim4dZ8=";
};
patches = [
# Submitted upstream: https://github.com/LinuxDevon/dbc_parser_cpp/pull/37
# Remove when upstream merges the PR
./0001-fix-pkg-config-file.patch
]
# Submitted upstream: https://github.com/LinuxDevon/dbc_parser_cpp/pull/36
# Remove when upstream merges the PR
++ lib.optional stdenv.hostPlatform.isAarch64 ./0002-fix-testcase-aarch64.patch;
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
fast-float
];
checkInputs = [
catch2_3
];
cmakeFlags = [
(lib.cmakeBool "DBC_ENABLE_TESTS" finalAttrs.finalPackage.doCheck)
# Cmake test file doesn't check for system installed Catch2 and directly uses FetchContent to download Catch2
(lib.cmakeFeature "FETCHCONTENT_TRY_FIND_PACKAGE_MODE" "ALWAYS")
];
doCheck = true;
__structuredAttrs = true;
strictDeps = true;
meta = {
description = "DBC file parsing library written in C++";
homepage = "https://github.com/LinuxDevon/dbc_parser_cpp";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
AhmedAmr
];
teams = with lib.teams; [ ngi ];
platforms = lib.platforms.all;
};
})