# Maintainer: Christian Kampka <christian@kampka.net>
setvar pkgname = 'dockerize'
setvar pkgver = '0.2.0'
setvar pkgrel = '1'
setvar pkgdesc = ""Utility to simplify running applications in docker containers.""
setvar url = ""https://github.com/jwilder/dockerize""
setvar arch = ""x86 x86_64 ppc64le""
setvar license = ""MIT""
setvar makedepends = ""git go""
setvar options = ""!strip""
setvar source = ""http://dev.alpinelinux.org/archive/$pkgname/$pkgname-$pkgver.tar""

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


proc 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.
	setvar _glock_giturl = ""git://github.com/robfig/glock.git""
	setvar _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
	setvar 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
}

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

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

proc build {
	cd $_builddir
	setvar 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
}

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