evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / ma / markdownlint-cli2 / package.nix
blob4be08fd7ba5420296c6e25d988c031e88d870fc4
2   lib,
3   stdenvNoCC,
4   fetchurl,
5   makeWrapper,
6   markdownlint-cli2,
7   nodejs,
8   runCommand,
9   zstd,
12 stdenvNoCC.mkDerivation (finalAttrs: {
13   pname = "markdownlint-cli2";
14   version = "0.14.0";
16   # upstream is not interested in including package-lock.json in the source
17   # https://github.com/DavidAnson/markdownlint-cli2/issues/198#issuecomment-1690529976
18   # see also https://github.com/DavidAnson/markdownlint-cli2/issues/186
19   # so use the tarball from the archlinux mirror
20   src = fetchurl {
21     url = "https://us.mirrors.cicku.me/archlinux/extra/os/x86_64/markdownlint-cli2-${finalAttrs.version}-1-any.pkg.tar.zst";
22     hash = "sha256-yzKIH1RxFXlUoj/83lVEBb3Y4asuh/frPxmX5EV98f0=";
23   };
25   nativeBuildInputs = [
26     makeWrapper
27     zstd
28   ];
30   dontBuild = true;
32   installPhase = ''
33     runHook preInstall
35     mkdir -p $out/bin
36     cp -r lib share $out
37     makeWrapper "${lib.getExe nodejs}" "$out/bin/markdownlint-cli2" \
38       --add-flags "$out/lib/node_modules/markdownlint-cli2/markdownlint-cli2.js"
40     runHook postInstall
41   '';
43   passthru.tests = {
44     smoke = runCommand "${finalAttrs.pname}-test" { nativeBuildInputs = [ markdownlint-cli2 ]; } ''
45       markdownlint-cli2 ${markdownlint-cli2}/share/doc/markdownlint-cli2/README.md > $out
46     '';
47   };
49   meta = {
50     changelog = "https://github.com/DavidAnson/markdownlint-cli2/blob/v${finalAttrs.version}/CHANGELOG.md";
51     description = "Fast, flexible, configuration-based command-line interface for linting Markdown/CommonMark files with the markdownlint library";
52     homepage = "https://github.com/DavidAnson/markdownlint-cli2";
53     license = lib.licenses.mit;
54     maintainers = with lib.maintainers; [ natsukium ];
55     mainProgram = "markdownlint-cli2";
56   };