chromium,chromedriver: 129.0.6668.91 -> 129.0.6668.100
[NixPkgs.git] / pkgs / by-name / ba / backrest / package.nix
bloba989c6cb1fc44aefd0093e4b5964c18c2664968d
2   buildGoModule,
3   buildNpmPackage,
4   fetchFromGitHub,
5   lib,
6   restic,
7   util-linux,
8   stdenv,
9 }:
10 let
11   pname = "backrest";
12   version = "1.5.0";
14   src = fetchFromGitHub {
15     owner = "garethgeorge";
16     repo = "backrest";
17     rev = "refs/tags/v${version}";
18     hash = "sha256-qxEZkRKkwKZ+EZ3y3aGcX2ioKOz19SRdi3+9mjF1LpE=";
19   };
21   frontend = buildNpmPackage {
22     inherit version;
23     pname = "${pname}-webui";
24     src = "${src}/webui";
26     npmDepsHash = "sha256-mS8G3+JuASaOkAYi+vgWztrSIIu7vfaasu+YeRJjWZw=";
28     installPhase = ''
29       runHook preInstall
30       mkdir $out
31       cp -r dist/* $out
32       runHook postInstall
33     '';
34   };
36 buildGoModule {
37   inherit pname src version;
39   vendorHash = "sha256-YukcHnXa/QimfX3nDtQI6yfPkEK9j5SPXOPIT++eWsU=";
41   preBuild = ''
42     mkdir -p ./webui/dist
43     cp -r ${frontend}/* ./webui/dist
44   '';
46   nativeCheckInputs = [ util-linux ];
48   checkFlags =
49     let
50       skippedTests =
51         [
52           "TestServeIndex" # Fails with handler returned wrong content encoding
53         ]
54         ++ lib.optionals stdenv.isDarwin [
55           "TestBackup" # relies on ionice
56         ];
57     in
58     [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
60   preCheck = ''
61     # Use restic from nixpkgs, otherwise download fails in sandbox
62     export BACKREST_RESTIC_COMMAND="${restic}/bin/restic"
63     export HOME=$(pwd)
64   '';
66   meta = {
67     description = "Web UI and orchestrator for restic backup";
68     homepage = "https://github.com/garethgeorge/backrest";
69     changelog = "https://github.com/garethgeorge/backrest/releases/tag/v${version}";
70     license = lib.licenses.gpl3Only;
71     maintainers = with lib.maintainers; [ interdependence ];
72     mainProgram = "backrest";
73     platforms = lib.platforms.unix;
74   };