diff options
Diffstat (limited to 'community/cppcheck/APKBUILD')
-rw-r--r-- | community/cppcheck/APKBUILD | 82 |
1 files changed, 50 insertions, 32 deletions
diff --git a/community/cppcheck/APKBUILD b/community/cppcheck/APKBUILD index 28a8c26aff7..4a8e43f560d 100644 --- a/community/cppcheck/APKBUILD +++ b/community/cppcheck/APKBUILD @@ -1,65 +1,83 @@ # Contributor: August Klein <amatcoder@gmail.com> # Maintainer: André Klitzing <aklitzing@gmail.com> pkgname=cppcheck -pkgver=2.8 -pkgrel=0 +pkgver=2.12.1 +pkgrel=1 pkgdesc="Static analysis tool for C/C++ code" url="https://cppcheck.sourceforge.io/" -# riscv64 broken, "Could not find qmake spec 'default'." -arch="all !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=" -67a760c4205ca908b5992e05b5bdd5d67052ae12aff870ee94d445fba48d211bfdfffc9fce0fb65b9fd693e82930b6b93e32636d230a73b12e8df42c4f7d27a2 cppcheck-2.8.tar.gz -ebc9cf95f51afe52094f51fa82ae76a6f52b63c5f94df512b61c939328fc0d3e8c681644c61368f3d3267bf6c0a155604cc00b20e49fd196d788a357655a9d43 set_datadir.patch -346c5b41af809dfbff00b7ce66f8abc0e038d6272cf08bbefc4bfc6eaf32940815faca376609165de85072761271521c2a7a56aa7c59e88f65f7d9514b35aaff python3-htmlreport.patch +b9779317d55ed7582344bdf0fedad17aa8a070452c9583836590cd5617f406fa2ec7896529d06b393e4d1f18f863aa687f2cc33ca0bd2ac727e888485acf3264 cppcheck-2.12.1.tar.gz +deead176705825da12796e42ea5f4a9dfb6dfa0c816057862b41d9f8f3121c4272d0bbf98ddea88c2e63e0504ff0cf603cd5b082e6e6cf41403f2ba0377ebc2e set_datadir.patch " |