diff options
author | Florent Pruvost <florent.pruvost@inria.fr> | 2025-04-11 15:42:38 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2025-04-14 17:27:29 +0200 |
commit | 0f69a4df16488aaf08a2ee1e20b9fc876364cec6 (patch) | |
tree | c3773520eafd0ba34b517b42d3ca780ca9ffa18f | |
parent | 2caa8cb26f5146e8218b3fa37fa8b367d0e2b821 (diff) | |
download | guix-0f69a4df16488aaf08a2ee1e20b9fc876364cec6.tar.gz guix-0f69a4df16488aaf08a2ee1e20b9fc876364cec6.zip |
gnu: cppcheck: Update to 2.17.1.
* gnu/packages/check.scm (cppcheck): Update to 2.17.1.
Replace ‘cppcheck-disable-char-signedness-test.patch’ by
‘cppcheck-fix-basedir-test.patch’.
* gnu/packages/patches/cppcheck-disable-char-signedness-test.patch: Remove.
* gnu/packages/patches/cppcheck-fix-basedir-test.patch: New file.
* gnu/local.mk (dist_patch_DATA): Update accordingly.
Change-Id: Iebd33e2966ef30a3cd5b7b157f1051fcacbe1884
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r-- | gnu/local.mk | 2 | ||||
-rw-r--r-- | gnu/packages/check.scm | 6 | ||||
-rw-r--r-- | gnu/packages/patches/cppcheck-disable-char-signedness-test.patch | 27 | ||||
-rw-r--r-- | gnu/packages/patches/cppcheck-fix-basedir-test.patch | 36 |
4 files changed, 40 insertions, 31 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 639dffaefc..64ac95e8d1 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1145,7 +1145,7 @@ dist_patch_DATA = \ %D%/packages/patches/corefx-mono-5.4.0-patches.patch \ %D%/packages/patches/corefx-mono-pre-5.8.0-patches.patch \ %D%/packages/patches/coreutils-gnulib-tests.patch \ - %D%/packages/patches/cppcheck-disable-char-signedness-test.patch \ + %D%/packages/patches/cppcheck-fix-basedir-test.patch \ %D%/packages/patches/cppdap-add-CPPDAP_USE_EXTERNAL_GTEST_PACKAGE.patch\ %D%/packages/patches/cpulimit-with-glib-2.32.patch \ %D%/packages/patches/crawl-upgrade-saves.patch \ diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 8193dd785f..db820766eb 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -791,7 +791,7 @@ format.") (define-public cppcheck (package (name "cppcheck") - (version "2.10.3") + (version "2.17.1") (source (origin (method git-fetch) (uri (git-reference @@ -799,8 +799,8 @@ format.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1xfxcg00rxjrb9m2k78yd3jjlldkciv67fsbmjb6n3l43hgfxb9k")) - (patches (search-patches "cppcheck-disable-char-signedness-test.patch")))) + (base32 "19ap9ai9s4vsygyqfa215mrmpz4vki63d5b4qdb89zvbldaf3hlf")) + (patches (search-patches "cppcheck-fix-basedir-test.patch")))) (build-system cmake-build-system) (arguments '(#:configure-flags '("-DBUILD_TESTS=ON"))) diff --git a/gnu/packages/patches/cppcheck-disable-char-signedness-test.patch b/gnu/packages/patches/cppcheck-disable-char-signedness-test.patch deleted file mode 100644 index d39d300f84..0000000000 --- a/gnu/packages/patches/cppcheck-disable-char-signedness-test.patch +++ /dev/null @@ -1,27 +0,0 @@ -https://sources.debian.org/data/main/c/cppcheck/2.10-2/debian/patches/disable-some-tests-about-char-signedness -https://trac.cppcheck.net/ticket/11537 - -Description: Disable some tests affected by char signedness. -Author: Joachim Reichel <reichel@debian.org> -Bug: https://trac.cppcheck.net/ticket/11537 - -Index: cppcheck/test/testcondition.cpp -=================================================================== ---- cppcheck.orig/test/testcondition.cpp -+++ cppcheck/test/testcondition.cpp -@@ -4939,6 +4939,7 @@ private: - "}\n"); - ASSERT_EQUALS("[test.cpp:4]: (style) Condition 'it!=vector.end()' is always true\n", errout.str()); - -+#if 0 - // #11303 - check("void f(int n) {\n" - " std::vector<char> buffer(n);\n" -@@ -4947,6 +4948,7 @@ private: - " buffer.back() == '\\0') {}\n" - "}\n"); - ASSERT_EQUALS("[test.cpp:5]: (style) Condition 'buffer.back()=='\\0'' is always false\n", errout.str()); -+#endif - - // #9353 - check("typedef struct { std::string s; } X;\n" diff --git a/gnu/packages/patches/cppcheck-fix-basedir-test.patch b/gnu/packages/patches/cppcheck-fix-basedir-test.patch new file mode 100644 index 0000000000..06a1422629 --- /dev/null +++ b/gnu/packages/patches/cppcheck-fix-basedir-test.patch @@ -0,0 +1,36 @@ +Fix the test "TestFileLister" by giving precisely the source directory instead of guessing it. +Author: Florent Pruvost <florent.pruvost@inria.fr> + +diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt +index 467e6e95e..d68d83e3d 100644 +--- a/test/CMakeLists.txt ++++ b/test/CMakeLists.txt +@@ -85,6 +85,7 @@ if (BUILD_TESTS) + elseif(TEST ${NAME}) + else() + add_test(NAME ${NAME} COMMAND $<TARGET_FILE:testrunner> ${NAME} WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) ++ set_tests_properties(${NAME} PROPERTIES ENVIRONMENT "PROJECT_SOURCE_DIR=${PROJECT_SOURCE_DIR}") + endif() + endfunction() + +diff --git a/test/testfilelister.cpp b/test/testfilelister.cpp +index 3e2f56dfc..ecf0f9c6e 100644 +--- a/test/testfilelister.cpp ++++ b/test/testfilelister.cpp +@@ -45,15 +45,7 @@ private: + + // TODO: generate file list instead + static std::string findBaseDir() { +- std::string basedir; +- while (!Path::isDirectory(Path::join(basedir, ".github"))) { +- const std::string abspath = Path::getAbsoluteFilePath(basedir); +- basedir += "../"; +- // no more going up +- if (Path::getAbsoluteFilePath(basedir) == abspath) +- throw std::runtime_error("could not find repository root directory"); +- } +- return basedir; ++ return Path::getAbsoluteFilePath(std::getenv("PROJECT_SOURCE_DIR")) + "/"; + } + + void recursiveAddFiles() const { |