summaryrefslogtreecommitdiff
blob: 1cdcb5561c95bda517c4e6f062901f6b11ba4b68 (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
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI=6

EGO_PN="github.com/git-lfs/${PN}"

if [[ ${PV} == *9999 ]]; then
	inherit golang-vcs
else
	SRC_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
	KEYWORDS="~amd64"
	inherit golang-vcs-snapshot
fi

DESCRIPTION="command line extension and specification for managing large files with Git"
HOMEPAGE="https://git-lfs.github.com/"

LICENSE="MIT BSD BSD-2 BSD-4 Apache-2.0"
SLOT="0"
IUSE="+doc"

# since version 2.0.2 git-lfs uses time.Until that was introduced in golang >=1.8
# https://github.com/golang/go/commit/67ea710792eabdae1182e2bf4845f512136cccce
DEPEND=">=dev-lang/go-1.8:=
	doc? ( app-text/ronn )"

RDEPEND="dev-vcs/git"

S="${WORKDIR}/${P}/src/${EGO_PN}"

src_compile() {
	# can't use golang-build_src_compile for go generate
	# and others steps executed by build.go
	GOPATH="${WORKDIR}/${P}:$(get_golibdir_gopath)" \
	go run script/*.go -cmd build || die "build failed"

	if use doc; then
		ronn docs/man/*.ronn || die "man building failed"
	fi
}

src_install() {
	dobin bin/git-lfs

	use doc && doman docs/man/*.1
}