From cc8681b2c718472614196b0424cdc47761c5d5a0 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Sun, 25 Jul 2021 10:59:01 +0200 Subject: evcc: init at 0.107.1 --- pkgs/servers/home-automation/evcc/default.nix | 92 +++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 pkgs/servers/home-automation/evcc/default.nix (limited to 'pkgs/servers/home-automation') diff --git a/pkgs/servers/home-automation/evcc/default.nix b/pkgs/servers/home-automation/evcc/default.nix new file mode 100644 index 0000000000000..feb0180cc4cbf --- /dev/null +++ b/pkgs/servers/home-automation/evcc/default.nix @@ -0,0 +1,92 @@ +{ lib +, buildGoModule +, fetchFromGitHub +, fetchNpmDeps +, cacert +, go +, git +, enumer +, mockgen +, nodejs +, npmHooks +, nix-update-script +, stdenv +}: + +buildGoModule rec { + pname = "evcc"; + version = "0.107.1"; + + src = fetchFromGitHub { + owner = "evcc-io"; + repo = pname; + rev = version; + hash = "sha256-Yu7ebZ6WkLpdvmg7H9A1Sveyu9SRuQ+78gFrCZrYhCU="; + }; + + vendorHash = "sha256-10W1BNHcdP77m7lJ/mc+jQeUigoUid3K0wI4bUm5y+s="; + + npmDeps = fetchNpmDeps { + inherit src; + hash = "sha256-+l5LuxJAjrTvOL5XEQ4OIktdupSpn6IqrNX5x4MRmNw="; + }; + + nativeBuildInputs = [ + nodejs + npmHooks.npmConfigHook + ]; + + overrideModAttrs = _: { + nativeBuildInputs = [ + enumer + go + git + cacert + mockgen + ]; + + preBuild = '' + make assets + ''; + }; + + tags = [ + "release" + ]; + + ldflags = [ + "-X github.com/evcc-io/evcc/server.Version=${version}" + "-X github.com/evcc-io/evcc/server.Commit=${src.rev}" + "-s" + "-w" + ]; + + npmInstallFlags = [ + "--legacy-peer-deps" + ]; + + preBuild = '' + make ui + ''; + + doCheck = !stdenv.isDarwin; # tries to bind to local network, doesn't work in darwin sandbox + + preCheck = '' + # requires network access + rm meter/template_test.go + ''; + + passthru = { + updateScript = nix-update-script { + attrPath = pname; + }; + }; + + meta = with lib; { + description = "EV Charge Controller"; + homepage = "https://evcc.io"; + changelog = "https://github.com/andig/evcc/releases/tag/${version}"; + license = licenses.mit; + maintainers = with maintainers; [ hexa ]; + }; +} -- cgit 1.4.1