diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix index cf5698c5bbdc..5deb6d77c37b 100644 --- a/pkgs/applications/virtualization/docker/default.nix +++ b/pkgs/applications/virtualization/docker/default.nix @@ -97,7 +97,7 @@ rec { extraUserPath = lib.optionals (stdenv.isLinux && !clientOnly) (lib.makeBinPath [ rootlesskit slirp4netns fuse-overlayfs ]); - patches = [ + patches = lib.optionals (lib.versionOlder version "23") [ # This patch incorporates code from a PR fixing using buildkit with the ZFS graph driver. # It could be removed when a version incorporating this patch is released. (fetchpatch { @@ -105,6 +105,7 @@ rec { url = "https://github.com/moby/moby/pull/43136.patch"; hash = "sha256-1WZfpVnnqFwLMYqaHLploOodls0gHF8OCp7MrM26iX8="; }) + ] ++ lib.optionals (lib.versionOlder version "23.0.5") [ (fetchpatch { name = "fix-issue-with-go-1.20.6.patch"; url = "https://github.com/moby/moby/pull/45972.patch"; @@ -181,14 +182,13 @@ rec { nativeBuildInputs = [ makeWrapper pkg-config go-md2man go libtool installShellFiles ]; - buildInputs = lib.optional (!clientOnly) sqlite - ++ lib.optional withLvm lvm2 - ++ lib.optional withBtrfs btrfs-progs - ++ lib.optional withSystemd systemd - ++ lib.optional withSeccomp libseccomp - ++ plugins; - patches = [ + buildInputs = plugins ++ lib.optionals (lib.versionAtLeast version "23") [ + glibc + glibc.static + ]; + + patches = lib.optionals (lib.versionOlder version "23.0.5") [ (fetchpatch { name = "fix-issue-with-go-1.20.6.patch"; url = "https://github.com/docker/cli/pull/4441.patch"; @@ -222,7 +222,7 @@ rec { cd - ''; - outputs = ["out" "man"]; + outputs = ["out"] ++ lib.optional (lib.versionOlder version "23") "man"; installPhase = '' cd ./go/src/${goPackagePath} @@ -244,13 +244,13 @@ rec { installShellCompletion --bash ./contrib/completion/bash/docker installShellCompletion --fish ./contrib/completion/fish/docker.fish installShellCompletion --zsh ./contrib/completion/zsh/_docker - '' + lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) '' + '' + lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform && lib.versionOlder version "23") '' # Generate man pages from cobra commands echo "Generate man pages from cobra" mkdir -p ./man/man1 go build -o ./gen-manpages github.com/docker/cli/man ./gen-manpages --root . --target ./man/man1 - '' + '' + '' + lib.optionalString (lib.versionOlder version "23") '' # Generate legacy pages from markdown echo "Generate legacy manpages" ./man/md2man-all.sh -q @@ -292,4 +292,18 @@ rec { tiniRev = "v0.19.0"; tiniHash = "sha256-ZDKu/8yE5G0RYFJdhgmCdN3obJNyRWv6K/Gd17zc1sI="; }; + + docker_24 = callPackage dockerGen rec { + version = "24.0.5"; + cliRev = "v${version}"; + cliHash = "sha256-u1quVGTx/p8BDyRn33vYyyuE5BOhWMnGQ5uVX0PZ5mg="; + mobyRev = "v${version}"; + mobyHash = "sha256-JQjRz1fHZlQRkNw/R8WWLV8caN3/U3mrKKQXbZt2crU="; + runcRev = "v1.1.8"; + runcHash = "sha256-rDJYEc64KW4Qa3Eg2oUjJqIKrg6THb5hxQFFbvb9Zp4="; + containerdRev = "v1.7.1"; + containerdHash = "sha256-WwedtcsrDQwMQcKFO5nnPiHyGJpl5hXZlmpbBe1/ftY="; + tiniRev = "v0.19.0"; + tiniHash = "sha256-ZDKu/8yE5G0RYFJdhgmCdN3obJNyRWv6K/Gd17zc1sI="; + }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bb6c180401ec..cc48e816f647 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -30797,7 +30797,7 @@ with pkgs; dnglab = callPackage ../tools/graphics/dnglab { }; inherit (callPackage ../applications/virtualization/docker {}) - docker_20_10; + docker_20_10 docker_24; docker = docker_20_10; docker-client = docker.override { clientOnly = true; };