nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildNpmPackage,
4 fetchFromGitHub,
5 elmPackages,
6}:
7
8buildNpmPackage (finalAttrs: {
9 pname = "elm-analyse";
10 version = "0.16.5";
11
12 src = fetchFromGitHub {
13 owner = "stil4m";
14 repo = "elm-analyse";
15 tag = finalAttrs.version;
16 hash = "sha256-GFHhHf+JOXGcm0CZEDGMuuTR3CXBdSkYDGRHZ63pE64=";
17 };
18
19 npmDepsHash = "sha256-B/PzGOaxdKSt82ax0izeadsMsz+I0v4wkye3zgNxMF8=";
20
21 npmFlags = [ "--ignore-scripts" ];
22
23 nativeBuildInputs = [
24 elmPackages.elm
25 ];
26
27 postConfigure =
28 (elmPackages.fetchElmDeps {
29 elmPackages = import ./elm-srcs.nix;
30 elmVersion = elmPackages.elm.version;
31 registryDat = ./registry.dat;
32 })
33 + ''
34 ln -sf ${lib.getExe elmPackages.elm} node_modules/.bin/elm
35 '';
36
37 buildPhase = ''
38 runHook preBuild
39
40 make
41
42 runHook postBuild
43 '';
44
45 postInstall = ''
46 rm -rf $out/lib/node_modules/elm-analyse/node_modules/.bin/
47 '';
48
49 passthru.updateScript = ./update.sh;
50
51 meta = {
52 description = "Analyse your Elm code, identify deficiencies and apply best practices";
53 homepage = "https://stil4m.github.io/elm-analyse/";
54 license = lib.licenses.mit;
55 maintainers = with lib.maintainers; [ pyrox0 ];
56 mainProgram = "elm-analyse";
57 };
58})