evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / sc / scrutiny / package.nix
blob98a1f0be8083fbf410e6c6cb5cb5ef7a07a87540
1 { buildNpmPackage
2 , buildGoModule
3 , fetchFromGitHub
4 , nixosTests
5 , lib
6 , nix-update-script
7 }:
8 let
9   pname = "scrutiny";
10   version = "0.8.1";
12   src = fetchFromGitHub {
13     owner = "AnalogJ";
14     repo = "scrutiny";
15     rev = "refs/tags/v${version}";
16     hash = "sha256-WoU5rdsIEhZQ+kPoXcestrGXC76rFPvhxa0msXjFsNg=";
17   };
19   frontend = buildNpmPackage {
20     inherit version;
21     pname = "${pname}-webapp";
22     src = "${src}/webapp/frontend";
24     npmDepsHash = "sha256-M8P41LPg7oJ/C9abDuNM5Mn+OO0zK56CKi2BwLxv8oQ=";
26     buildPhase = ''
27       runHook preBuild
28       mkdir dist
29       npm run build:prod --offline -- --output-path=dist
30       runHook postBuild
31     '';
33     installPhase = ''
34       runHook preInstall
35       mkdir $out
36       cp -r dist/* $out
37       runHook postInstall
38     '';
40     passthru.updatescript = nix-update-script { };
41   };
43 buildGoModule rec {
44   inherit pname src version;
46   subPackages = "webapp/backend/cmd/scrutiny";
48   vendorHash = "sha256-SiQw6pq0Fyy8Ia39S/Vgp9Mlfog2drtVn43g+GXiQuI=";
50   CGO_ENABLED = 0;
52   ldflags = [ "-extldflags=-static" ];
54   tags = [ "static" ];
56   postInstall = ''
57     mkdir -p $out/share/scrutiny
58     cp -r ${frontend}/* $out/share/scrutiny
59   '';
61   passthru.tests.scrutiny = nixosTests.scrutiny;
62   passthru.updatescript = nix-update-script { };
64   meta = {
65     description = "Hard Drive S.M.A.R.T Monitoring, Historical Trends & Real World Failure Thresholds";
66     homepage = "https://github.com/AnalogJ/scrutiny";
67     changelog = "https://github.com/AnalogJ/scrutiny/releases/tag/v${version}";
68     license = lib.licenses.mit;
69     maintainers = with lib.maintainers; [ jnsgruk ];
70     mainProgram = "scrutiny";
71     platforms = lib.platforms.linux;
72   };