# Template file for 'moby'
# should be kept in sync with docker-cli
pkgname=moby
version=20.10.22
revision=1
# libnetwork commit is mentioned in vendor.conf
_libnetwork_commit=dcdf8f176d1e13ad719e913e796fb698d846de98
create_wrksrc=yes
build_style=go
go_import_path="github.com/docker/docker"
hostmakedepends="pkg-config"
makedepends="libbtrfs-devel device-mapper-devel libseccomp-devel"
depends="containerd iptables xz"
short_desc="Container engine for the Docker ecosystem"
maintainer="PWA COLLECTIVE <pwa@cya.cx>"
license="Apache-2.0"
homepage="https://www.docker.com"
distfiles="https://github.com/moby/moby/archive/v${version}.tar.gz>moby-$version.tar.gz
 https://github.com/moby/libnetwork/archive/$_libnetwork_commit.tar.gz>libnetwork-$_libnetwork_commit.tar.gz"
checksum="ee0e2168e27ec87f1b0650e86af5d3e167a07fd2ff8c1ce3bb588f0b4f9a4658
 dbe30210e00fd4fcc63ade49ab3b00ba8fa5a1e90d34b92c1ecc25f8b78149ba"
system_groups="docker"
patch_args="-Np1 --directory=moby-$version"

_moby_builddir="moby-$version"
_libnetwork_builddir="libnetwork-$_libnetwork_commit"

do_build() {
	export AUTO_GOPATH=1
	export DOCKER_GITCOMMIT="tag v${version}"
	export DOCKER_BUILDTAGS="seccomp"
	export DISABLE_WARN_OUTSIDE_CONTAINER=1

	mkdir -p "$wrksrc/$_moby_builddir"
	mkdir -p "$wrksrc/$_libnetwork_builddir"

	msg_normal "Building docker-proxy (libnetwork)\n"
	cd "$wrksrc/$_libnetwork_builddir"
	mkdir -p src/github.com/docker/
	ln -sf "$wrksrc/$_libnetwork_builddir" src/github.com/docker/libnetwork
	GOPATH="$PWD" go build -v -ldflags="-linkmode=external" -o docker-proxy github.com/docker/libnetwork/cmd/proxy

	msg_normal "Building docker-engine (moby)\n"
	cd "$wrksrc/$_moby_builddir"
	mkdir -p src/github.com/docker/
	ln -sf "$wrksrc/$_moby_builddir" src/github.com/docker/docker
	GOPATH="$PWD" VERSION="$version" hack/make.sh dynbinary
}

do_install() {
	vbin $_libnetwork_builddir/docker-proxy
	vbin $_moby_builddir/bundles/dynbinary-daemon/dockerd
	vsv docker
}
