From 5bd0a04510e10939a8fc37f1fa3ee0968d6d7254 Mon Sep 17 00:00:00 2001 From: OscarL Date: Sat, 7 Oct 2023 07:22:51 -0300 Subject: [PATCH] cppcheck: update to version 2.12.1 (#9582) Closes #9580. --- dev-util/cppcheck/cppcheck-1.87.recipe | 95 ----------- dev-util/cppcheck/cppcheck-2.12.1.recipe | 148 ++++++++++++++++++ .../cppcheck/patches/cppcheck-1.87.patchset | 81 ---------- 3 files changed, 148 insertions(+), 176 deletions(-) delete mode 100644 dev-util/cppcheck/cppcheck-1.87.recipe create mode 100644 dev-util/cppcheck/cppcheck-2.12.1.recipe delete mode 100644 dev-util/cppcheck/patches/cppcheck-1.87.patchset diff --git a/dev-util/cppcheck/cppcheck-1.87.recipe b/dev-util/cppcheck/cppcheck-1.87.recipe deleted file mode 100644 index 1eab4ed42..000000000 --- a/dev-util/cppcheck/cppcheck-1.87.recipe +++ /dev/null @@ -1,95 +0,0 @@ -SUMMARY="A static analysis tool for C/C++ code" -DESCRIPTION="Cppcheck provides unique code analysis to detect bugs and focuses on \ -detecting undefined behaviour and dangerous coding constructs. The goal is \ -to detect only real errors in the code (i.e. have very few false positives). - -Features: -* Unique code analysis that detect various kinds of bugs in your code. -* Both command line interface and graphical user interface are available. -* Cppcheck has a strong focus on detecting undefined behaviour." -HOMEPAGE="http://cppcheck.sourceforge.net/" -COPYRIGHT="2007-2018 Cppcheck team" -LICENSE="GNU GPL v3" -REVISION="3" -SOURCE_URI="https://github.com/danmar/cppcheck/archive/$portVersion.tar.gz" -CHECKSUM_SHA256="ea7ac1cd2f5c00ecffd596fd0f7281cba44308e565a634fae02b77ecd927c153" -SOURCE_FILENAME="cppcheck-$portVersion.tar.gz" -PATCHES="cppcheck-$portVersion.patchset" - -ARCHITECTURES="all !x86_gcc2" -SECONDARY_ARCHITECTURES="x86" - -GLOBAL_WRITABLE_FILES=" - settings/cppcheck/avr.cfg keep-old - settings/cppcheck/boost.cfg keep-old - settings/cppcheck/bsd.cfg keep-old - settings/cppcheck/cppcheck-lib.cfg keep-old - settings/cppcheck/embedded_sql.cfg keep-old - settings/cppcheck/gnu.cfg keep-old - settings/cppcheck/googletest.cfg keep-old - settings/cppcheck/gtk.cfg keep-old - settings/cppcheck/microsoft_sal.cfg keep-old - settings/cppcheck/motif.cfg keep-old - settings/cppcheck/posix.cfg keep-old - settings/cppcheck/python.cfg keep-old - settings/cppcheck/qt.cfg keep-old - settings/cppcheck/ruby.cfg keep-old - settings/cppcheck/sdl.cfg keep-old - settings/cppcheck/sfml.cfg keep-old - settings/cppcheck/std.cfg keep-old - settings/cppcheck/tinyxml2.cfg keep-old - settings/cppcheck/windows.cfg keep-old - settings/cppcheck/wxwidgets.cfg keep-old - settings/cppcheck/zlib.cfg keep-old - " - -PROVIDES=" - cppcheck$secondaryArchSuffix = $portVersion - cmd:cppcheck$secondaryArchSuffix = $portVersion - " -REQUIRES=" - haiku$secondaryArchSuffix - lib:libpcre$secondaryArchSuffix - " - -BUILD_REQUIRES=" - haiku${secondaryArchSuffix}_devel - devel:libpcre$secondaryArchSuffix - " -BUILD_PREREQUIRES=" - cmd:cmake - cmd:gcc$secondaryArchSuffix - cmd:ld$secondaryArchSuffix - cmd:make - cmd:pkg_config$secondaryArchSuffix - " - -defineDebugInfoPackage cppcheck$secondaryArchSuffix \ - $binDir/cppcheck - -BUILD() -{ - mkdir -p build - cd build - cmake .. \ - -DUSE_CLANG=OFF \ - -DBUILD_SHARED_LIBS=ON \ - -DBUILD_TESTS=ON \ - -DHAVE_RULES=ON \ - -DCFGDIR=$settingsDir/cppcheck \ - $cmakeDirArgs - - make $jobArgs -} - -INSTALL() -{ - cd build - make install -} - -TEST() -{ - cd build - make test -} diff --git a/dev-util/cppcheck/cppcheck-2.12.1.recipe b/dev-util/cppcheck/cppcheck-2.12.1.recipe new file mode 100644 index 000000000..758da6da8 --- /dev/null +++ b/dev-util/cppcheck/cppcheck-2.12.1.recipe @@ -0,0 +1,148 @@ +SUMMARY="A static analysis tool for C/C++ code" +DESCRIPTION="Cppcheck provides unique code analysis to detect bugs and focuses on \ +detecting undefined behaviour and dangerous coding constructs. The goal is \ +to detect only real errors in the code (i.e. have very few false positives). + +Features: +* Unique code analysis that detect various kinds of bugs in your code. +* Both command line interface and graphical user interface are available. +* Cppcheck has a strong focus on detecting undefined behaviour." +HOMEPAGE="http://cppcheck.sourceforge.io/" +COPYRIGHT="2007-2023 Cppcheck team" +LICENSE="GNU GPL v3" +REVISION="1" +SOURCE_URI="https://github.com/danmar/cppcheck/archive/$portVersion.tar.gz" +CHECKSUM_SHA256="2a3d4ba1179419612183ab3d6aed6d3b18be75e98cd6f138ea8e2020905dced2" +SOURCE_FILENAME="cppcheck-$portVersion.tar.gz" + +ARCHITECTURES="all !x86_gcc2" +SECONDARY_ARCHITECTURES="x86" + +GLOBAL_WRITABLE_FILES=" + settings/cppcheck/addons/__init__.py keep-old + settings/cppcheck/addons/cppcheck.py keep-old + settings/cppcheck/addons/cppcheckdata.py keep-old + settings/cppcheck/addons/findcasts.py keep-old + settings/cppcheck/addons/misc.py keep-old + settings/cppcheck/addons/misra.py keep-old + settings/cppcheck/addons/misra_9.py keep-old + settings/cppcheck/addons/naming.py keep-old + settings/cppcheck/addons/namingng.py keep-old + settings/cppcheck/addons/runaddon.py keep-old + settings/cppcheck/addons/threadsafety.py keep-old + settings/cppcheck/addons/y2038.py keep-old + settings/cppcheck/cfg/avr.cfg keep-old + settings/cppcheck/cfg/bento4.cfg keep-old + settings/cppcheck/cfg/boost.cfg keep-old + settings/cppcheck/cfg/bsd.cfg keep-old + settings/cppcheck/cfg/cairo.cfg keep-old + settings/cppcheck/cfg/cppcheck-lib.cfg keep-old + settings/cppcheck/cfg/cppunit.cfg keep-old + settings/cppcheck/cfg/daca.cfg keep-old + settings/cppcheck/cfg/dpdk.cfg keep-old + settings/cppcheck/cfg/embedded_sql.cfg keep-old + settings/cppcheck/cfg/emscripten.cfg keep-old + settings/cppcheck/cfg/ginac.cfg keep-old + settings/cppcheck/cfg/gnu.cfg keep-old + settings/cppcheck/cfg/googletest.cfg keep-old + settings/cppcheck/cfg/gtk.cfg keep-old + settings/cppcheck/cfg/icu.cfg keep-old + settings/cppcheck/cfg/kde.cfg keep-old + settings/cppcheck/cfg/libcerror.cfg keep-old + settings/cppcheck/cfg/libcurl.cfg keep-old + settings/cppcheck/cfg/libsigc++.cfg keep-old + settings/cppcheck/cfg/lua.cfg keep-old + settings/cppcheck/cfg/mfc.cfg keep-old + settings/cppcheck/cfg/microsoft_atl.cfg keep-old + settings/cppcheck/cfg/microsoft_sal.cfg keep-old + settings/cppcheck/cfg/microsoft_unittest.cfg keep-old + settings/cppcheck/cfg/motif.cfg keep-old + settings/cppcheck/cfg/nspr.cfg keep-old + settings/cppcheck/cfg/ntl.cfg keep-old + settings/cppcheck/cfg/opencv2.cfg keep-old + settings/cppcheck/cfg/opengl.cfg keep-old + settings/cppcheck/cfg/openmp.cfg keep-old + settings/cppcheck/cfg/openssl.cfg keep-old + settings/cppcheck/cfg/pcre.cfg keep-old + settings/cppcheck/cfg/posix.cfg keep-old + settings/cppcheck/cfg/python.cfg keep-old + settings/cppcheck/cfg/qt.cfg keep-old + settings/cppcheck/cfg/ruby.cfg keep-old + settings/cppcheck/cfg/sdl.cfg keep-old + settings/cppcheck/cfg/sfml.cfg keep-old + settings/cppcheck/cfg/sqlite3.cfg keep-old + settings/cppcheck/cfg/std.cfg keep-old + settings/cppcheck/cfg/tinyxml2.cfg keep-old + settings/cppcheck/cfg/vcl.cfg keep-old + settings/cppcheck/cfg/windows.cfg keep-old + settings/cppcheck/cfg/wxsqlite3.cfg keep-old + settings/cppcheck/cfg/wxsvg.cfg keep-old + settings/cppcheck/cfg/wxwidgets.cfg keep-old + settings/cppcheck/cfg/zephyr.cfg keep-old + settings/cppcheck/cfg/zlib.cfg keep-old + settings/cppcheck/platforms/aix_ppc64.xml keep-old + settings/cppcheck/platforms/arm32-wchar_t2.xml keep-old + settings/cppcheck/platforms/arm32-wchar_t4.xml keep-old + settings/cppcheck/platforms/arm64-wchar_t2.xml keep-old + settings/cppcheck/platforms/arm64-wchar_t4.xml keep-old + settings/cppcheck/platforms/avr8.xml keep-old + settings/cppcheck/platforms/cray_sv1.xml keep-old + settings/cppcheck/platforms/elbrus-e1cp.xml keep-old + settings/cppcheck/platforms/mips32.xml keep-old + settings/cppcheck/platforms/msp430_eabi_large_datamodel.xml keep-old + settings/cppcheck/platforms/pic16.xml keep-old + settings/cppcheck/platforms/pic8-enhanced.xml keep-old + settings/cppcheck/platforms/pic8.xml keep-old + settings/cppcheck/platforms/unix32-unsigned.xml keep-old + settings/cppcheck/platforms/unix64-unsigned.xml keep-old + " + +PROVIDES=" + cppcheck$secondaryArchSuffix = $portVersion + cmd:cppcheck$secondaryArchSuffix = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libpcre$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libpcre$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:make + cmd:pkg_config$secondaryArchSuffix + cmd:python3 + " + +defineDebugInfoPackage cppcheck$secondaryArchSuffix \ + $binDir/cppcheck + +BUILD() +{ + cmake -S . -B build \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTS=ON \ + -DHAVE_RULES=ON \ + -DFILESDIR=$settingsDir/cppcheck \ + $cmakeDirArgs + + make $jobArgs +} + +INSTALL() +{ + cd build + make install +} + +TEST() +{ + cd build + make test +} diff --git a/dev-util/cppcheck/patches/cppcheck-1.87.patchset b/dev-util/cppcheck/patches/cppcheck-1.87.patchset deleted file mode 100644 index 71edf0c89..000000000 --- a/dev-util/cppcheck/patches/cppcheck-1.87.patchset +++ /dev/null @@ -1,81 +0,0 @@ -From 4a9dcbc50d09bf6d186f28e1b0cb2febd8d60491 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= -Date: Thu, 5 Apr 2018 17:55:26 +0200 -Subject: Haiku patches - - -diff --git a/cli/cppcheckexecutor.cpp b/cli/cppcheckexecutor.cpp -index 82cc960..ded5fe0 100644 ---- a/cli/cppcheckexecutor.cpp -+++ b/cli/cppcheckexecutor.cpp -@@ -52,7 +52,7 @@ - # include - - # undef _XOPEN_SOURCE --#elif !defined(__OpenBSD__) -+#elif !defined(__OpenBSD__) && !defined(__HAIKU__) - # include - #endif - #ifdef __linux__ -diff --git a/cli/threadexecutor.cpp b/cli/threadexecutor.cpp -index f0534d5..028a28f 100644 ---- a/cli/threadexecutor.cpp -+++ b/cli/threadexecutor.cpp -@@ -143,7 +143,7 @@ int ThreadExecutor::handleRead(int rpipe, unsigned int &result) - - bool ThreadExecutor::checkLoadAverage(size_t nchildren) - { --#if defined(__CYGWIN__) || defined(__QNX__) // getloadavg() is unsupported on Cygwin, Qnx. -+#if defined(__CYGWIN__) || defined(__QNX__) || defined(__HAIKU__) // getloadavg() is unsupported on Cygwin, Qnx, Haiku. - return true; - #else - if (!nchildren || !_settings.loadAverage) { -diff --git a/cmake/compileroptions.cmake b/cmake/compileroptions.cmake -index 545e6be..695853d 100644 ---- a/cmake/compileroptions.cmake -+++ b/cmake/compileroptions.cmake -@@ -5,9 +5,13 @@ set(EXTRA_C_FLAGS_DEBUG "-DDEBUG") - if (USE_CLANG) - set (CMAKE_C_COMPILER_ID "Clang") - set (CMAKE_CXX_COMPILER_ID "Clang") -- set (CMAKE_C_COMPILER "/usr/bin/clang") -- set (CMAKE_CXX_COMPILER "/usr/bin/clang++") -- -+ if (NOT HAIKU) -+ set (CMAKE_C_COMPILER "/usr/bin/clang") -+ set (CMAKE_CXX_COMPILER "/usr/bin/clang++") -+ else (NOT HAIKU) -+ set (CMAKE_C_COMPILER "/bin/clang") -+ set (CMAKE_CXX_COMPILER "/bin/clang++") -+ endif (NOT HAIKU) - set (CMAKE_C_FLAGS "-std=c99") - set (CMAKE_C_FLAGS_DEBUG "-g") - set (CMAKE_C_FLAGS_RELEASE "-O2") --- -2.19.1 - - -From df6b2a1c46a76891bffbcbe3f0721e60fc811334 Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Fri, 22 Mar 2019 21:30:17 +0100 -Subject: Use data instead of shared on haiku. - - -diff --git a/cmake/options.cmake b/cmake/options.cmake -index 3c96ca8..803cd07 100644 ---- a/cmake/options.cmake -+++ b/cmake/options.cmake -@@ -47,5 +47,8 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin) - set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib) - set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib) - --set(CFGDIR ${CMAKE_INSTALL_PREFIX}/share/${PROJECT_NAME} CACHE STRING "CFG files directory") -- -+if (NOT HAIKU) -+ set(CFGDIR ${CMAKE_INSTALL_PREFIX}/share/${PROJECT_NAME} CACHE STRING "CFG files directory") -+else() -+ set(CFGDIR ${CMAKE_INSTALL_PREFIX}/data/${PROJECT_NAME} CACHE STRING "CFG files directory") -+endif() --- -2.19.1 -