summary refs log tree commit diff
diff options
context:
space:
mode:
authorzowoq <59103226+zowoq@users.noreply.github.com>2021-07-16 13:08:20 +1000
committerzowoq <59103226+zowoq@users.noreply.github.com>2021-07-17 20:54:50 +1000
commitf4902536aa58ef95857a2c55fb650105bb87b442 (patch)
treec0bd26eeefa7f2442fbe17a0deac2982a7a50db6
parentd41882c7b984520b80956a55987a30badae17050 (diff)
downloadnixpkgs-f4902536aa58ef95857a2c55fb650105bb87b442.tar
nixpkgs-f4902536aa58ef95857a2c55fb650105bb87b442.tar.gz
nixpkgs-f4902536aa58ef95857a2c55fb650105bb87b442.tar.bz2
nixpkgs-f4902536aa58ef95857a2c55fb650105bb87b442.tar.lz
nixpkgs-f4902536aa58ef95857a2c55fb650105bb87b442.tar.xz
nixpkgs-f4902536aa58ef95857a2c55fb650105bb87b442.tar.zst
nixpkgs-f4902536aa58ef95857a2c55fb650105bb87b442.zip
podman: add darwin wrapper with qemu for podman machine
- requires xz to unpack vm image
- remove linux install conditional to simplify wrapper
-rw-r--r--pkgs/applications/virtualization/podman/default.nix2
-rw-r--r--pkgs/applications/virtualization/podman/wrapper.nix8
-rw-r--r--pkgs/top-level/all-packages.nix5
3 files changed, 8 insertions, 7 deletions
diff --git a/pkgs/applications/virtualization/podman/default.nix b/pkgs/applications/virtualization/podman/default.nix
index 5ab696ed1d5..227439713ed 100644
--- a/pkgs/applications/virtualization/podman/default.nix
+++ b/pkgs/applications/virtualization/podman/default.nix
@@ -64,11 +64,9 @@ buildGoModule rec {
     installShellCompletion --fish completions/fish/*
     installShellCompletion --zsh completions/zsh/*
     MANDIR=$man/share/man make install.man-nobuild
-  '' + lib.optionalString stdenv.isLinux ''
     install -Dm644 cni/87-podman-bridge.conflist -t $out/etc/cni/net.d
     install -Dm644 contrib/tmpfile/podman.conf -t $out/lib/tmpfiles.d
     install -Dm644 contrib/systemd/system/podman.{socket,service} -t $out/lib/systemd/system
-  '' + ''
     runHook postInstall
   '';
 
diff --git a/pkgs/applications/virtualization/podman/wrapper.nix b/pkgs/applications/virtualization/podman/wrapper.nix
index c9ec18593df..820e8ad18bc 100644
--- a/pkgs/applications/virtualization/podman/wrapper.nix
+++ b/pkgs/applications/virtualization/podman/wrapper.nix
@@ -2,6 +2,7 @@
 , runCommand
 , makeWrapper
 , lib
+, stdenv
 , extraPackages ? []
 , podman # Docker compat
 , runc # Default container runtime
@@ -13,12 +14,14 @@
 , cni-plugins # not added to path
 , iptables
 , iproute2
+, qemu
+, xz
 }:
 
 let
   podman = podman-unwrapped;
 
-  binPath = lib.makeBinPath ([
+  binPath = lib.makeBinPath ([ ] ++ lib.optionals stdenv.isLinux [
     runc
     crun
     conmon
@@ -27,6 +30,9 @@ let
     util-linux
     iptables
     iproute2
+  ] ++ lib.optionals stdenv.isDarwin [
+    qemu
+    xz
   ] ++ extraPackages);
 
 in runCommand podman.name {
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 999eac9d386..cf4670295d2 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -8056,10 +8056,7 @@ in
 
   podiff = callPackage ../tools/text/podiff { };
 
-  podman = if stdenv.isDarwin then
-    callPackage ../applications/virtualization/podman { }
-  else
-    callPackage ../applications/virtualization/podman/wrapper.nix { };
+  podman = callPackage ../applications/virtualization/podman/wrapper.nix { };
   podman-unwrapped = callPackage ../applications/virtualization/podman { };
 
   podman-compose = python3Packages.callPackage ../applications/virtualization/podman-compose {};