From 3b6b64775dda990b9092205ff7a12b9f4b702417 Mon Sep 17 00:00:00 2001 From: Mark Vainomaa Date: Sat, 8 Apr 2023 18:47:59 +0300 Subject: [PATCH 1/5] docker_24: init at 24.0.5 --- .../virtualization/docker/default.nix | 17 ++++++++++++++++- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix index cf5698c5bbdc..ac6ca712b4d1 100644 --- a/pkgs/applications/virtualization/docker/default.nix +++ b/pkgs/applications/virtualization/docker/default.nix @@ -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"; @@ -188,7 +189,7 @@ rec { ++ lib.optional withSeccomp libseccomp ++ plugins; - patches = [ + 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"; @@ -292,4 +293,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; }; From c13044c93c59db741c53f18086bcb441967bcf35 Mon Sep 17 00:00:00 2001 From: Mark Vainomaa Date: Thu, 1 Jun 2023 19:21:33 +0300 Subject: [PATCH 2/5] docker: zfs patch is in >= 23.x --- pkgs/applications/virtualization/docker/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix index ac6ca712b4d1..3b0ad20bf4ba 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 { From 1f202ea20d0b402aaf1f2c8ea3524bded536969c Mon Sep 17 00:00:00 2001 From: Mark Vainomaa Date: Mon, 17 Apr 2023 11:29:10 +0300 Subject: [PATCH 3/5] docker: clean up buildInputs for cli --- pkgs/applications/virtualization/docker/default.nix | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix index 3b0ad20bf4ba..c6bf322d7ea4 100644 --- a/pkgs/applications/virtualization/docker/default.nix +++ b/pkgs/applications/virtualization/docker/default.nix @@ -182,12 +182,7 @@ 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; + buildInputs = plugins; patches = lib.optionals (lib.versionOlder version "23.0.5") [ (fetchpatch { From 503953bd0055016817b9a96998c404a070b3e481 Mon Sep 17 00:00:00 2001 From: Mark Vainomaa Date: Tue, 11 Jul 2023 15:10:54 +0300 Subject: [PATCH 4/5] docker: disable man pages building See NixOS#225309 for discussion --- pkgs/applications/virtualization/docker/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix index c6bf322d7ea4..24e6f5694cd3 100644 --- a/pkgs/applications/virtualization/docker/default.nix +++ b/pkgs/applications/virtualization/docker/default.nix @@ -182,7 +182,7 @@ rec { nativeBuildInputs = [ makeWrapper pkg-config go-md2man go libtool installShellFiles ]; - buildInputs = plugins; + buildInputs = [ glibc glibc.static ] ++ plugins; patches = lib.optionals (lib.versionOlder version "23.0.5") [ (fetchpatch { @@ -218,7 +218,7 @@ rec { cd - ''; - outputs = ["out" "man"]; + outputs = ["out"] ++ lib.optional (lib.versionOlder version "23") "man"; installPhase = '' cd ./go/src/${goPackagePath} @@ -240,13 +240,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 From 1c353c50ff6fa3df770007de622de165f5302874 Mon Sep 17 00:00:00 2001 From: Mark Vainomaa Date: Fri, 28 Jul 2023 13:44:17 +0300 Subject: [PATCH 5/5] docker: add glibc buildInput only on >=23.x --- pkgs/applications/virtualization/docker/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix index 24e6f5694cd3..5deb6d77c37b 100644 --- a/pkgs/applications/virtualization/docker/default.nix +++ b/pkgs/applications/virtualization/docker/default.nix @@ -182,7 +182,11 @@ rec { nativeBuildInputs = [ makeWrapper pkg-config go-md2man go libtool installShellFiles ]; - buildInputs = [ glibc glibc.static ] ++ plugins; + + buildInputs = plugins ++ lib.optionals (lib.versionAtLeast version "23") [ + glibc + glibc.static + ]; patches = lib.optionals (lib.versionOlder version "23.0.5") [ (fetchpatch {