From 8acdab9b3579e07d4aa3cc4f25afeb98740a2194 Mon Sep 17 00:00:00 2001 From: Bastian Asmussen Date: Tue, 3 Dec 2024 01:15:15 +0100 Subject: [PATCH] docker-init: init at v1.30.0 --- .../virtualization/docker/default.nix | 7 +-- pkgs/by-name/do/docker-init/package.nix | 47 +++++++++++++++++++ 2 files changed, 51 insertions(+), 3 deletions(-) create mode 100644 pkgs/by-name/do/docker-init/package.nix diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix index 36afd5bedcdf..821a1f8cff65 100644 --- a/pkgs/applications/virtualization/docker/default.nix +++ b/pkgs/applications/virtualization/docker/default.nix @@ -8,12 +8,12 @@ rec { , runcRev, runcHash , containerdRev, containerdHash , tiniRev, tiniHash - , buildxSupport ? true, composeSupport ? true, sbomSupport ? false + , buildxSupport ? true, composeSupport ? true, sbomSupport ? false, initSupport ? false # package dependencies , stdenv, fetchFromGitHub, fetchpatch, buildGoModule , makeWrapper, installShellFiles, pkg-config, glibc , go-md2man, go, containerd, runc, tini, libtool - , sqlite, iproute2, docker-buildx, docker-compose, docker-sbom + , sqlite, iproute2, docker-buildx, docker-compose, docker-sbom, docker-init , iptables, e2fsprogs, xz, util-linux, xfsprogs, gitMinimal , procps, rootlesskit, slirp4netns, fuse-overlayfs, nixosTests , clientOnly ? !stdenv.hostPlatform.isLinux, symlinkJoin @@ -179,7 +179,8 @@ rec { plugins = lib.optional buildxSupport docker-buildx ++ lib.optional composeSupport docker-compose - ++ lib.optional sbomSupport docker-sbom; + ++ lib.optional sbomSupport docker-sbom + ++ lib.optional initSupport docker-init; pluginsRef = symlinkJoin { name = "docker-plugins"; paths = plugins; }; in buildGoModule (lib.optionalAttrs (!clientOnly) { diff --git a/pkgs/by-name/do/docker-init/package.nix b/pkgs/by-name/do/docker-init/package.nix new file mode 100644 index 000000000000..1b3a3d1add58 --- /dev/null +++ b/pkgs/by-name/do/docker-init/package.nix @@ -0,0 +1,47 @@ +{ + stdenv, + fetchurl, + zstd, + lib, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "docker-init"; + version = "v1.3.0"; + tag = "157355"; + + src = fetchurl { + url = "https://desktop.docker.com/linux/main/amd64/${finalAttrs.tag}/docker-desktop-x86_64.pkg.tar.zst"; + hash = "sha256-ysZorPBmoUvTJFFKDbZgQxPamONJKcXezmMrpZSVpwY="; + }; + + nativeBuildInputs = [ + zstd + ]; + + unpackPhase = '' + runHook preUnpack + tar --zstd -xvf $src + runHook postUnpack + ''; + + installPhase = '' + runHook preInstall + mkdir -p $out/{bin,libexec/docker/cli-plugins} + + cp usr/lib/docker/cli-plugins/docker-init $out/libexec/docker/cli-plugins + ln -s $out/libexec/docker/cli-plugins/docker-init $out/bin/docker-init + runHook postInstall + ''; + + meta = { + description = "Creates Docker-related starter files for your project"; + homepage = "https://docs.docker.com/reference/cli/docker/init"; + downloadPage = "https://docs.docker.com/desktop/release-notes/#4320"; + mainProgram = "docker-init"; + license = lib.licenses.unfree; + platforms = [ "x86_64-linux" ]; + badPlatforms = lib.platforms.darwin; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + maintainers = with lib.maintainers; [ BastianAsmussen ]; + }; +})