evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / di / distrobuilder / package.nix
blob0700c7e95dbccfe6eeb5362bc903cc9a12cff5e4
1 { lib
2 , buildGoModule
3 , callPackage
4 , cdrkit
5 , coreutils
6 , debootstrap
7 , fetchFromGitHub
8 , gnupg
9 , gnutar
10 , hivex
11 , makeWrapper
12 , nixosTests
13 , pkg-config
14 , squashfsTools
15 , stdenv
16 , wimlib
19 let
20   bins = [
21     coreutils
22     debootstrap
23     gnupg
24     gnutar
25     squashfsTools
26   ] ++ lib.optionals stdenv.hostPlatform.isx86_64 [
27     # repack-windows deps
28     cdrkit
29     hivex
30     wimlib
31   ];
33 buildGoModule rec {
34   pname = "distrobuilder";
35   version = "3.1";
37   vendorHash = "sha256-3oHLvOdHbOdaL2FTo+a5HmayNi/i3zoAsU/du9h1N30=";
39   src = fetchFromGitHub {
40     owner = "lxc";
41     repo = "distrobuilder";
42     rev = "refs/tags/distrobuilder-${version}";
43     sha256 = "sha256-cIzIoLQmg1kgI1QRAmFh/ca88PJBW2yIY92BKHKwTMk=";
44     fetchSubmodules = false;
45   };
47   buildInputs = bins;
50   # tests require a local keyserver (mkg20001/nixpkgs branch distrobuilder-with-tests) but gpg is currently broken in tests
51   doCheck = false;
53   nativeBuildInputs = [
54     pkg-config
55     makeWrapper
56   ] ++ bins;
58   postInstall = ''
59     wrapProgram $out/bin/distrobuilder --prefix PATH ":" ${lib.makeBinPath bins}
60   '';
62   passthru = {
63     tests = {
64       incus-legacy-init = nixosTests.incus.container-legacy-init;
65       incus-systemd-init = nixosTests.incus.container-systemd-init;
66     };
68     generator = callPackage ./generator.nix { inherit src version; };
69   };
71   meta = {
72     description = "System container image builder for LXC and LXD";
73     homepage = "https://github.com/lxc/distrobuilder";
74     license = lib.licenses.asl20;
75     maintainers = lib.teams.lxc.members;
76     platforms = lib.platforms.linux;
77     mainProgram = "distrobuilder";
78   };