# Description: An open platform for distributed applications for developers and sysadmins
# URL: https://www.docker.com/community-edition
# Maintainer: Matt Housh, jaeger at crux dot ninja
# Depends on: containerd runc btrfs-progs cgroupfs-mount

name=docker
version=18.09.6
release=1
source=(https://github.com/docker/docker-ce/archive/v$version/$name-ce-v$version.tar.gz \
    http://jaeger.morpheus.net/linux/crux/files/$name-man-pages-$version.tar.xz \
    http://jaeger.morpheus.net/linux/crux/files/libnetwork-3ac297b.tar.xz \
    $name.rc $name.conf)

build() {
    export GOPATH=$SRC
    export DOCKER_GITCOMMIT=e68fc7a
    export DOCKER_BUILDTAGS='seccomp'
    export DISABLE_WARN_OUTSIDE_CONTAINER=1

    mkdir -p src/github.com/docker

    pushd src/github.com/docker
    ln -s $SRC/$name-ce-$version/components/cli
    pushd cli
    make VERSION=$version dynbinary
    popd
    popd

    pushd src/github.com/docker
    ln -s $SRC/$name-ce-$version/components/engine $name
    pushd $name
    VERSION=$version hack/make.sh dynbinary
    popd
    popd

    cd $name-ce-$version
    install -D -m 0755 components/cli/build/$name $PKG/usr/bin/$name
    install -D -m 0755 components/engine/bundles/latest/dynbinary-daemon/dockerd-$version \
        $PKG/usr/bin/dockerd

    (cd ..; \
        GOROOT=/usr/lib/go GOPATH=${PKGMK_WORK_DIR} go build -o $PKG/usr/bin/$name-proxy \
            libnetwork-3ac297b/cmd/proxy)

    for M in 1 5 8; do
        install -d -m 0755 $PKG/usr/share/man/man${M}
        install -m 0644 $SRC/man${M}/* $PKG/usr/share/man/man${M}/
    done

    install -D -m 0755 $SRC/$name.rc \
        $PKG/etc/rc.d/$name
    install -D -m 0644 $SRC/$name.conf \
        $PKG/etc/$name.conf

    ln -s containerd $PKG/usr/bin/docker-containerd
    ln -s containerd-shim $PKG/usr/bin/docker-containerd-shim
    ln -s ctr $PKG/usr/bin/docker-containerd-ctr
    ln -s runc $PKG/usr/bin/docker-runc

    install -D -m 0755 components/engine/contrib/check-config.sh \
        $PKG/usr/share/$name/check-config.sh
    install -D -m 0644 components/engine/contrib/udev/80-$name.rules \
        $PKG/etc/udev/rules.d/80-$name.rules
    install -D -m 0644 components/cli/contrib/completion/bash/docker \
        $PKG/etc/bash_completion.d/docker
}
