diff options
author | Sandro Jäckel <sandro.jaeckel@gmail.com> | 2022-11-22 23:12:07 +0100 |
---|---|---|
committer | Sandro Jäckel <sandro.jaeckel@gmail.com> | 2022-11-22 23:13:50 +0100 |
commit | ffcfa322b902f7a333f03e1b6bd81ee36e3ce3c8 (patch) | |
tree | 46ddb123c42b3a7f71de3987237abf8fe9863b21 /pkgs/applications/virtualization/docker/default.nix | |
parent | 8b5dd47fe0db0834cebda33ad4b2d8f5ba4e9aa5 (diff) | |
download | nixpkgs-ffcfa322b902f7a333f03e1b6bd81ee36e3ce3c8.tar nixpkgs-ffcfa322b902f7a333f03e1b6bd81ee36e3ce3c8.tar.gz nixpkgs-ffcfa322b902f7a333f03e1b6bd81ee36e3ce3c8.tar.bz2 nixpkgs-ffcfa322b902f7a333f03e1b6bd81ee36e3ce3c8.tar.lz nixpkgs-ffcfa322b902f7a333f03e1b6bd81ee36e3ce3c8.tar.xz nixpkgs-ffcfa322b902f7a333f03e1b6bd81ee36e3ce3c8.tar.zst nixpkgs-ffcfa322b902f7a333f03e1b6bd81ee36e3ce3c8.zip |
docker: add overrides options back
Diffstat (limited to 'pkgs/applications/virtualization/docker/default.nix')
-rw-r--r-- | pkgs/applications/virtualization/docker/default.nix | 43 |
1 files changed, 30 insertions, 13 deletions
diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix index 83824b6cb94..cc8a242db27 100644 --- a/pkgs/applications/virtualization/docker/default.nix +++ b/pkgs/applications/virtualization/docker/default.nix @@ -13,11 +13,14 @@ rec { , stdenv, fetchFromGitHub, fetchpatch, buildGoPackage , makeWrapper, installShellFiles, pkg-config, glibc , go-md2man, go, containerd, runc, docker-proxy, tini, libtool - , sqlite, iproute2, lvm2, systemd, docker-buildx, docker-compose - , btrfs-progs, iptables, e2fsprogs, xz, util-linux, xfsprogs, git - , procps, libseccomp, rootlesskit, slirp4netns, fuse-overlayfs - , nixosTests + , sqlite, iproute2, docker-buildx, docker-compose + , iptables, e2fsprogs, xz, util-linux, xfsprogs, git + , procps, rootlesskit, slirp4netns, fuse-overlayfs, nixosTests , clientOnly ? !stdenv.isLinux, symlinkJoin + , withSystemd ? true, systemd + , withBtrfs ? true, btrfs-progs + , withLvm ? true, lvm2 + , withSeccomp ? true, libseccomp }: let docker-runc = runc.overrideAttrs (oldAttrs: { @@ -46,7 +49,8 @@ rec { sha256 = containerdSha256; }; - buildInputs = oldAttrs.buildInputs ++ [ libseccomp ]; + buildInputs = oldAttrs.buildInputs + ++ lib.optional withSeccomp [ libseccomp ]; }); docker-tini = tini.overrideAttrs (oldAttrs: { @@ -77,7 +81,11 @@ rec { goPackagePath = "github.com/docker/docker"; nativeBuildInputs = [ makeWrapper pkg-config go-md2man go libtool installShellFiles ]; - buildInputs = [ sqlite lvm2 btrfs-progs systemd libseccomp ]; + buildInputs = [ sqlite ] + ++ lib.optional withLvm lvm2 + ++ lib.optional withBtrfs btrfs-progs + ++ lib.optional withSystemd systemd + ++ lib.optional withSeccomp libseccomp; extraPath = optionals stdenv.isLinux (makeBinPath [ iproute2 iptables e2fsprogs xz xfsprogs procps util-linux git ]); @@ -132,15 +140,21 @@ rec { --prefix PATH : "$out/libexec/docker:$extraPath:$extraUserPath" ''; - DOCKER_BUILDTAGS = [ "journald" "seccomp" ]; + DOCKER_BUILDTAGS = lib.optional withSystemd "journald" + ++ lib.optional withBtrfs "exclude_graphdriver_btrfs" + ++ lib.optional withLvm "exclude_graphdriver_devicemapper" + ++ lib.optional withSeccomp "seccomp"; }); - plugins = optionals buildxSupport [ docker-buildx ] - ++ optionals composeSupport [ docker-compose ]; + plugins = lib.optional buildxSupport docker-buildx + ++ lib.optional composeSupport docker-compose; pluginsRef = symlinkJoin { name = "docker-plugins"; paths = plugins; }; in buildGoPackage (optionalAttrs (!clientOnly) { - } // rec { + # allow overrides of docker components + # TODO: move packages out of the let...in into top-level to allow proper overrides + inherit docker-runc docker-containerd docker-proxy docker-tini moby; + } // rec { pname = "docker"; inherit version; @@ -156,9 +170,12 @@ rec { nativeBuildInputs = [ makeWrapper pkg-config go-md2man go libtool installShellFiles ]; - buildInputs = optionals (!clientOnly) [ - sqlite lvm2 btrfs-progs systemd libseccomp - ] ++ plugins; + buildInputs = lib.optional (!clientOnly) sqlite + ++ lib.optional withLvm lvm2 + ++ lib.optional withBtrfs btrfs-progs + ++ lib.optional withSystemd systemd + ++ lib.optional withSeccomp libseccomp + ++ plugins; postPatch = '' patchShebangs man scripts/build/ |