aboutsummaryrefslogtreecommitdiffstats
path: root/testing
diff options
context:
space:
mode:
Diffstat (limited to 'testing')
-rw-r--r--testing/cppcheck/APKBUILD76
-rw-r--r--testing/cppcheck/avoid_execinfo.patch11
-rw-r--r--testing/cppcheck/set_datadir.patch21
3 files changed, 108 insertions, 0 deletions
diff --git a/testing/cppcheck/APKBUILD b/testing/cppcheck/APKBUILD
new file mode 100644
index 00000000000..c4d158466f7
--- /dev/null
+++ b/testing/cppcheck/APKBUILD
@@ -0,0 +1,76 @@
+# Contributor: August Klein <amatcoder@gmail.com>
+# Maintainer: August Klein <amatcoder@gmail.com>
+pkgname=cppcheck
+pkgver=1.68
+pkgrel=0
+pkgdesc="A static analysis tool for C/C++ code"
+url="http://cppcheck.sourceforge.net"
+arch="all"
+license="GPL3"
+depends=""
+depends_dev=""
+makedepends="$depends_dev docbook-xsl pcre-dev qt5-qttools-dev"
+install=""
+subpackages="$pkgname-doc $pkgname-htmlreport $pkgname-gui"
+source="https://github.com/danmar/cppcheck/archive/$pkgver.tar.gz
+ avoid_execinfo.patch
+ set_datadir.patch"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ make DB2MAN=/usr/share/xml/docbook/xsl-stylesheets-*/manpages/docbook.xsl man || return 1
+
+ cd gui
+ lrelease gui.pro || return 1
+ qmake HAVE_RULES=yes || return 1
+ make SRCDIR=build CFGDIR=/usr/share/cppcheck/cfg HAVE_RULES=yes || 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"
+ arch="noarch"
+ depends="cppcheck 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="cppcheck"
+
+ cd "$_builddir"
+ mkdir -p "$subpkgdir"/usr/bin
+ mv gui/$subpkgname "$subpkgdir"/usr/bin/
+
+ mkdir -p "$subpkgdir"/usr/share/cppcheck/lang/
+ mv gui/cppcheck*.qm "$subpkgdir"/usr/share/cppcheck/lang/
+}
+
+md5sums="35c84962db9b01673d872fc4966aeb22 1.68.tar.gz
+f7543600f177495d19246934210df4c4 avoid_execinfo.patch
+9107713c930708436089b31eb3975de0 set_datadir.patch"
+sha256sums="fceac7e28783b55604a49504dfdbdbf8b9572eddaaacf3c87bc1600b086b5684 1.68.tar.gz
+d628da592fd6fce32d533a8333a20ea0bc273a1a21ed6057f0673678b6bdf4a5 avoid_execinfo.patch
+0f76926ea6baec00cad4e62ecb9215139cf8a1709c3ec613f494212e18ac5275 set_datadir.patch"
+sha512sums="8edee3589282a60e05a698837feea8ae1e5adea63ace2691667c57f6f8649f72f7873b712638377d4750667df3a052a81da15f1fcc5e068c7673f2e0799b046f 1.68.tar.gz
+0f8b62dfbef9305d7146adf14cd01e028e12a63f781d8f25e3e813ecbf98f8bc0c79b0085ec277a12bee8208abddc5520b51e64c5a3503dc77e52db95688c66d avoid_execinfo.patch
+b3cdd52899c2e1633cd715243b285029a8e72aa3e745be04579677b572b569ef3616dbe98df11cc9a39bc9acd9c13cc43bc4d21edc7e7fde8b95a9903cdcd58e set_datadir.patch"
diff --git a/testing/cppcheck/avoid_execinfo.patch b/testing/cppcheck/avoid_execinfo.patch
new file mode 100644
index 00000000000..c77dbc24f3d
--- /dev/null
+++ b/testing/cppcheck/avoid_execinfo.patch
@@ -0,0 +1,11 @@
+--- cppcheck-1.68-origin/cli/cppcheckexecutor.cpp
++++ cppcheck-1.68/cli/cppcheckexecutor.cpp
+@@ -51,7 +51,7 @@
+ #endif
+ #endif
+
+-#if !defined(NO_UNIX_BACKTRACE_SUPPORT) && defined(USE_UNIX_SIGNAL_HANDLING) && defined(__GNUC__) && !defined(__CYGWIN__) && !defined(__MINGW32__) && !defined(__NetBSD__) && !defined(__SVR4) && !defined(__QNX__)
++#if !defined(NO_UNIX_BACKTRACE_SUPPORT) && defined(USE_UNIX_SIGNAL_HANDLING) && defined (__GLIBC__) && defined(__GNUC__) && !defined(__CYGWIN__) && !defined(__MINGW32__) && !defined(__NetBSD__) && !defined(__SVR4) && !defined(__QNX__)
+ #define USE_UNIX_BACKTRACE_SUPPORT
+ #include <cxxabi.h>
+ #include <execinfo.h>
diff --git a/testing/cppcheck/set_datadir.patch b/testing/cppcheck/set_datadir.patch
new file mode 100644
index 00000000000..c00e5433fa4
--- /dev/null
+++ b/testing/cppcheck/set_datadir.patch
@@ -0,0 +1,21 @@
+--- cppcheck-1.68-origin/gui/main.cpp
++++ cppcheck-1.68/gui/main.cpp
+@@ -57,12 +57,18 @@
+ QSettings* settings = new QSettings("Cppcheck", "Cppcheck-GUI", &app);
+
+ // Set data dir..
++ if ((settings->value("DATADIR", QString()).toString()).isEmpty())
++ settings->setValue("DATADIR", "/usr/share/cppcheck");
++
+ foreach(const QString arg, app.arguments()) {
+ if (arg.startsWith("--data-dir=")) {
+ settings->setValue("DATADIR", arg.mid(11));
+ return 0;
+ }
+ }
++
++ if ((settings->value(SETTINGS_LANGUAGE, QString()).toString()).isEmpty())
++ settings->setValue(SETTINGS_LANGUAGE, "en");
+
+ TranslationHandler* th = new TranslationHandler(&app);
+ th->SetLanguage(settings->value(SETTINGS_LANGUAGE, th->SuggestLanguage()).toString());