From 5094cfef184f89ae82f8fe69ef32c573dd50cda0 Mon Sep 17 00:00:00 2001 From: d-brasher <175485311+d-brasher@users.noreply.github.com> Date: Fri, 19 Jul 2024 16:32:24 +0200 Subject: [PATCH] zunit: init at 0.8.2 --- pkgs/by-name/zu/zunit/package.nix | 95 +++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 pkgs/by-name/zu/zunit/package.nix diff --git a/pkgs/by-name/zu/zunit/package.nix b/pkgs/by-name/zu/zunit/package.nix new file mode 100644 index 000000000000..72e117a71ac0 --- /dev/null +++ b/pkgs/by-name/zu/zunit/package.nix @@ -0,0 +1,95 @@ +{ + lib, + stdenvNoCC, + fetchFromGitHub, + zsh, + revolver, + installShellFiles, + testers, + nix-update-script, +}: + +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "zunit"; + version = "0.8.2"; + + src = fetchFromGitHub { + owner = "zunit-zsh"; + repo = "zunit"; + rev = "v${finalAttrs.version}"; + hash = "sha256-GkBewb795piCaniZJZpGEZFhKaNs8p8swV5z34OegPY="; + deepClone = true; # Needed in order to get "tests" folder + }; + + strictDeps = true; + doCheck = true; + doInstallCheck = true; + + nativeBuildInputs = [ + zsh + installShellFiles + ]; + nativeCheckInputs = [ revolver ]; + buildInputs = [ + zsh + revolver + ]; + + postPatch = '' + for i in $(find src/ -type f -print); do + substituteInPlace $i \ + --replace-warn " revolver " " ${lib.getExe revolver} " + done + ''; + + buildPhase = '' + runHook preBuild + + zsh build.zsh + + runHook postBuild + ''; + + checkPhase = '' + runHook preCheck + + HOME="$TEMPDIR" zsh zunit + + runHook postCheck + ''; + + installPhase = '' + runHook preInstall + + install -Dm755 zunit $out/bin/zunit + + runHook postInstall + ''; + + postInstall = '' + installShellCompletion --cmd zunit --zsh zunit.zsh-completion + ''; + + installCheckPhase = '' + runHook preInstallCheck + + PATH=$PATH:$out/bin zunit --help + + runHook postInstallCheck + ''; + + passthru = { + tests.version = testers.testVersion { package = finalAttrs.finalPackage; }; + updateScript = nix-update-script { }; + }; + + meta = { + description = "Powerful testing framework for ZSH projects"; + homepage = "https://zunit.xyz/"; + downloadPage = "https://github.com/zunit-zsh/zunit/releases"; + license = lib.licenses.mit; + mainProgram = "zunit"; + inherit (zsh.meta) platforms; + maintainers = with lib.maintainers; [ d-brasher ]; + }; +})