git.iko.soy/typeable/nixpkgs
on master help sign in
elvis: init at 1.0.1
commit53072cc0666112eebe9bc5d18dd46abb12f0dcbe authorDavid <dlesl@users.noreply.github.com> dateSun 4 Jul 2021, 19:41 (5 years ago) parent79b7bd3
4 files changed+216−1
pkgs/development/beam-modules/default.nix+1 pkgs/development/beam-modules/elvis-erlang/default.nix+46 pkgs/development/beam-modules/elvis-erlang/rebar-deps.nix+168 pkgs/top-level/all-packages.nix+1−1
pkgs/development/beam-modules/default.nix+1
@@ -39,6 +39,7 @@ let
3939
4040 erlang-ls = callPackage ./erlang-ls { };
4141 erlfmt = callPackage ./erlfmt { };
42+ elvis-erlang = callPackage ./elvis-erlang { };
4243
4344 # BEAM-based languages.
4445 elixir = elixir_1_12;
pkgs/development/beam-modules/elvis-erlang/default.nixnew file+46
@@ -0,0 +1,46 @@
1+{ fetchFromGitHub, fetchgit, fetchHex, rebar3WithPlugins, rebar3-nix, rebar3Relx
2+, buildRebar3, writeScript, lib }:
3+
4+let
5+ owner = "inaka";
6+ repo = "elvis";
7+in rebar3Relx rec {
8+ releaseType = "escript";
9+ # The package name "elvis" is already taken
10+ pname = "elvis-erlang";
11+ version = "1.0.1";
12+ src = fetchFromGitHub {
13+ inherit owner repo;
14+ sha256 = "139mgd4cwc0vazxfnssyym61jd9g45wn1nc53mjfzx5dkrrn4dc5";
15+ rev = version;
16+ };
17+ beamDeps = builtins.attrValues (import ./rebar-deps.nix {
18+ inherit fetchHex fetchgit fetchFromGitHub;
19+ builder = buildRebar3;
20+ });
21+ passthru.updateScript = writeScript "update.sh" ''
22+ #!/usr/bin/env nix-shell
23+ #!nix-shell -i bash -p bash common-updater-scripts git nix-prefetch-git gnutar gzip "rebar3WithPlugins {globalPlugins = [beamPackages.rebar3-nix];}"
24+
25+ set -euo pipefail
26+
27+ latest=$(list-git-tags https://github.com/${owner}/${repo}.git | sort -V | tail -1)
28+ if [ "$latest" != "${version}" ]; then
29+ nixpkgs="$(git rev-parse --show-toplevel)"
30+ nix_path="$nixpkgs/pkgs/development/beam-modules/elvis-erlang"
31+ update-source-version elvis-erlang "$latest" --version-key=version --print-changes --file="$nix_path/default.nix"
32+ tmpdir=$(mktemp -d)
33+ cp -R $(nix-build $nixpkgs --no-out-link -A elvis-erlang.src)/* "$tmpdir"
34+ (cd "$tmpdir" && HOME=. rebar3 nix lock -o "$nix_path/rebar-deps.nix")
35+ else
36+ echo "${repo} is already up-to-date"
37+ fi
38+ '';
39+ meta = with lib; {
40+ homepage = "https://github.com/inaka/elvis";
41+ description = "Erlang Style Reviewer";
42+ platforms = platforms.unix;
43+ license = licenses.asl20;
44+ maintainers = with lib.maintainers; [ dlesl ];
45+ };
46+}
pkgs/development/beam-modules/elvis-erlang/rebar-deps.nixnew file+168
@@ -0,0 +1,168 @@
1+# Generated by rebar3_nix
2+let fetchOnly = { src, ... }: src;
3+in { builder ? fetchOnly, fetchHex, fetchgit, fetchFromGitHub, overrides ? (x: y: { }) }:
4+let
5+ self = packages // (overrides self packages);
6+ packages = with self; {
7+ unicode_util_compat = builder {
8+ name = "unicode_util_compat";
9+ version = "0.7.0";
10+ src = fetchHex {
11+ pkg = "unicode_util_compat";
12+ version = "0.7.0";
13+ sha256 = "sha256-Je7m1n32GWDPanlCOVZlmbCeF+Zo03ACR7xJhjgVJSE=";
14+ };
15+ beamDeps = [ ];
16+ };
17+ ssl_verify_fun = builder {
18+ name = "ssl_verify_fun";
19+ version = "1.1.6";
20+ src = fetchHex {
21+ pkg = "ssl_verify_fun";
22+ version = "1.1.6";
23+ sha256 = "sha256-vbDSRx9FPIj/OQjnaG+G+b4yfQZcwewW+kVAGX6gRoA=";
24+ };
25+ beamDeps = [ ];
26+ };
27+ parse_trans = builder {
28+ name = "parse_trans";
29+ version = "3.4.0";
30+ src = fetchHex {
31+ pkg = "parse_trans";
32+ version = "3.4.0";
33+ sha256 = "sha256-+Z42iDC+pEVSIk434ElDpUh08IuFkEhd6NE4MrY6LcM=";
34+ };
35+ beamDeps = [ ];
36+ };
37+ mimerl = builder {
38+ name = "mimerl";
39+ version = "1.2.0";
40+ src = fetchHex {
41+ pkg = "mimerl";
42+ version = "1.2.0";
43+ sha256 = "sha256-8nhYVlCqWBmGJkY46/aY+LsZ3yl/Zq2RsYkQ38bhkyM=";
44+ };
45+ beamDeps = [ ];
46+ };
47+ metrics = builder {
48+ name = "metrics";
49+ version = "1.0.1";
50+ src = fetchHex {
51+ pkg = "metrics";
52+ version = "1.0.1";
53+ sha256 = "sha256-abCa3dxPdKQHFq5U0UD5O+sPuJeNhjbq3tDDG28JnxY=";
54+ };
55+ beamDeps = [ ];
56+ };
57+ idna = builder {
58+ name = "idna";
59+ version = "6.1.1";
60+ src = fetchHex {
61+ pkg = "idna";
62+ version = "6.1.1";
63+ sha256 = "sha256-kjdut4lEEu0ZrEdeSob3tBPBufu1vRbczVeTQVeUTOo=";
64+ };
65+ beamDeps = [ unicode_util_compat ];
66+ };
67+ certifi = builder {
68+ name = "certifi";
69+ version = "2.6.1";
70+ src = fetchHex {
71+ pkg = "certifi";
72+ version = "2.6.1";
73+ sha256 = "sha256-UkyXtJkbOEndXBemMSI4licsawr0RneLpGdaHf9Tu34=";
74+ };
75+ beamDeps = [ ];
76+ };
77+ zipper = builder {
78+ name = "zipper";
79+ version = "1.0.1";
80+ src = fetchHex {
81+ pkg = "zipper";
82+ version = "1.0.1";
83+ sha256 = "sha256-ah/T4fDMHR31ZCyaDOIXgDZBGwpclkKFHR2idr1zfC0=";
84+ };
85+ beamDeps = [ ];
86+ };
87+ lager = builder {
88+ name = "lager";
89+ version = "3.9.1";
90+ src = fetchHex {
91+ pkg = "lager";
92+ version = "3.9.1";
93+ sha256 = "sha256-P1m6daBKmeXxi/kcifRtzlNvg8bLQV/ibm51pivvN9w=";
94+ };
95+ beamDeps = [ goldrush ];
96+ };
97+ katana_code = builder {
98+ name = "katana_code";
99+ version = "1.1.2";
100+ src = fetchHex {
101+ pkg = "katana_code";
102+ version = "1.1.2";
103+ sha256 = "sha256-5+YWKkToJqA/aLUDt9kpgbiUv4NMHvDmR3g/fWaIAhw=";
104+ };
105+ beamDeps = [ ];
106+ };
107+ jsx = builder {
108+ name = "jsx";
109+ version = "2.10.0";
110+ src = fetchHex {
111+ pkg = "jsx";
112+ version = "2.10.0";
113+ sha256 = "sha256-moPjcEgHKYAWlo21Bvn60PAn3jdUbrg4s64QZMOgrWI=";
114+ };
115+ beamDeps = [ ];
116+ };
117+ hackney = builder {
118+ name = "hackney";
119+ version = "1.17.1";
120+ src = fetchHex {
121+ pkg = "hackney";
122+ version = "1.17.1";
123+ sha256 = "sha256-0sup48gQOtAyBiPp8cM+jTeKFeqr4u6K5EGJjz01oYw=";
124+ };
125+ beamDeps = [ certifi idna metrics mimerl parse_trans ssl_verify_fun unicode_util_compat ];
126+ };
127+ goldrush = builder {
128+ name = "goldrush";
129+ version = "0.1.9";
130+ src = fetchHex {
131+ pkg = "goldrush";
132+ version = "0.1.9";
133+ sha256 = "sha256-mctBKM/8syJ1geXU2APVQT+mQ/TrllI/d9nmk32ZTOs=";
134+ };
135+ beamDeps = [ ];
136+ };
137+ getopt = builder {
138+ name = "getopt";
139+ version = "1.0.2";
140+ src = fetchHex {
141+ pkg = "getopt";
142+ version = "1.0.2";
143+ sha256 = "sha256-oAKa6kMi+4KmH2h2ptnGbcmHi2y2H6oT3zGHOE/U6iY=";
144+ };
145+ beamDeps = [ ];
146+ };
147+ elvis_core = builder {
148+ name = "elvis_core";
149+ version = "1.1.2";
150+ src = fetchHex {
151+ pkg = "elvis_core";
152+ version = "1.1.2";
153+ sha256 = "sha256-xO5Cp6fC/FZ/Pqa1FQFkzWgpDxEA6bGaTPiG2Kocpzw=";
154+ };
155+ beamDeps = [ katana_code zipper ];
156+ };
157+ egithub = builder {
158+ name = "egithub";
159+ version = "0.7.0";
160+ src = fetchHex {
161+ pkg = "egithub";
162+ version = "0.7.0";
163+ sha256 = "sha256-4AnOEe/YAI0PntWdnEiOPpq+MCoPLNbWY+TMJnVvzEw=";
164+ };
165+ beamDeps = [ goldrush hackney jsx lager ];
166+ };
167+ };
168+in self
pkgs/top-level/all-packages.nix+1−1
@@ -12343,7 +12343,7 @@ in
1234312343 erlang_nox = beam_nox.interpreters.erlang;
1234412344
1234512345 inherit (beam.packages.erlang)
12346− erlang-ls erlfmt
12346+ erlang-ls erlfmt elvis-erlang
1234712347 rebar rebar3 rebar3WithPlugins
1234812348 fetchHex beamPackages;
1234912349