aboutsummaryrefslogtreecommitdiffstats
path: root/community/git-lfs/APKBUILD
blob: 19ced6d068275a184eb69f69b50dc51789b03075 (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
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=git-lfs
pkgver=2.4.1
pkgrel=0
pkgdesc="Git extension for versioning large files"
url="https://git-lfs.github.io/"
arch="all"
license="MIT"
depends="git"
checkdepends="bash coreutils git-daemon perl-utils"
makedepends="go ronn"
# Go doesn't play well with strip tool. http://bit.ly/2jlJsSU
options="!strip"
subpackages="$pkgname-doc"
install="$pkgname.post-install $pkgname.pre-deinstall"
source="$pkgname-$pkgver.tar.gz::https://github.com/git-lfs/$pkgname/archive/v$pkgver.tar.gz
	fix-test-locks.patch"
builddir="$srcdir/src/github.com/git-lfs/$pkgname"

export GOPATH="$srcdir:$builddir"

prepare() {
	mkdir -p "${builddir%/*}"
	ln -s "$srcdir"/$pkgname-$pkgver "$builddir"

	default_prepare
}

build() {
	cd "$builddir"

	# Build manpages first (some embedding in the executable is done).
	cd docs
	ronn man/*.ronn
	go run man/mangen.go
	cd -

	# Build git-lfs executable.
	_gobuild -o bin/$pkgname

	# Build test executables.
	local file; for file in test/cmd/*.go; do
		_gobuild -o bin/$(basename $file .go) $file
	done
	_gobuild -o bin/git-lfs-test-server-api \
		test/git-lfs-test-server-api/*.go
}

check() {
	cd "$builddir"

	GIT_LFS_TEST_MAXPROCS=$JOBS SKIPCOMPILE=1 ./script/integration
}

package() {
	local docdir="$pkgdir/usr/share/doc/$pkgname"
	local mandir="$pkgdir/usr/share/man"

	cd "$builddir"

	install -Dm755 bin/$pkgname "$pkgdir"/usr/bin/$pkgname

	mkdir -p "$mandir"/man1 "$mandir"/man5
	install -m 644 docs/man/*.1 "$mandir"/man1/
	install -m 644 docs/man/*.5 "$mandir"/man5/

	mkdir -p "$docdir"
	cp -r docs/*.md docs/api "$docdir"/
	rm -r "$docdir"/api/schemas
}

_gobuild() {
	# -tags netcgo - use system's DNS resolver by default. Go's built-in DNS
	#   resolver is buggy; it resolved localhost to totally wrong IP
	#   address on ARM builders and so caused test failures.
	# -ldflags - omit symbol and debug tables (strip).
	go build -tags netcgo -ldflags='-s -w' -v "$@"
}

sha512sums="c17503ab6ff494dc55ce42eb1cc0cdcf4f7f3315432c2e49a73c24bb6d8407fff09aa05fc0062e311108d225ae2e11139b11b570dcc6f4ece2d6cfecb000afd3  git-lfs-2.4.1.tar.gz
66927aa462cb7b5061442e5ffaf7c9e4a5d97179482dc00de3f4abfad5959a9c55df3e88c211067bf15b5b0ea3ef29b249ca32290cc9839280266de5c6854b3f  fix-test-locks.patch"