diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/virtualization')
7 files changed, 96 insertions, 52 deletions
diff --git a/nixpkgs/pkgs/tools/virtualization/alpine-make-vm-image/default.nix b/nixpkgs/pkgs/tools/virtualization/alpine-make-vm-image/default.nix index 501298d82d94..95cfaea90e43 100644 --- a/nixpkgs/pkgs/tools/virtualization/alpine-make-vm-image/default.nix +++ b/nixpkgs/pkgs/tools/virtualization/alpine-make-vm-image/default.nix @@ -1,17 +1,17 @@ { stdenv, lib, fetchFromGitHub, makeWrapper -, apk-tools, coreutils, e2fsprogs, findutils, gnugrep, gnused, kmod, qemu-utils +, apk-tools, coreutils, dosfstools, e2fsprogs, findutils, gnugrep, gnused, kmod, qemu-utils , rsync, util-linux }: stdenv.mkDerivation rec { pname = "alpine-make-vm-image"; - version = "0.11.1"; + version = "0.12.0"; src = fetchFromGitHub { owner = "alpinelinux"; repo = "alpine-make-vm-image"; rev = "v${version}"; - sha256 = "sha256-nFgzi8jotwsP5ZG13DrBo+FMNmWNSDiKIbVF6hVtYRU="; + sha256 = "sha256-IV/MC6dnvWMs5akM6Zw3TBzWPpsLL9FllK0sOV9MRGY="; }; nativeBuildInputs = [ makeWrapper ]; @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram $out/bin/alpine-make-vm-image --set PATH ${lib.makeBinPath [ - apk-tools coreutils e2fsprogs findutils gnugrep gnused kmod qemu-utils + apk-tools coreutils dosfstools e2fsprogs findutils gnugrep gnused kmod qemu-utils rsync util-linux ]} ''; diff --git a/nixpkgs/pkgs/tools/virtualization/awsebcli/default.nix b/nixpkgs/pkgs/tools/virtualization/awsebcli/default.nix index 64d5022c2de8..581b7ee70ec2 100644 --- a/nixpkgs/pkgs/tools/virtualization/awsebcli/default.nix +++ b/nixpkgs/pkgs/tools/virtualization/awsebcli/default.nix @@ -1,9 +1,5 @@ -{ lib, python3, fetchFromGitHub, glibcLocales, docker-compose_1, git }: +{ lib, python3, fetchFromGitHub, glibcLocales, git }: let - docker_compose = changeVersion (with localPython.pkgs; docker-compose_1.override { - inherit colorama pyyaml six dockerpty docker jsonschema requests websocket-client paramiko; - }).overridePythonAttrs "1.25.5" "sha256-ei622Bc/30COUF5vfUl6wLd3OIcZVCvp5JoO/Ud6UMY="; - changeVersion = overrideFunc: version: hash: overrideFunc (oldAttrs: rec { inherit version; src = oldAttrs.src.override { @@ -11,26 +7,23 @@ let }; }); - localPython = python3.override - { - self = localPython; - packageOverrides = self: super: { - cement = changeVersion super.cement.overridePythonAttrs "2.8.2" "sha256-h2XtBSwGHXTk0Bia3cM9Jo3lRMohmyWdeXdB9yXkItI="; - wcwidth = changeVersion super.wcwidth.overridePythonAttrs "0.1.9" "sha256-7nOGKGKhVr93/5KwkDT8SCXdOvnPgbxbNgZo1CXzxfE="; - semantic-version = changeVersion super.semantic-version.overridePythonAttrs "2.8.5" "sha256-0sst4FWHYpNGebmhBOguynr0SMn0l00fPuzP9lHfilQ="; - }; + localPython = python3.override { + self = localPython; + packageOverrides = self: super: { + cement = changeVersion super.cement.overridePythonAttrs "2.8.2" "sha256-h2XtBSwGHXTk0Bia3cM9Jo3lRMohmyWdeXdB9yXkItI="; }; + }; in with localPython.pkgs; buildPythonApplication rec { pname = "awsebcli"; - version = "3.20.9"; + version = "3.20.10"; format = "setuptools"; src = fetchFromGitHub { owner = "aws"; repo = "aws-elastic-beanstalk-cli"; rev = "refs/tags/${version}"; - hash = "sha256-tnBDEeR+SCHb9UT3pTO7ISm4TVICvVfrV5cfz/60YQY="; + hash = "sha256-4JZx0iTMyrPHbuS3zlhpiWnenAQO5eSBJbPHUizLhYo="; }; postPatch = '' @@ -60,7 +53,6 @@ with localPython.pkgs; buildPythonApplication rec { tabulate termcolor websocket-client - docker_compose ]; pythonRelaxDeps = [ diff --git a/nixpkgs/pkgs/tools/virtualization/google-guest-agent/default.nix b/nixpkgs/pkgs/tools/virtualization/google-guest-agent/default.nix index bf53f43a5731..423f43a02de0 100644 --- a/nixpkgs/pkgs/tools/virtualization/google-guest-agent/default.nix +++ b/nixpkgs/pkgs/tools/virtualization/google-guest-agent/default.nix @@ -1,19 +1,26 @@ -{ buildGoModule, fetchFromGitHub, lib, coreutils, makeWrapper -, google-guest-configs, google-guest-oslogin, iproute2, procps +{ lib +, buildGoModule +, fetchFromGitHub +, coreutils +, makeWrapper +, google-guest-configs +, google-guest-oslogin +, iproute2 +, procps }: buildGoModule rec { pname = "guest-agent"; - version = "20230726.00"; + version = "20230821.00"; src = fetchFromGitHub { owner = "GoogleCloudPlatform"; repo = pname; - rev = version; - sha256 = "sha256-p+gjiaUaBBGhCVkbXrubfV/xZWvanC8ktlfIfjyUQSA="; + rev = "refs/tags/${version}"; + hash = "sha256-DP15KDnD09edBxOQDwP0cjVIFxjMzE1hu1Sbu6Faj9Y="; }; - vendorHash = "sha256-Xw/5yHW9DRtZFC6cECLI0RncgzSGB5/Y0yjW7hz247s="; + vendorHash = "sha256-PGvyDjhLwIKhR6NmwzbzjfkBK+FqsziAdsybQmCbtCc="; patches = [ ./disable-etc-mutation.patch ]; @@ -27,7 +34,12 @@ buildGoModule rec { ''; # We don't add `shadow` here; it's added to PATH if `mutableUsers` is enabled. - binPath = lib.makeBinPath [ google-guest-configs google-guest-oslogin iproute2 procps ]; + binPath = lib.makeBinPath [ + google-guest-configs + google-guest-oslogin + iproute2 + procps + ]; # Skip tests which require networking. preCheck = '' @@ -44,10 +56,11 @@ buildGoModule rec { ''; meta = with lib; { - homepage = "https://github.com/GoogleCloudPlatform/guest-agent"; description = "Guest Agent for Google Compute Engine"; + homepage = "https://github.com/GoogleCloudPlatform/guest-agent"; + changelog = "https://github.com/GoogleCloudPlatform/guest-agent/releases/tag/${version}"; license = licenses.asl20; - platforms = platforms.linux; maintainers = with maintainers; [ abbradar ]; + platforms = platforms.linux; }; } diff --git a/nixpkgs/pkgs/tools/virtualization/govc/default.nix b/nixpkgs/pkgs/tools/virtualization/govc/default.nix index 20bb8a66089f..43f8cfd2143c 100644 --- a/nixpkgs/pkgs/tools/virtualization/govc/default.nix +++ b/nixpkgs/pkgs/tools/virtualization/govc/default.nix @@ -2,7 +2,7 @@ buildGoModule rec { pname = "govc"; - version = "0.30.7"; + version = "0.32.0"; subPackages = [ "govc" ]; @@ -10,10 +10,10 @@ buildGoModule rec { rev = "v${version}"; owner = "vmware"; repo = "govmomi"; - sha256 = "sha256-8cBS92O5AEeXQyLwOTAWbjvj1oPJiHLBooRgl5pt0Mk="; + sha256 = "sha256-GnMWgN6ZxxGU/tRAPIk2cvpsBiut97iPcU9920wepxM="; }; - vendorHash = "sha256-iLmQdjN0EXJuwC3NT5FKdHhJ4KvNAvnsBGAO9bypdqg="; + vendorHash = "sha256-mf9ZYZEmqB/47JLHn8N3VDr57SXbFLubXnwfXj682FA="; ldflags = [ "-s" diff --git a/nixpkgs/pkgs/tools/virtualization/jumppad/default.nix b/nixpkgs/pkgs/tools/virtualization/jumppad/default.nix index 45a3e30603f6..a993fe9484d2 100644 --- a/nixpkgs/pkgs/tools/virtualization/jumppad/default.nix +++ b/nixpkgs/pkgs/tools/virtualization/jumppad/default.nix @@ -2,15 +2,15 @@ buildGoModule rec { pname = "jumppad"; - version = "0.5.38"; + version = "0.5.51"; src = fetchFromGitHub { owner = "jumppad-labs"; repo = pname; rev = "v${version}"; - hash = "sha256-s779QQ1fzVKFIMoj7X3MLLo1Z3NBSGPoKoDi3xM0fr8="; + hash = "sha256-Az/rNkGwwrYZfay+KjINjIT2PNsoGDNCwZnXZTeKqM4="; }; - vendorHash = "sha256-37j7taSmWhs9NQbv41aljR07HCTRrLd3ddiktV/XKBs="; + vendorHash = "sha256-onUs7ZbnzJGbs+Q+1jvqUp9y9ecOxhtcdx/fkxZntmc="; ldflags = [ "-s" "-w" "-X main.version=${version}" diff --git a/nixpkgs/pkgs/tools/virtualization/kubevirt/default.nix b/nixpkgs/pkgs/tools/virtualization/kubevirt/default.nix index 50a240cce77c..733c2ef62323 100644 --- a/nixpkgs/pkgs/tools/virtualization/kubevirt/default.nix +++ b/nixpkgs/pkgs/tools/virtualization/kubevirt/default.nix @@ -8,13 +8,13 @@ buildGoModule rec { pname = "kubevirt"; - version = "1.0.0"; + version = "1.0.1"; src = fetchFromGitHub { owner = "kubevirt"; repo = "kubevirt"; rev = "v${version}"; - sha256 = "sha256-1Idfz2cMiIivroEkdRAA1x4v0BVACLoNCKSBS5o+wr4="; + sha256 = "sha256-L+spWtYuXq0bPYmE1eGnzTfCAh8Q3j5DUS+k6dNGdOU="; }; vendorHash = null; diff --git a/nixpkgs/pkgs/tools/virtualization/mkosi/default.nix b/nixpkgs/pkgs/tools/virtualization/mkosi/default.nix index 8fc5376e4c2c..1c99d63741a7 100644 --- a/nixpkgs/pkgs/tools/virtualization/mkosi/default.nix +++ b/nixpkgs/pkgs/tools/virtualization/mkosi/default.nix @@ -1,44 +1,76 @@ { lib , fetchFromGitHub +, fetchpatch +, stdenv +, python3 +, bubblewrap +, systemd + + # Python packages , setuptools , setuptools-scm , wheel , buildPythonApplication , pytestCheckHook -, bubblewrap -, systemd -, stdenv +, pefile + + # Optional dependencies +, withQemu ? false +, qemu +, OVMF }: let # For systemd features used by mkosi, see # https://github.com/systemd/mkosi/blob/19bb5e274d9a9c23891905c4bcbb8f68955a701d/action.yaml#L64-L72 - systemdForMkosi = systemd.override { - # Will be added in #243242 - # withRepart = true; - # withBootloader = true; + systemdForMkosi = (systemd.overrideAttrs (oldAttrs: { + patches = oldAttrs.patches ++ [ + # Enable setting a deterministic verity seed for systemd-repart. Remove when upgrading to systemd 255. + (fetchpatch { + url = "https://github.com/systemd/systemd/commit/81e04781106e3db24e9cf63c1d5fdd8215dc3f42.patch"; + hash = "sha256-KO3poIsvdeepPmXWQXNaJJCPpmBb4sVmO+ur4om9f5k="; + }) + # Propagate SOURCE_DATE_EPOCH to mcopy. Remove when upgrading to systemd 255. + (fetchpatch { + url = "https://github.com/systemd/systemd/commit/4947de275a5553399854cc748f4f13e4ae2ba069.patch"; + hash = "sha256-YIZZyc3f8pQO9fMAxiNhDdV8TtL4pXoh+hwHBzRWtfo="; + }) + ]; + })).override { + withRepart = true; + withBootloader = true; + withSysusers = true; + withFirstboot = true; withEfi = true; withUkify = true; }; + + python3pefile = python3.withPackages (ps: with ps; [ + pefile + ]); in buildPythonApplication rec { pname = "mkosi"; - version = "15.2-pre"; # 15.1 is the latest release, but we require a newer commit + version = "18"; format = "pyproject"; src = fetchFromGitHub { owner = "systemd"; repo = "mkosi"; - # Fix from the commit is needed to run on NixOS, - # see https://github.com/systemd/mkosi/issues/1792 - rev = "ca9673cbcbd9f293e5566cec4a1ba14bbcd075b8"; - hash = "sha256-y5gG/g33HBpH1pTXfjHae25bc5p/BvlCm9QxOIYtcA8="; + rev = "v${version}"; + hash = "sha256-bnd2P6lq1XqKed3m4hDYrR9IcdrPaJxNBL2Z6jCruV4="; }; # Fix ctypes finding library # https://github.com/NixOS/nixpkgs/issues/7307 - patchPhase = lib.optionalString stdenv.isLinux '' - substituteInPlace mkosi/run.py --replace \ - 'ctypes.util.find_library("c")' "'${stdenv.cc.libc}/lib/libc.so.6'" + postPatch = lib.optionalString stdenv.isLinux '' + substituteInPlace mkosi/run.py \ + --replace 'ctypes.util.find_library("c")' "'${stdenv.cc.libc}/lib/libc.so.6'" + substituteInPlace mkosi/__init__.py \ + --replace '/usr/lib/systemd/ukify' "${systemdForMkosi}/lib/systemd/ukify" + '' + lib.optionalString withQemu '' + substituteInPlace mkosi/qemu.py \ + --replace '/usr/share/ovmf/x64/OVMF_VARS.fd' "${OVMF.variables}" \ + --replace '/usr/share/ovmf/x64/OVMF_CODE.fd' "${OVMF.firmware}" ''; nativeBuildInputs = [ @@ -47,9 +79,15 @@ buildPythonApplication rec { wheel ]; + makeWrapperArgs = [ + "--set MKOSI_INTERPRETER ${python3pefile}/bin/python3" + ]; + propagatedBuildInputs = [ systemdForMkosi bubblewrap + ] ++ lib.optional withQemu [ + qemu ]; postInstall = '' @@ -64,6 +102,7 @@ buildPythonApplication rec { meta = with lib; { description = "Build legacy-free OS images"; homepage = "https://github.com/systemd/mkosi"; + changelog = "https://github.com/systemd/mkosi/releases/tag/v${version}"; license = licenses.lgpl21Only; mainProgram = "mkosi"; maintainers = with maintainers; [ malt3 katexochen ]; |