# Template file for 'moby'
# should be kept in sync with docker-cli
pkgname=moby
version=27.5.1
revision=1
# libnetwork commit is mentioned in vendor.conf
_libnetwork_commit=05b93e0d3a95952f70c113b0bc5bdb538d7afdd7
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="Andrea Brancaleoni <abc@pompel.me>"
license="Apache-2.0"
homepage="https://www.docker.com"
changelog="https://github.com/moby/moby/releases"
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="0d071c1773c855778d85590e01b924c1857000fd786485f4b674a3be2d3b893c
 5c5e3aa7599e85036438a65016796aa11df4afb44d13b5927dcfb0ec5947a86b"
system_groups="docker"

_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
}
