aboutsummaryrefslogtreecommitdiffstats
path: root/community/cppcheck/APKBUILD
blob: 24dcec5f414e0838d1f693165efcc8e78f605ef5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# Contributor: August Klein <amatcoder@gmail.com>
# Maintainer: André Klitzing <aklitzing@gmail.com>
pkgname=cppcheck
pkgver=1.79
pkgrel=0
pkgdesc="A static analysis tool for C/C++ code"
url="http://cppcheck.sourceforge.net"
arch="all"
license="GPL3"
depends=""
makedepends="docbook-xsl pcre-dev qt5-qttools-dev"
subpackages="$pkgname-doc $pkgname-htmlreport::noarch $pkgname-gui"
source="$pkgname-$pkgver.tar.gz::https://github.com/danmar/cppcheck/archive/$pkgver.tar.gz
	set_datadir.patch"
builddir="$srcdir/$pkgname-$pkgver"

build() {
	cd "$builddir"
	make DB2MAN=/usr/share/xml/docbook/xsl-stylesheets-*/manpages/docbook.xsl man || return 1

	cd gui
	lrelease-qt5 gui.pro || return 1
	qmake-qt5 HAVE_RULES=yes || return 1
	make SRCDIR=build CFGDIR=/usr/share/cppcheck/cfg HAVE_RULES=yes || return 1
}

check() {
	cd "$builddir"
	make SRCDIR=build check || return 1
}

package() {
	cd "$builddir"
	make DESTDIR="$pkgdir" CFGDIR=/usr/share/cppcheck/cfg HAVE_RULES=yes install || return 1
	install -Dm644 cppcheck.1 "$pkgdir"/usr/share/man/man1/cppcheck.1 || return 1
}

htmlreport() {
	pkgdesc="A utility to generate a html report of a XML file produced by cppcheck"
	depends="$pkgname py-pygments"

	cd "$builddir"
	mkdir -p "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/bin/$subpkgname "$subpkgdir"/usr/bin/
}

gui() {
	pkgdesc="A Qt gui for cppcheck"
	depends="$pkgname"

	cd "$builddir"
	mkdir -p "$subpkgdir"/usr/bin
	mv gui/$subpkgname "$subpkgdir"/usr/bin/ || return 1

	mkdir -p "$subpkgdir"/usr/share/cppcheck/lang/
	mv gui/cppcheck*.qm "$subpkgdir"/usr/share/cppcheck/lang/
}

sha512sums="3c1bd96118820ca704b13ec3242ae5c78035ca5ee7acc41ee32b9a1d39e57997a22d27a4cd34518d430d4f8ed1c9796c20d7c736210c9f0eee3d1f05e599f71f  cppcheck-1.79.tar.gz
76f0699273347068b562d001cf6701ef3180506d21bd9298a6b1f2e522ea3c32b1cc350128a2c0b8d69b89aa3c0992b04e9d641ae170b51e3073acb3c6ca7b6e  set_datadir.patch"