biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / tools / text / percollate / default.nix
blob1b9923acc39c8e58d43066876fe236cf77600d19
1 { lib, buildNpmPackage, fetchFromGitHub, chromium, makeWrapper }:
3 buildNpmPackage rec {
4   pname = "percollate";
5   version = "4.2.3";
7   src = fetchFromGitHub {
8     owner = "danburzo";
9     repo = pname;
10     rev = "v${version}";
11     hash = "sha256-JpdSEockALXtuuMMi5mgD5AXcayojyK0qMMWF+XFfZE=";
12   };
14   npmDepsHash = "sha256-qWu1YYi4ddpAUtbDxF4YA8OO6BLZ6gfeb4pw0n9BaZw=";
16   dontNpmBuild = true;
18   # Dev dependencies include an unnecessary Java dependency (epubchecker)
19   # https://github.com/danburzo/percollate/blob/v4.2.3/package.json#L40
20   npmInstallFlags = [ "--omit=dev" ];
22   nativeBuildInputs = [ makeWrapper ];
24   env = {
25     PUPPETEER_SKIP_CHROMIUM_DOWNLOAD = true;
26   };
28   postPatch = ''
29     substituteInPlace package.json --replace "git config core.hooksPath .git-hooks" ""
30   '';
32   postInstall = ''
33     wrapProgram $out/bin/percollate \
34       --set PUPPETEER_EXECUTABLE_PATH ${chromium}/bin/chromium
35   '';
37   meta = with lib; {
38     description = "Command-line tool to turn web pages into readable PDF, EPUB, HTML, or Markdown docs";
39     homepage = "https://github.com/danburzo/percollate";
40     license = licenses.mit;
41     maintainers = [ maintainers.austinbutler ];
42     mainProgram = "percollate";
43   };