aports/community/cppcheck/APKBUILD
2023-04-16 11:44:37 +00:00

87 lines
2.5 KiB
Plaintext

# Contributor: August Klein <amatcoder@gmail.com>
# Maintainer: André Klitzing <aklitzing@gmail.com>
pkgname=cppcheck
pkgver=2.10.3
pkgrel=0
pkgdesc="Static analysis tool for C/C++ code"
url="https://cppcheck.sourceforge.io/"
# riscv64 broken, "Could not find qmake spec 'default'."
arch="all !riscv64"
license="GPL-3.0-or-later"
makedepends="
cmake
docbook-xsl
pcre-dev
python3
qt6-qtcharts-dev
qt6-qttools-dev
samurai
tinyxml2-dev
"
subpackages="$pkgname-doc $pkgname-htmlreport::noarch $pkgname-gui"
source="$pkgname-$pkgver.tar.gz::https://github.com/danmar/cppcheck/archive/refs/tags/$pkgver.tar.gz
qt6.5.patch
set_datadir.patch
"
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_GUI=ON \
-DBUILD_TESTS="$(want_check && echo ON || echo OFF)" \
-DFILESDIR=/usr/share/cppcheck \
-DHAVE_RULES=ON \
-DUSE_BUNDLED_TINYXML2=OFF \
-DUSE_MATCHCOMPILER=ON \
-DUSE_QT6=ON \
-DWITH_QCHART=ON
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 --output-on-failure
}
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
mkdir -p "$pkgdir"/usr/share/cppcheck/lang
mv "$pkgdir"/usr/bin/cppcheck*.qm "$pkgdir"/usr/share/cppcheck/lang
}
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/cppcheck/lang
amove usr/share/icons
amove usr/share/applications
}
sha512sums="
1d511dd5e83189615469e70eb529ec88f1ea7ff72afb46092da6ec978c7131e1ef6f2c56c884038ab871b992a56b5e3fdc7c950e13b53716004906e172c4ed54 cppcheck-2.10.3.tar.gz
e2008d69ce4ba6dea3f553ae1fb6504aae290b614411a75f9b65c74018238c4dd629ac5f8e1e0a4c8ce91813b099c60b3bb3f938a1e67ccf47aa3920e6df3b2e qt6.5.patch
deead176705825da12796e42ea5f4a9dfb6dfa0c816057862b41d9f8f3121c4272d0bbf98ddea88c2e63e0504ff0cf603cd5b082e6e6cf41403f2ba0377ebc2e set_datadir.patch
"