PKGBUILDs/extra/cppcheck/PKGBUILD

106 lines
2.7 KiB
Bash
Raw Normal View History

2022-01-18 03:51:48 +00:00
# Maintainer: George Rawlinson <grawlinson@archlinux.org>
# Contributor: Jelle van der Waa <jelle@archlinux.org>
2020-06-07 16:34:44 +00:00
# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
2020-02-26 04:34:21 +00:00
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - remove makedepend on pandoc, don't generate manuals
pkgname=cppcheck
2023-09-16 07:25:31 +00:00
pkgver=2.12.0
2024-01-23 00:45:07 +00:00
pkgrel=2
2022-05-22 12:47:49 +00:00
pkgdesc='A tool for static C/C++ code analysis'
2020-02-26 04:34:21 +00:00
arch=('x86_64')
2022-05-22 12:47:49 +00:00
url='http://cppcheck.sourceforge.net/'
2020-02-26 04:34:21 +00:00
license=('GPL')
2022-01-18 03:51:48 +00:00
depends=(
'python-pygments'
'tinyxml2'
2022-10-16 23:45:15 +00:00
'pcre'
2022-01-18 03:51:48 +00:00
)
makedepends=(
'git'
'docbook-xsl'
2023-09-16 07:25:31 +00:00
'qt6-tools'
'qt6-base'
'qt6-declarative'
2022-01-18 03:51:48 +00:00
'python'
'cmake'
'clang'
)
optdepends=(
2023-09-16 07:25:31 +00:00
'qt6-tools: run cppcheck-gui'
2022-01-18 03:51:48 +00:00
'python-pygments: cppcheck-htmlreport'
'clang: for cppcheck-gui integration'
)
2023-09-16 07:25:31 +00:00
_commit='f2f1fb0bca5f23aac8f02fb9c09e4529a7935749'
2022-01-18 03:51:48 +00:00
source=(
"$pkgname::git+https://github.com/danmar/cppcheck.git#commit=$_commit"
'translations-location.patch'
)
sha512sums=('SKIP'
2023-07-03 13:37:35 +00:00
'd3528834d719017ec3a0e08005a293089b556622928defa1b37f940e62cb01165dcbd741e6d5e989c0156fb8789f7e63702af8b2390738648b2300a92f4ab0ae')
2022-01-18 03:51:48 +00:00
b2sums=('SKIP'
2023-07-03 13:37:35 +00:00
'8156920eacc630cb5eceb2387937b747c84c6325bef906717cfbad68c122bdd27965da1e8070a560a0bed3a7b7c59ff5f0e116bb1d035c4c42f430c927a75b1f')
2020-02-26 04:34:21 +00:00
2022-01-18 03:51:48 +00:00
pkgver() {
cd "$pkgname"
2022-03-22 01:09:38 +00:00
2022-01-18 03:51:48 +00:00
git describe --tags
}
2020-02-26 04:34:21 +00:00
2022-01-18 03:51:48 +00:00
prepare() {
cd "$pkgname"
2022-03-22 01:09:38 +00:00
# fix location of translations
2023-06-27 10:37:08 +00:00
patch -p1 -i "$srcdir/translations-location.patch"
2023-09-16 07:25:31 +00:00
# https://github.com/danmar/cppcheck/pull/5350
git revert --no-commit 499f566e9dcdf7d033145c4eb613dd4a4738ab0a
2020-02-26 04:34:21 +00:00
}
build() {
2022-01-18 03:51:48 +00:00
export CXXFLAGS+=" -DNDEBUG"
2020-02-26 04:34:21 +00:00
2022-01-18 03:51:48 +00:00
# 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
2020-02-26 04:34:21 +00:00
2022-01-18 03:51:48 +00:00
cmake \
-B build \
-S "$pkgname" \
2023-09-16 07:25:31 +00:00
-D CMAKE_INSTALL_PREFIX=/usr \
-D CMAKE_BUILD_TYPE=RelWithDebInfo \
-D USE_MATCHCOMPILER=ON \
-D HAVE_RULES=ON \
-D BUILD_GUI=ON \
-D BUILD_SHARED_LIBS=OFF \
-D BUILD_TESTS=ON \
-D FILESDIR=/usr/share/cppcheck \
-D USE_BUNDLED_TINYXML2=OFF \
-D USE_QT6=ON
2020-02-26 04:34:21 +00:00
2022-01-18 03:51:48 +00:00
cmake --build build
2020-02-26 04:34:21 +00:00
}
2022-03-22 01:09:38 +00:00
check() {
cd build/bin
./testrunner -g -q
}
2020-02-26 04:34:21 +00:00
package() {
2022-01-18 03:51:48 +00:00
DESTDIR="$pkgdir" cmake --install build
2020-02-26 04:34:21 +00:00
2022-01-18 03:51:48 +00:00
cd "$pkgname"
2020-02-26 04:34:21 +00:00
2022-01-18 03:51:48 +00:00
install -vDm644 -t "$pkgdir/usr/share/man/man1" cppcheck.1
install -vDm755 -t "$pkgdir/usr/bin" htmlreport/cppcheck-htmlreport
2020-02-26 04:34:21 +00:00
2022-01-18 03:51:48 +00:00
# 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/
2020-02-26 04:34:21 +00:00
}