1{
2 lib,
3 buildGoModule,
4 fetchFromGitHub,
5 python3,
6 bash,
7 coreutils,
8}:
9
10buildGoModule rec {
11 pname = "supercronic";
12 version = "0.2.34";
13
14 src = fetchFromGitHub {
15 owner = "aptible";
16 repo = "supercronic";
17 rev = "v${version}";
18 hash = "sha256-n3fYqtJ80YW4Pqepbo6rkjvV1jeCTWKUdieDey8dz04=";
19 };
20
21 vendorHash = "sha256-KphRxVuOE+2Rfjr5jmcm4KqBEwfMtLIvXZxVUplH31U=";
22
23 excludedPackages = [ "cronexpr/cronexpr" ];
24
25 nativeCheckInputs = [
26 python3
27 bash
28 coreutils
29 ];
30
31 postConfigure = ''
32 # There are tests that set the shell to various paths
33 substituteInPlace cron/cron_test.go --replace /bin/sh ${bash}/bin/sh
34 substituteInPlace cron/cron_test.go --replace /bin/false ${coreutils}/bin/false
35 '';
36
37 ldflags = [ "-X main.Version=${version}" ];
38
39 meta = with lib; {
40 description = "Cron tool designed for use in containers";
41 homepage = "https://github.com/aptible/supercronic";
42 license = licenses.mit;
43 maintainers = with maintainers; [ nasageek ];
44 mainProgram = "supercronic";
45 };
46}