# Maintainer: George Rawlinson # Contributor: Jelle van der Waa # Contributor: Stéphane Gaudreault # ALARM: Kevin Mihelich # - remove makedepend on pandoc, don't generate manuals pkgname=cppcheck pkgver=2.11 pkgrel=1 pkgdesc='A tool for static C/C++ code analysis' arch=('x86_64') url='http://cppcheck.sourceforge.net/' license=('GPL') depends=( 'python-pygments' 'tinyxml2' 'pcre' ) makedepends=( 'git' 'docbook-xsl' 'qt5-tools' 'qt5-base' 'python' 'cmake' 'clang' ) optdepends=( 'qt5-tools: run cppcheck-gui' 'python-pygments: cppcheck-htmlreport' 'clang: for cppcheck-gui integration' ) _commit='f156b1ecb20af834d6d70a20b9485533e2b5bdaf' source=( "$pkgname::git+https://github.com/danmar/cppcheck.git#commit=$_commit" 'translations-location.patch' 'ftbfs-version-string.patch' ) sha512sums=('SKIP' 'd3528834d719017ec3a0e08005a293089b556622928defa1b37f940e62cb01165dcbd741e6d5e989c0156fb8789f7e63702af8b2390738648b2300a92f4ab0ae' 'd8ee5ad49e1d62571677c730b688853220ff74a6cb7d45ab35360c6c1c4819a1e064eb18835913bc62f36f6273da5d50e86d68bc9f9bf9fcd0a3dd4ff949d176') b2sums=('SKIP' '8156920eacc630cb5eceb2387937b747c84c6325bef906717cfbad68c122bdd27965da1e8070a560a0bed3a7b7c59ff5f0e116bb1d035c4c42f430c927a75b1f' '3dda14b1c4530ba408884a00395e78db3bc507788a5c7f98f441650a78deec8ac22231d6473a39efbe21237beb20a31f85b6c8abf761b29ab2598a1672cee4b5') pkgver() { cd "$pkgname" git describe --tags } prepare() { cd "$pkgname" # fix location of translations patch -p1 -i "$srcdir/translations-location.patch" # FTBFS due to GCC13 git cherry-pick --no-commit f4030c4b1ae8ac3001bfc9f85e24a51ad2f08d79 # FTBFS due to version string # https://sourceforge.net/p/cppcheck/discussion/general/thread/12b363e1af/ # https://sourceforge.net/p/cppcheck/discussion/development/thread/e57efb2b62/ patch -p1 -i "$srcdir/ftbfs-version-string.patch" } build() { export CXXFLAGS+=" -DNDEBUG" # Manuals pushd "$pkgname" xsversion=$(pacman -Qi docbook-xsl | grep ^Version | sed -e 's/.*: //' -e 's/-[0-9]$//') make DB2MAN=/usr/share/xml/docbook/xsl-stylesheets-${xsversion}-nons/manpages/docbook.xsl man #pandoc man/manual.md -o man/manual.html -s --number-sections --toc #pandoc man/reference-cfg-format.md -o man/reference-cfg-format.html -s --number-sections --toc popd cmake \ -B build \ -S "$pkgname" \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DUSE_MATCHCOMPILER=ON \ -DHAVE_RULES=ON \ -DBUILD_GUI=ON \ -DBUILD_SHARED_LIBS=OFF \ -DBUILD_TESTS=ON \ -DFILESDIR=/usr/share/cppcheck \ -DUSE_BUNDLED_TINYXML2=OFF cmake --build build } check() { cd build/bin ./testrunner -g -q } package() { DESTDIR="$pkgdir" cmake --install build cd "$pkgname" install -vDm644 -t "$pkgdir/usr/share/man/man1" cppcheck.1 install -vDm755 -t "$pkgdir/usr/bin" htmlreport/cppcheck-htmlreport # Fix location of language files install -d "${pkgdir}"/usr/share/cppcheck/cfg/lang mv "${pkgdir}"/usr/bin/cppcheck_*.qm "${pkgdir}"/usr/share/cppcheck/cfg/lang/ }