diff options
Diffstat (limited to 'community/cppcheck/APKBUILD')
-rw-r--r-- | community/cppcheck/APKBUILD | 83 |
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 " |