aboutsummaryrefslogtreecommitdiffstats
path: root/community/dockerize/APKBUILD
blob: 7a17c9ea8dd49d3b47f769607e0657d850f94841 (plain) (blame)
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
# Maintainer: Christian Kampka <christian@kampka.net>
pkgname=dockerize
pkgver=0.2.0
pkgrel=0
pkgdesc="Utility to simplify running applications in docker containers."
url="https://github.com/jwilder/dockerize"
arch="x86 x86_64"
license="MIT"
makedepends="git go"
options="!strip"
source="http://dev.alpinelinux.org/archive/$pkgname/$pkgname-$pkgver.tar"

_giturl="git://github.com/jwilder/${pkgname}.git"
_disturl="dev.alpinelinux.org:/archive/$pkgname/"


snapshot() {
	abuild clean
	abuild deps

	mkdir -p "$srcdir"
	cd "$srcdir"

	# dockerize utilizes glock for dependency resolution,
	# but we don't want to provide glock as a package since
	# it does not do stable releases.
	# Therefore, we build it here to resolve the dependencies
	# for the dockerize snapshot.
	_glock_giturl="git://github.com/robfig/glock.git"
	_glock_commit="e75a83a850fe9ff13fd63720d09d28aab795808e"

	export GOPATH="${srcdir}/glock"
	git clone -q ${_glock_giturl} || return 1
	cd "${srcdir}/glock"
	git checkout -q ${_glock_commit} || return 1
	go get -v -d || return 1
	go build || return 1
	GLOCK_BIN="${srcdir}/glock/glock"

	# now prepare the dockerize snapshot

	cd "$srcdir"
	msg "Creating snapshot: $_pkg"
	export GOPATH="${srcdir}/$pkgname"
	git clone -q ${_giturl} ${pkgname}|| return 1
	cd $pkgname
	git checkout -q v${pkgver} || return 1
	"$GLOCK_BIN" sync ../ || return 1
	cd $srcdir
	tar cf $pkgname-$pkgver.tar $pkgname || return 1
	rsync --progress -La $pkgname-${pkgver}.tar \
		$_disturl || return 1
	cd $startdir
	abuild checksum
	abuild undeps
}

_builddir="${srcdir}/${pkgname}"

prepare() {
	local i
	cd "$_builddir"
	for i in $source; do
		case $i in
		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
		esac
	done
}

build() {
	cd "$_builddir"
	GOARCH=$(go env | grep GOARCH | cut -d'=' -f 2 | xargs echo -n)
	export GOPATH="$_builddir"
	mkdir -p ${_builddir}/dist/linux/$GOARCH
	GOOS=linux go build -ldflags "-X main.buildVersion ${pkgver}" -o ${_builddir}/dist/linux/$GOARCH/dockerize
}

package() {
	cd "$_builddir"
	GOARCH=$(go env | grep GOARCH | cut -d'=' -f 2 | xargs echo -n)
	install -Dm755 ${_builddir}/dist/linux/$GOARCH/dockerize \
	"$pkgdir"/usr/bin/dockerize
}
md5sums="b3ba98253a76b5bf68ef9f710d48807f  dockerize-0.2.0.tar"
sha256sums="eda5aa7a0b0fb04b1b643fe4f24e795f537aa2cb1509d8f18b2d87f6d03ce402  dockerize-0.2.0.tar"
sha512sums="e2b0926f1c87570097de8b1d06691441e939fbb896c124c77c77ed429dc84cd9d5b09072ef4920bf3c167dcf52bdce632420347cea5b48b9de3f0dc5034fd42e  dockerize-0.2.0.tar"