1
0
Fork 0
mirror of https://gitlab.alpinelinux.org/alpine/aports.git synced 2025-07-15 12:15:22 +03:00
aports/community/cppcheck/APKBUILD
2025-03-25 14:33:23 +00:00

89 lines
2.5 KiB
Text

# Contributor: August Klein <amatcoder@gmail.com>
# Maintainer: André Klitzing <aklitzing@gmail.com>
pkgname=cppcheck
pkgver=2.14.2
pkgrel=1
pkgdesc="Static analysis tool for C/C++ code"
url="https://cppcheck.sourceforge.io/"
arch="all"
license="GPL-3.0-or-later"
makedepends="
cmake
docbook-xsl
pcre-dev
python3
samurai
tinyxml2-dev
"
subpackages="$pkgname-doc $pkgname-htmlreport::noarch"
source="$pkgname-$pkgver.tar.gz::https://github.com/danmar/cppcheck/archive/refs/tags/$pkgver.tar.gz
set_datadir.patch
feenableexcept.patch
"
case "$CARCH" in
armhf) ;; # qt6-qtdeclarative
*)
makedepends="$makedepends qt6-qtcharts-dev qt6-qttools-dev"
subpackages="$subpackages $pkgname-gui"
_opts="-DBUILD_GUI=ON -DUSE_QT6=ON -DWITH_QCHART=ON"
;;
esac
build() {
make DB2MAN=/usr/share/xml/docbook/xsl-stylesheets-*/manpages/docbook.xsl man
cmake -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=MinSizeRel \
-DBUILD_TESTS="$(want_check && echo ON || echo OFF)" \
-DFILESDIR=/usr/share/cppcheck \
-DHAVE_RULES=ON \
-DUSE_BUNDLED_TINYXML2=OFF \
-DUSE_MATCHCOMPILER=On \
$_opts
cmake --build build
}
check() {
# fails outside of x86 with:
# Expected:
# [test.cpp:5]: (style) Condition 'buffer.back()=='\0'' is always false\n
# Actual:
# [test.cpp:3] -> [test.cpp:5]: (style) Condition 'buffer.back()=='\0'' is always false\n
# TestThreadExecutor: flaky result
ctest -E "(TestCondition|TestThreadExecutor)" --test-dir build
}
package() {
DESTDIR="$pkgdir" cmake --install build
install -Dm644 cppcheck.1 -t "$pkgdir"/usr/share/man/man1
install -Dm755 htmlreport/cppcheck-htmlreport -t "$pkgdir"/usr/bin
}
htmlreport() {
pkgdesc="Utility to generate a html report of a XML file produced by cppcheck"
depends="$pkgname=$pkgver-r$pkgrel python3 py3-pygments"
amove usr/bin/cppcheck-htmlreport
}
gui() {
pkgdesc="Qt gui for cppcheck"
depends="$pkgname=$pkgver-r$pkgrel"
amove usr/bin/cppcheck-gui
amove usr/share/icons
amove usr/share/applications
mkdir -p "$subpkgdir"/usr/share/cppcheck/lang
mv "$pkgdir"/usr/bin/cppcheck*.qm "$subpkgdir"/usr/share/cppcheck/lang
}
sha512sums="
8e90fa87845a083a4de66ec86edf707184a2293eb346fd79bfcafb73f93db049216472fcb2ab802ce529680f9708261ba3c26675c6fd9637e1dc83903bc44c4b cppcheck-2.14.2.tar.gz
2e1d1fe1ba66c091cdd33f2c883370ea216718b2e7b997717623dd36cd73a9b82fa116144d93b7a4f3ab6bfea1c49274c950e751fdda45a61160d3cef913ea88 set_datadir.patch
d483e39b4b5b6482081f656708433b6f45da3e9e7ba4adf9c6ff347273cae7cc6bf854248d460278f39054b36582aa009d9ce3b87d55dc4efe1f45cc865c6cc4 feenableexcept.patch
"