aboutsummaryrefslogtreecommitdiffstats
path: root/main/cmocka/APKBUILD
blob: 1a4f05133800da263f6d3b854d02af8ea739f363 (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
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=cmocka
pkgver=1.1.0
pkgrel=4
pkgdesc="An elegant unit testing framework for C with support for mock objects"
url="https://cmocka.org/"
arch="all !aarch64"
license="ASL-2.0"
depends=""
makedepends="cmake"
subpackages="$pkgname-dev"
source="https://cmocka.org/files/${pkgver%.*}/$pkgname-$pkgver.tar.xz
	s390x_wordsize.patch
	musl_uintptr.patch"
builddir="$srcdir/$pkgname-$pkgver"

prepare() {
	default_prepare || return 1

	# Just one single test (customer_database_test) is breaking on ppc64le.
	if [ "$CARCH" = "ppc64le" ]; then
		sed -i '/customer_database_test/d' "$builddir"/example/CMakeLists.txt
	fi
}

build() {
	mkdir -p "$builddir"/build || return 1
	cd "$builddir"/build

	cmake .. \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DBUILD_SHARED_LIBS=True \
		-DCMAKE_BUILD_TYPE=Release \
		-DCMAKE_C_FLAGS="$CFLAGS" \
		-DUNIT_TESTING=ON \
		|| return 1
	make
}

check() {
	make -C "$builddir"/build test
}

package() {
	make -C "$builddir"/build DESTDIR="$pkgdir" install
}

sha512sums="b45b6c6bf6c1a0e12cbbfa203afc0172aa53215e0bd43a21b30db04c0490609a7a262f1b4d87be9df0c5c486c4f4891d3432e0e053418d373d9750a6cf5adf70  cmocka-1.1.0.tar.xz
f7db110909662dc1a185d09d1f00aef967eee99753f6929b1f0794422c1ca38f4a3643f39960813355b7da155f96325a30dfbe66ac6f19e55967a241a0e923de  s390x_wordsize.patch
b20b5c0d172a9df756ec093a3df4bf5bdf2a0c06a3d3ad39ec001248ccb86e6fd3dcedfc9ce42e8309cc01ea34fadffd4ebcc0fb3af9f5e795e7fe40c461ac60  musl_uintptr.patch"