Unverified Commit cf02fd7e authored by h7x4's avatar h7x4 Committed by GitHub
Browse files

Merge pull request #321521 from Panky-codes/add-vmctl

vmctl: init at v0.99-unstable-2024-05-14
parents e28d6096 afd9d601
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -15230,6 +15230,12 @@
    githubId = 79252025;
    name = "Nicolas Benes";
  };
  panky = {
    email = "dev@pankajraghav.com";
    github = "Panky-codes";
    githubId = 33182938;
    name = "Pankaj";
  };
  paperdigits = {
    email = "mica@silentumbrella.com";
    github = "paperdigits";
+70 −0
Original line number Diff line number Diff line
{
  lib,
  stdenvNoCC,
  fetchFromGitHub,
  openssh,
  socat,
  gawk,
  cloud-utils,
  cdrtools,
  qemu,
  qemu-utils,
  coreutils,
  getopt,
  makeWrapper,
}:

stdenvNoCC.mkDerivation {
  pname = "vmctl";
  version = "v0.99-unstable-2024-05-14";

  src = fetchFromGitHub {
    owner = "SamsungDS";
    repo = "vmctl";
    rev = "5b6b7084b8cba06b474c0e020df965237f2c832c";
    hash = "sha256-yDgaY2RJXBjWkMSQb4JaJzMGLFzowfOGixSRzzv2iIk=";
  };

  dontBuild = true;

  postPatch = ''
    substituteInPlace vmctl \
      --replace 'BASEDIR="$(dirname "$(readlink -f "''${BASH_SOURCE[0]}")")"' 'BASEDIR="${placeholder "out"}"'
  '';

  nativeBuildInputs = [ makeWrapper ];

  installPhase = ''
    runHook preInstall

    install -Dm555 vmctl -t "$out/bin"
    wrapProgram "$out/bin/vmctl" \
      --set PATH "${
        lib.makeBinPath [
          openssh
          socat
          gawk
          cloud-utils
          cdrtools
          qemu
          qemu-utils
          coreutils
          getopt
        ]
      }"
    cp -r {cmd,common,contrib,lib} $out

    runHook postInstall
  '';

  meta = {
    description = "Command line tool focused on NVMe testing in QEMU";
    homepage = "https://github.com/SamsungDS/vmctl";
    license = lib.licenses.gpl3;
    maintainers = with lib.maintainers; [ panky ];
    platforms = [
      "x86_64-linux"
      "aarch64-linux"
    ];
  };
}