summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 7f305509ea0cb6a6b8e0dc4eb833b4f773af4873 (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
# Maintainer: Hans Gaiser <hansg91@gmail.com>

pkgname=gloo-git
pkgver=0.r113.6089900
pkgrel=1
pkgdesc='Gloo is a collective communications library from the Facebook incubator. It comes with a number of collective algorithms useful for machine learning applications.'
arch=(x86_64)
url='https://github.com/facebookincubator/gloo'
license=('BSD')

source=('git+https://github.com/facebookincubator/gloo.git')
depends=('cuda' 'nccl')
makedepends=('git' 'cmake')
provides=('gloo')
conflicts=('gloo')
sha256sums=('SKIP')

pkgver() {
	cd "$srcdir/gloo"
	set -o pipefail
	echo -n '0.'
	printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}

prepare() {
	rm -rf "$srcdir/gloo/build"
	mkdir "$srcdir/gloo/build"
	cd "$srcdir/gloo/build"

	cmake .. \
		-DCMAKE_BUILD_TYPE=Release \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DNCCL_ROOT_DIR=/opt/cuda \
		-DCUDA_HOST_COMPILER=/usr/bin/g++-5 \
		-DUSE_CUDA=on
}

build() {
	cd "$srcdir/gloo/build"
	make
}

package() {
	cd "$srcdir/gloo/build"
	make DESTDIR="${pkgdir}" install

	# Install BSD License
	install -D -m644 ../LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"

	# Install Documentation
	install -D -m644 ../README.md "${pkgdir}/usr/share/doc/${pkgname}/README.md"
}