aboutsummaryrefslogtreecommitdiffstats
path: root/community/cppcheck/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'community/cppcheck/APKBUILD')
-rw-r--r--community/cppcheck/APKBUILD83
1 files changed, 50 insertions, 33 deletions
diff --git a/community/cppcheck/APKBUILD b/community/cppcheck/APKBUILD
index 63028eef649..4a8e43f560d 100644
--- a/community/cppcheck/APKBUILD
+++ b/community/cppcheck/APKBUILD
@@ -1,66 +1,83 @@
# Contributor: August Klein <amatcoder@gmail.com>
# Maintainer: André Klitzing <aklitzing@gmail.com>
pkgname=cppcheck
-pkgver=2.6
-pkgrel=0
+pkgver=2.12.1
+pkgrel=1
pkgdesc="Static analysis tool for C/C++ code"
url="https://cppcheck.sourceforge.io/"
-# mips64 blocked by z3
-# riscv64 broken, "Could not find qmake spec 'default'."
-arch="all !mips64 !riscv64"
+arch="all"
license="GPL-3.0-or-later"
-makedepends="docbook-xsl pcre-dev python3 qt5-qttools-dev z3-dev tinyxml2-dev qtchooser"
+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/$pkgver.tar.gz
+source="$pkgname-$pkgver.tar.gz::https://github.com/danmar/cppcheck/archive/refs/tags/$pkgver.tar.gz
set_datadir.patch
- python3-htmlreport.patch
"
build() {
- # HACK get python to mean what we want
- ln -s /usr/bin/python3 python
- export PATH="$(pwd):$PATH"
-
make DB2MAN=/usr/share/xml/docbook/xsl-stylesheets-*/manpages/docbook.xsl man
- cd gui
- lrelease-qt5 gui.pro
- qmake-qt5 HAVE_RULES=yes
- make SRCDIR=build CFGDIR=/usr/share/cppcheck/cfg HAVE_RULES=yes FILESDIR=/usr/share/cppcheck
+ 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() {
- make SRCDIR=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() {
- make DESTDIR="$pkgdir" CFGDIR=/usr/share/cppcheck/cfg HAVE_RULES=yes FILESDIR=/usr/share/cppcheck install
- install -Dm644 cppcheck.1 "$pkgdir"/usr/share/man/man1/cppcheck.1
+ 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 python3 py3-pygments"
+ depends="$pkgname=$pkgver-r$pkgrel python3 py3-pygments"
- cd "$builddir"
- mkdir -p "$subpkgdir"/usr/bin
- mv "$pkgdir"/usr/bin/$subpkgname "$subpkgdir"/usr/bin/
+ amove usr/bin/cppcheck-htmlreport
}
gui() {
pkgdesc="Qt gui for cppcheck"
- depends="$pkgname"
-
- cd "$builddir"
- mkdir -p "$subpkgdir"/usr/bin
- mv gui/$subpkgname "$subpkgdir"/usr/bin/
+ depends="$pkgname=$pkgver-r$pkgrel"
- mkdir -p "$subpkgdir"/usr/share/cppcheck/lang/
- mv gui/cppcheck*.qm "$subpkgdir"/usr/share/cppcheck/lang/
+ amove usr/bin/cppcheck-gui
+ amove usr/share/cppcheck/lang
+ amove usr/share/icons
+ amove usr/share/applications
}
sha512sums="
-6abe518cb9d80c4d0fcc5d47a317f45f177a30372846008f5c65352db91e7de74e6ec6d500d1d18b8cd29a91e3974df125efb35c14c7814c9640741b3827fc2a cppcheck-2.6.tar.gz
-013e3d1bb49602ac0bf39335d5b4df001aa98e1ad9689207063460edc30a4cd7b67f5e880bd0bcae0c03e5724a8bdd0cb5c8cafcb89a815dab24b2ead2923f36 set_datadir.patch
-346c5b41af809dfbff00b7ce66f8abc0e038d6272cf08bbefc4bfc6eaf32940815faca376609165de85072761271521c2a7a56aa7c59e88f65f7d9514b35aaff python3-htmlreport.patch
+b9779317d55ed7582344bdf0fedad17aa8a070452c9583836590cd5617f406fa2ec7896529d06b393e4d1f18f863aa687f2cc33ca0bd2ac727e888485acf3264 cppcheck-2.12.1.tar.gz
+deead176705825da12796e42ea5f4a9dfb6dfa0c816057862b41d9f8f3121c4272d0bbf98ddea88c2e63e0504ff0cf603cd5b082e6e6cf41403f2ba0377ebc2e set_datadir.patch
"