summaryrefslogtreecommitdiff
path: root/testing/boinc/APKBUILD
blob: 064b83b04a283c4188c9149bad26c7e4d3eb7f45 (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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# Contributor: Joe Searle <joe@jsearle.net>
# Contributor: knuxify <knuxify@gmail.com>
# Maintainer: Joe Searle <joe@jsearle.net>
pkgname=boinc
pkgver=7.20.1
_pkgver=${pkgver%.*}
pkgrel=1
pkgdesc="Open-source software for volunteer computing and grid computing."
url="https://boinc.berkeley.edu/"
arch="all !riscv64"
options="!check" # nothing is actually done by make check
license="LGPL-3.0-or-later"
depends="bash procps shadow"
makedepends="$depends_dev automake autoconf clang curl-dev docbook2x
	freeglut-dev glu-dev libjpeg-turbo-dev libnotify-dev openssl-dev>3
	libtool libxi-dev libxmu-dev libxscrnsaver-dev m4 mesa-dev pkgconf
	sqlite-dev wxgtk-dev"
install="$pkgname.pre-install"
pkgusers="boinc"
pkggroups="boinc"
subpackages="$pkgname-doc $pkgname-dev $pkgname-gui $pkgname-lang $pkgname-libs $pkgname-openrc $pkgname-screensaver"
source="boinc-$pkgver.tar.gz::https://github.com/BOINC/boinc/archive/client_release/$_pkgver/$pkgver.tar.gz"
builddir="$srcdir/$pkgname-client_release-$_pkgver-$pkgver"

build() {
	# GCC fails on non-x86 architectures
	export CC=clang
	export CXX=clang++

	./_autosetup

	./configure \
		--build="$CBUILD" \
		--host="$CHOST" \
		--prefix=/usr \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--localstatedir=/var \
		--disable-server \
		--disable-fcgi \
		--enable-client \
		--enable-boinczip \
		--enable-install-headers \
		--enable-libraries \
		--with-x

	make
}

check() {
	make check
}

package() {
	make DESTDIR="$pkgdir" install
}

_cleanup_empty_dirs() {
	local _dir
	_dir="${1:-"$pkgdir"}"

	find "$_dir" -mindepth 1 -depth -type d -exec rmdir --ignore-fail-on-non-empty '{}' +
}

libs() {
	default_libs
	depends="$depends_libs"

	_cleanup_empty_dirs
}

gui() {
	depends="$depends_gui"
	pkgdesc="$pkgdesc (manager)"

	mkdir -p "$subpkgdir/usr/bin"
	mv "$pkgdir/usr/bin/boincmgr" "$subpkgdir/usr/bin"

	_cleanup_empty_dirs
}

screensaver() {
	depends="$depends_screensaver"
	pkgdesc="$pkgdesc (screensaver)"

	mkdir -p "$subpkgdir/usr/bin"
	mv "$pkgdir/usr/bin/boincscr" "$subpkgdir/usr/bin"

	_cleanup_empty_dirs
}

sha512sums="
6b4aa9d288888bec847c21b59f8c6c27ad040e5a8f21e3a0fa39999e548e6bd0504723092acfaaba02090962aa1c6537af48bb32cdfc9b13de7d878d2963b731  boinc-7.20.1.tar.gz
"