Files
extra/cppcheck/PKGBUILD
2025-06-22 20:39:04 -05:00

68 lines
2.2 KiB
Bash

# Maintainer: Jesus E. <heckyel@riseup.net>
pkgname=cppcheck
pkgver=2.3
_debver=2.3
_debrel=1
pkgrel=1
pkgdesc="A tool for static C/C++ code analysis"
arch=('i686' 'x86_64')
url="http://cppcheck.sourceforge.net/"
license=('GPL-3')
depends=('python-pygments' 'tinyxml2')
makedepends=('docbook-xsl' 'qt-tools' 'qt-base' 'python' 'cmake' 'clang' 'quilt')
optdepends=('qt-base: run cppcheck-gui'
'python-pygments: cppcheck-htmlreport'
'clang: for cppcheck-gui integration')
source=($pkgname-$pkgver.tar.gz::https://github.com/danmar/cppcheck/archive/${pkgver}.tar.gz
https://deb.debian.org/debian/pool/main/c/cppcheck/cppcheck_${_debver}-${_debrel}.debian.tar.xz)
sha512sums=('1da7985e1b0636a4cd2c85c07fcb0ca938445ae1d0a7543d059a1851125cb263053d4fe41f38a469d5a3c5c9eb0092b527b1d07ac6aa71e3b83ab1482a2a1007'
'cf70bd6d408edef8d32bf20799885d61bbfc11d3c775cd7d1398f005abcbba84e68a8c0d8e1b4bdd099ab3ddf00f4debdc83285ab603d251db88023d15d96134')
prepare() {
cd "${pkgname}-${pkgver}"
if [[ ${pkgver%.*} = ${_debver%.*} ]]; then
# Debian patches
export QUILT_PATCHES=debian/patches
export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index'
export QUILT_DIFF_ARGS='--no-timestamps'
mv "$srcdir"/debian .
quilt push -av
fi
mkdir build
}
build() {
cd "${pkgname}-${pkgver}"
export CXXFLAGS+=" -DNDEBUG"
# Manuals
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
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release \
-DUSE_MATCHCOMPILER=yes -DHAVE_RULES=yes \
-DBUILD_GUI=yes -DBUILD_SHARED_LIBS:BOOL=OFF \
-DBUILD_TESTS=no -DFILESDIR=/usr/share/cppcheck \
-DUSE_BUNDLED_TINYXML2=OFF \
..
make
}
package() {
cd "${pkgname}-${pkgver}/build"
make DESTDIR="${pkgdir}" install
cd ..
install -D -p -m 644 cppcheck.1 "${pkgdir}"/usr/share/man/man1/cppcheck.1
install -D -p -m 755 htmlreport/cppcheck-htmlreport "${pkgdir}"/usr/bin/cppcheck-htmlreport
install -Dm644 "${srcdir}/${pkgname}-${pkgver}/COPYING" -t "${pkgdir}/usr/share/licenses/${pkgname}"
}