summary refs log tree commit diff
path: root/pkgs/development/tools/buildah
diff options
context:
space:
mode:
authorzowoq <59103226+zowoq@users.noreply.github.com>2020-05-12 03:58:44 +1000
committerProfpatsch <mail@profpatsch.de>2020-05-25 12:27:49 +0200
commitdd67a7eacb9adbfc9a0912076949b100b37e9892 (patch)
treeac198d59e29285fa4107e8ae767171e4b955747e /pkgs/development/tools/buildah
parent2689dfaa0817b2412789cedd676c22e776734c9d (diff)
downloadnixpkgs-dd67a7eacb9adbfc9a0912076949b100b37e9892.tar
nixpkgs-dd67a7eacb9adbfc9a0912076949b100b37e9892.tar.gz
nixpkgs-dd67a7eacb9adbfc9a0912076949b100b37e9892.tar.bz2
nixpkgs-dd67a7eacb9adbfc9a0912076949b100b37e9892.tar.lz
nixpkgs-dd67a7eacb9adbfc9a0912076949b100b37e9892.tar.xz
nixpkgs-dd67a7eacb9adbfc9a0912076949b100b37e9892.tar.zst
nixpkgs-dd67a7eacb9adbfc9a0912076949b100b37e9892.zip
buildah: add wrapper
Diffstat (limited to 'pkgs/development/tools/buildah')
-rw-r--r--pkgs/development/tools/buildah/wrapper.nix52
1 files changed, 52 insertions, 0 deletions
diff --git a/pkgs/development/tools/buildah/wrapper.nix b/pkgs/development/tools/buildah/wrapper.nix
new file mode 100644
index 00000000000..bdc48bd6b1f
--- /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}
+''