summary refs log blame commit diff
path: root/pkgs/applications/virtualization/podman/default.nix
blob: 6321be0f07097c85d433d21b8058b8147d951ea5 (plain) (tree)
1
2
3
4
5
6
7
8
9

                                                      
           

  
                    
                             
                    
 



                         
                                                                    
    


                                                 

                                  

                                                            
                                              
 
                 
                                     


                 
                                                
                   
                      
     
 
                   
                                             
                                          

     
                           






                                                                                 
{ stdenv, fetchFromGitHub, pkgconfig
, buildGoPackage, gpgme, lvm2, btrfs-progs, libseccomp
, go-md2man
}:

buildGoPackage rec {
  name = "podman-${version}";
  version = "1.2.0";

  src = fetchFromGitHub {
    owner = "containers";
    repo = "libpod";
    rev = "v${version}";
    sha256 = "1nlll4q62w3i897wraj18pdi5cc91b8gmp360pzyqzzjdm9ag7v6";
  };

  goPackagePath = "github.com/containers/libpod";

  outputs = [ "bin" "out" "man" ];

  # Optimizations break compilation of libseccomp c bindings
  hardeningDisable = [ "fortify" ];
  nativeBuildInputs = [ pkgconfig go-md2man ];

  buildInputs = [
    btrfs-progs libseccomp gpgme lvm2
  ];

  buildPhase = ''
    pushd $NIX_BUILD_TOP/go/src/${goPackagePath}
    patchShebangs .
    make binaries docs
  '';

  installPhase = ''
    install -Dm555 bin/podman $bin/bin/podman
    MANDIR=$man/share/man make install.man
  '';

  meta = with stdenv.lib; {
    homepage = https://podman.io/;
    description = "A program for managing pods, containers and container images";
    license = licenses.asl20;
    maintainers = with maintainers; [ vdemeester ];
    platforms = platforms.linux;
  };
}