cppcheck: update to version 2.12.1 (#9582)

Closes #9580.
This commit is contained in:
OscarL
2023-10-07 07:22:51 -03:00
committed by GitHub
parent 9e2835743a
commit 5bd0a04510
3 changed files with 148 additions and 176 deletions

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -1,81 +0,0 @@
From 4a9dcbc50d09bf6d186f28e1b0cb2febd8d60491 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
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 <ucontext.h>
# undef _XOPEN_SOURCE
-#elif !defined(__OpenBSD__)
+#elif !defined(__OpenBSD__) && !defined(__HAIKU__)
# include <ucontext.h>
#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 <jerome.duval@gmail.com>
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