#!/usr/bin/env bash
name='docker'
release='4'
version='28.4.0'
url='https://docker.io'
description='Pack, ship and run any application as a lightweight container'
email='aliriza.keskin@pardus.org.tr'
maintainer='aliriza'
license=('GPLv3')
source=("cli.tar.gz::https://github.com/docker/cli/archive/v$version.tar.gz"
        "moby.tar.gz::https://github.com/moby/moby/archive/v$version.tar.gz"
        'docker.initd'
        'docker.confd')
depends=(make-ca containerd iptables tini)
makedepends=(go)
sha256sums=('420f9caf3ba09229cd98f7f8325fb9969d0746cccf4bdc3c56dfe2621bb07803'
         '4aa0776ef3c040204cada69f3d4d7b89a3cef85e07cbe098c05cdcb000ea7e30'
         'SKIP'
         'SKIP')
group=(app.containers)
uses=()
arch=('x86_64')

# Thx alpine linux
# https://git.alpinelinux.org/aports/tree/community/docker/APKBUILD

_cli_commit=d8eb465f86cfceeb57f8582e373d41a558d35503    # https://github.com/docker/cli/commits/v$pkgver
_moby_commit=249d679a6baf8a32bb6d72d6ac5cc7ab9c90b4ea   # https://github.com/moby/moby/commits/v$pkgver

export AUTO_GOPATH=1
export GITCOMMIT=$_cli_commit		# for cli
export DOCKER_GITCOMMIT=$_moby_commit	# for moby
export DOCKER_BUILDTAGS=$_buildtags
export DISABLE_WARN_OUTSIDE_CONTAINER=1
export EXCLUDE_AUTO_BUILDTAG_JOURNALD=1
unset CC # prevent possible ccache issues

_cli_builddir="$HOME/cli-$version"
_moby_builddir="$HOME/moby-$version"

unset PREFIX

build () {
    # engine (moby)
    cd moby-$version
    mkdir -p src/github.com/docker/
    ln -sf "$HOME/moby-$version" src/github.com/docker/dockerd
    GO_BUILDTAGS="" GOPATH="$PWD" VERSION="$pkgver" hack/make.sh dynbinary

    # Required for building man-pages
	export GOPATH="$_cli_builddir"
	export GOBIN="$GOPATH/bin"
	export PATH="$GOBIN:$PATH"

    # cli
	cd ../cli-$version
	mkdir -p "$_cli_builddir"/src/github.com/docker/
	ln -sf "$_cli_builddir" "$_cli_builddir"/src/github.com/docker/cli
	GO_BUILDTAGS="" LDFLAGS="" make VERSION="$pkgver" dynbinary

}

package () {
    install -Dm644 "$_cli_builddir"/contrib/completion/fish/$name.fish \
		"$DESTDIR"/usr/share/fish/vendor_completions.d/$name.fish

	install -Dm644 "$_cli_builddir"/contrib/completion/zsh/_$name \
		"$DESTDIR"/usr/share/zsh/site-functions/_$name

	install -Dm644 "$_cli_builddir"/contrib/completion/bash/$name \
		"$DESTDIR"/usr/share/bash-completion/completions/$name

	# 'build/docker' is a symlink to 'docker-linux-$arch' e.g. 'docker-linux-amd64'
	install -Dm755 "$_cli_builddir"/build/docker \
		"$DESTDIR"/usr/bin/docker

	install -Dm755 -t "$DESTDIR"/usr/bin \
		"$_moby_builddir"/bundles/dynbinary-daemon/dockerd \
		"$_moby_builddir"/bundles/dynbinary-daemon/docker-proxy

  # service files from gentoo
	install -Dm755 docker.initd "$DESTDIR"/etc/init.d/docker
	install -Dm644 docker.confd "$DESTDIR"/etc/conf.d/docker

}

