1{
2 lib,
3 buildGoModule,
4 installShellFiles,
5 fetchFromGitHub,
6 nix-update-script,
7}:
8
9buildGoModule rec {
10 pname = "exercism";
11 version = "3.5.7";
12
13 src = fetchFromGitHub {
14 owner = "exercism";
15 repo = "cli";
16 tag = "v${version}";
17 hash = "sha256-DksutkeaI9F1lcCcEahX2eSi/DIy4ra1CcwqiUhpNfA=";
18 };
19
20 vendorHash = "sha256-xY3C3emqtPIKyxIN9aEkrLXhTxWNmo0EJXNZVtbtIvs=";
21
22 doCheck = false;
23
24 subPackages = [ "./exercism" ];
25
26 nativeBuildInputs = [ installShellFiles ];
27
28 passthru.updateScript = nix-update-script { };
29
30 postInstall = ''
31 installShellCompletion --cmd exercism \
32 --bash shell/exercism_completion.bash \
33 --fish shell/exercism.fish \
34 --zsh shell/exercism_completion.zsh
35 '';
36
37 meta = with lib; {
38 inherit (src.meta) homepage;
39 description = "Go based command line tool for exercism.io";
40 license = licenses.mit;
41 maintainers = [
42 maintainers.rbasso
43 maintainers.nobbz
44 ];
45 mainProgram = "exercism";
46 };
47}