2018-09-28 20:28:38 +02:00
|
|
|
{ lib
|
|
|
|
, buildGoPackage
|
|
|
|
, fetchFromGitHub
|
|
|
|
, callPackage
|
|
|
|
}:
|
2017-09-01 16:49:24 +02:00
|
|
|
let
|
|
|
|
list = import ./data.nix;
|
2017-09-08 20:36:43 +02:00
|
|
|
|
|
|
|
toDrv = data:
|
2017-09-01 16:49:24 +02:00
|
|
|
buildGoPackage rec {
|
2019-11-06 00:19:08 +01:00
|
|
|
inherit (data) owner repo rev version sha256;
|
2017-09-08 20:36:43 +02:00
|
|
|
name = "${repo}-${version}";
|
|
|
|
goPackagePath = "github.com/${owner}/${repo}";
|
2019-01-18 18:49:19 +01:00
|
|
|
subPackages = [ "." ];
|
2017-09-08 20:36:43 +02:00
|
|
|
src = fetchFromGitHub {
|
2019-11-06 00:19:08 +01:00
|
|
|
inherit owner repo rev sha256;
|
2017-09-08 20:36:43 +02:00
|
|
|
};
|
2019-09-17 00:47:28 +02:00
|
|
|
|
2018-02-06 22:09:22 +01:00
|
|
|
|
|
|
|
# Terraform allow checking the provider versions, but this breaks
|
|
|
|
# if the versions are not provided via file paths.
|
|
|
|
postBuild = "mv go/bin/${repo}{,_v${version}}";
|
2017-09-01 16:49:24 +02:00
|
|
|
};
|
|
|
|
in
|
2018-09-28 20:28:38 +02:00
|
|
|
{
|
2020-03-27 08:33:21 +01:00
|
|
|
elasticsearch = callPackage ./elasticsearch {};
|
2018-10-11 21:53:30 +02:00
|
|
|
gandi = callPackage ./gandi {};
|
2018-09-28 20:28:38 +02:00
|
|
|
ibm = callPackage ./ibm {};
|
|
|
|
libvirt = callPackage ./libvirt {};
|
2020-03-16 21:58:57 +01:00
|
|
|
lxd = callPackage ./lxd {};
|
2019-07-25 13:58:42 +02:00
|
|
|
ansible = callPackage ./ansible {};
|
2018-09-28 20:28:38 +02:00
|
|
|
} // lib.mapAttrs (n: v: toDrv v) list
|