From dd67a7eacb9adbfc9a0912076949b100b37e9892 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Tue, 12 May 2020 03:58:44 +1000 Subject: buildah: add wrapper --- pkgs/development/tools/buildah/wrapper.nix | 52 ++++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 3 +- 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/tools/buildah/wrapper.nix diff --git a/pkgs/development/tools/buildah/wrapper.nix b/pkgs/development/tools/buildah/wrapper.nix new file mode 100644 index 0000000000000..bdc48bd6b1f7e --- /dev/null +++ b/pkgs/development/tools/buildah/wrapper.nix @@ -0,0 +1,52 @@ +{ buildah-unwrapped +, runCommand +, makeWrapper +, lib +, extraPackages ? [] +, buildah +, runc # Default container runtime +, crun # Container runtime (default with cgroups v2 for podman/buildah) +, conmon # Container runtime monitor +, slirp4netns # User-mode networking for unprivileged namespaces +, fuse-overlayfs # CoW for images, much faster than default vfs +, utillinux # nsenter +, cni-plugins # not added to path +, iptables +}: + +let + buildah = buildah-unwrapped; + + binPath = lib.makeBinPath ([ + runc + crun + conmon + slirp4netns + fuse-overlayfs + utillinux + iptables + ] ++ extraPackages); + +in runCommand buildah.name { + name = "${buildah.pname}-wrapper-${buildah.version}"; + inherit (buildah) pname version; + + meta = builtins.removeAttrs buildah.meta [ "outputsToInstall" ]; + + outputs = [ + "out" + "man" + ]; + + nativeBuildInputs = [ + makeWrapper + ]; + +} '' + ln -s ${buildah.man} $man + + mkdir -p $out/bin + ln -s ${buildah-unwrapped}/share $out/share + makeWrapper ${buildah-unwrapped}/bin/buildah $out/bin/buildah \ + --prefix PATH : ${binPath} +'' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b967a3c318031..5ed8ee4fc46ec 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1369,7 +1369,8 @@ in btfs = callPackage ../os-specific/linux/btfs { }; - buildah = callPackage ../development/tools/buildah { }; + buildah = callPackage ../development/tools/buildah/wrapper.nix { }; + buildah-unwrapped = callPackage ../development/tools/buildah { }; buildkit = callPackage ../development/tools/buildkit { }; -- cgit 1.4.1