@ -17,6 +17,7 @@ rec {
, btrfs-progs , iptables , e2fsprogs , xz , util-linux , xfsprogs , git
, procps , libseccomp
, nixosTests
, clientOnly ? ! stdenv . isLinux
} :
let
docker-runc = runc . overrideAttrs ( oldAttrs : {
@ -116,7 +117,7 @@ rec {
++ optional ( libseccomp != null ) " s e c c o m p " ;
} ) ;
in
buildGoPackage ( ( optionalAttrs ( stdenv . isLinux ) {
buildGoPackage ( ( optionalAttrs ( ! clientOnly ) {
inherit docker-runc docker-containerd docker-proxy docker-tini moby ;
@ -137,7 +138,7 @@ rec {
nativeBuildInputs = [
makeWrapper pkg-config go-md2man go libtool installShellFiles
] ;
buildInputs = optionals ( stdenv . isLinux ) [
buildInputs = optionals ( ! clientOnly ) [
sqlite lvm2 btrfs-progs systemd libseccomp
] ++ optionals ( buildxSupport ) [ docker-buildx ] ;
@ -177,7 +178,7 @@ rec {
makeWrapper $ out/libexec/docker/docker $ out/bin/docker \
- - prefix PATH : " $ o u t / l i b e x e c / d o c k e r : $ e x t r a P a t h "
'' + o p t i o n a l S t r i n g ( s t d e n v . i s L i n u x ) ''
'' + o p t i o n a l S t r i n g ( ! c l i e n t O n l y ) ''
# symlink docker daemon to docker cli derivation
ln - s $ { moby } /bin/dockerd $ out/bin/dockerd
@ -204,7 +205,7 @@ rec {
installManPage man /* / * . [ 1 - 9 ]
'' ;
passthru . tests = { inherit ( nixosTests ) docker ; } ;
passthru . tests = lib . optionals ( ! clientOnly ) { inherit ( nixosTests ) docker ; } ;
meta = {
homepage = " h t t p s : / / w w w . d o c k e r . c o m / " ;