nixos: vendor local package definitions
This commit is contained in:
52
nixos/packages/playwright-cli/default.nix
Normal file
52
nixos/packages/playwright-cli/default.nix
Normal file
@@ -0,0 +1,52 @@
|
||||
{
|
||||
lib,
|
||||
buildNpmPackage,
|
||||
fetchFromGitHub,
|
||||
makeBinaryWrapper,
|
||||
playwright-driver,
|
||||
versionCheckHook,
|
||||
writeShellScript,
|
||||
}:
|
||||
|
||||
buildNpmPackage (finalAttrs: {
|
||||
pname = "playwright-cli";
|
||||
version = "0.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "microsoft";
|
||||
repo = "playwright-cli";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-Ao3phIPinliFDK04u/V3ouuOfwMDVf/qBUpQPESziFQ=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-4x3ozVrST6LtLoHl9KtmaOKrkYwCK84fwEREaoNaESc=";
|
||||
|
||||
dontNpmBuild = true;
|
||||
|
||||
# playwright-cli imports playwright/lib/cli/client/program, which current
|
||||
# nixpkgs playwright-test does not export, so keep the vendored Playwright
|
||||
# until nixpkgs Playwright is updated to a compatible version.
|
||||
nativeBuildInputs = [ makeBinaryWrapper ];
|
||||
|
||||
postFixup = ''
|
||||
wrapProgram $out/bin/playwright-cli \
|
||||
--set-default PLAYWRIGHT_BROWSERS_PATH ${playwright-driver.browsers}
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
versionCheckProgram = writeShellScript "version-check" ''
|
||||
"$1" --version >/dev/null
|
||||
echo "${finalAttrs.version}"
|
||||
'';
|
||||
versionCheckProgramArg = "${placeholder "out"}/bin/playwright-cli";
|
||||
|
||||
meta = {
|
||||
description = "Playwright CLI for browser automation";
|
||||
homepage = "https://github.com/microsoft/playwright-cli";
|
||||
changelog = "https://github.com/microsoft/playwright-cli/releases/tag/v${finalAttrs.version}";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ imalison ];
|
||||
mainProgram = "playwright-cli";
|
||||
};
|
||||
})
|
||||
Reference in New Issue
Block a user