summary refs log blame commit diff
path: root/pkgs/tools/security/pinentry/mac.nix
blob: 27917ffbbf17419b773127fab1e4e4ec8e17e06a (plain) (tree)
1
2
3
4
5
6
7
8
9
                                                                        
 
                     

                         
 


                           

                                                                    

    
                                      
                                           
 





                                                                       

                              
                                                          

     



                                                                             

                                            
                                    
                                                          
                                     

    
{ lib, stdenv, fetchFromGitHub, xcbuildHook, libiconv, ncurses, Cocoa }:

stdenv.mkDerivation {
  pname = "pinentry-mac";
  version = "0.9.4";

  src = fetchFromGitHub {
    owner = "matthewbauer";
    repo = "pinentry-mac";
    rev = "6dfef256c8ea32d642fea847f27d800f024cf51e";
    sha256 = "0g75302697gqcxyf2hyqzvcbd5pyss1bl2xvfd40wqav7dlyvj83";
  };

  nativeBuildInputs = [ xcbuildHook ];
  buildInputs = [ libiconv ncurses Cocoa ];

  preBuild = ''
    # Only build for what we care about (also allows arm64)
    substituteInPlace pinentry-mac.xcodeproj/project.pbxproj \
      --replace "i386 x86_64 ppc" "${stdenv.targetPlatform.darwinArch}"
  '';

  installPhase = ''
    mkdir -p $out/Applications
    mv Products/Release/pinentry-mac.app $out/Applications
  '';

  passthru = {
    binaryPath = "Applications/pinentry-mac.app/Contents/MacOS/pinentry-mac";
  };

  meta = {
    description = "Pinentry for GPG on Mac";
    license = lib.licenses.gpl2Plus;
    homepage = "https://github.com/GPGTools/pinentry-mac";
    platforms = lib.platforms.darwin;
  };
}