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