lol
1{ lib
2, stdenv
3, buildGoModule
4, fetchFromGitHub
5, go-md2man
6, installShellFiles
7, pkg-config
8, gpgme
9, lvm2
10, btrfs-progs
11, libapparmor
12, libselinux
13, libseccomp
14}:
15
16buildGoModule rec {
17 pname = "buildah";
18 version = "1.28.0";
19
20 src = fetchFromGitHub {
21 owner = "containers";
22 repo = "buildah";
23 rev = "v${version}";
24 sha256 = "sha256-Q8IqyI6okTaXKDoYvaTcIv+wy4aiHXOjFkKBxTn4wwk=";
25 };
26
27 outputs = [ "out" "man" ];
28
29 vendorSha256 = null;
30
31 doCheck = false;
32
33 nativeBuildInputs = [ go-md2man installShellFiles pkg-config ];
34
35 buildInputs = [
36 gpgme
37 ] ++ lib.optionals stdenv.isLinux [
38 btrfs-progs
39 libapparmor
40 libseccomp
41 libselinux
42 lvm2
43 ];
44
45 buildPhase = ''
46 runHook preBuild
47 patchShebangs .
48 make bin/buildah
49 make -C docs GOMD2MAN="go-md2man"
50 runHook postBuild
51 '';
52
53 installPhase = ''
54 runHook preInstall
55 install -Dm755 bin/buildah $out/bin/buildah
56 installShellCompletion --bash contrib/completions/bash/buildah
57 make -C docs install PREFIX="$man"
58 runHook postInstall
59 '';
60
61 meta = with lib; {
62 description = "A tool which facilitates building OCI images";
63 homepage = "https://buildah.io/";
64 changelog = "https://github.com/containers/buildah/releases/tag/v${version}";
65 license = licenses.asl20;
66 maintainers = with maintainers; [ Profpatsch ] ++ teams.podman.members;
67 };
68}