diff options
Diffstat (limited to 'pkgs/by-name/si/single-file-cli/package.nix')
-rw-r--r-- | pkgs/by-name/si/single-file-cli/package.nix | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/pkgs/by-name/si/single-file-cli/package.nix b/pkgs/by-name/si/single-file-cli/package.nix new file mode 100644 index 0000000000000..13da0e896d15f --- /dev/null +++ b/pkgs/by-name/si/single-file-cli/package.nix @@ -0,0 +1,56 @@ +{ + lib, + stdenv, + buildNpmPackage, + fetchFromGitHub, + chromium, + chromedriver, + python3, +}: +buildNpmPackage { + pname = "single-file-cli"; + version = "1.1.49"; + + src = fetchFromGitHub { + owner = "gildas-lormeau"; + repo = "single-file-cli"; + rev = "af0f6f119edd8bf82bce3860fa55cfad869ac874"; + hash = "sha256-5pozqrIIanoLF4eugLxPRsUaoUYJurliovFFBYO/mC4="; + }; + npmDepsHash = "sha256-wiBpWw9nb/pWVGIc4Vl/IxxR5ic0LzLMMr3WxRNvYdM="; + + nativeCheckInputs = [chromium chromedriver]; + doCheck = stdenv.isLinux; + + postBuild = '' + patchShebangs ./single-file + ''; + + checkPhase = '' + runHook preCheck + + ${python3}/bin/python -m http.server --bind 127.0.0.1 & + pid=$! + + ./single-file \ + --browser-headless \ + --web-driver-executable-path=chromedriver \ + --back-end=webdriver-chromium \ + http://127.0.0.1:8000 + + grep -F 'Page saved with SingleFile' 'Directory listing for'*.html + + kill $pid + wait + + runHook postCheck + ''; + + meta = { + description = "CLI tool for saving a faithful copy of a complete web page in a single HTML file"; + homepage = "https://github.com/gildas-lormeau/single-file-cli"; + license = lib.licenses.agpl3Only; + maintainers = with lib.maintainers; [n8henrie]; + mainProgram = "single-file"; + }; +} |