summary refs log blame commit diff
path: root/pkgs/development/libraries/volume-key/default.nix
blob: 2b0a807bfa75f5b80200465329dbe521cc200a6a (plain) (tree)
1
2
3
4
5
6
7
8
9

                                                               
                             
               


   
                     
                        

                       


                                           

                                                                    

    
                                       
 
                                                                           
 









                                                                               
 
               

                                             

    

                                                             







                                                                                                                                                                                             
{ stdenv, fetchgit, autoreconfHook, pkgconfig, gettext, python3
, ncurses, swig, glib, utillinux, cryptsetup, nss, gpgme
, autoconf, automake, libtool
, buildPackages
}:

let
  version = "0.3.11";
in stdenv.mkDerivation {
  pname = "volume_key";
  inherit version;

  src = fetchgit {
    url = https://pagure.io/volume_key.git;
    rev = "volume_key-${version}";
    sha256 = "1sqdbcih1c39bjiv4mm1m7acc3lfh2i2hf2r9i7rk8adfzq8awma";
  };

  outputs = [ "out" "man" "dev" "py" ];

  nativeBuildInputs = [ autoconf automake libtool pkgconfig gettext swig ];

  buildInputs = [ autoreconfHook glib cryptsetup nss utillinux gpgme ncurses ];

  configureFlags = [
    "--with-gpgme-prefix=${gpgme.dev}"
  ];

  preConfigure = ''
    export PYTHON="${buildPackages.python3}/bin/python"
    export PYTHON3_CONFIG="${python3}/bin/python3-config"
  '';

  makeFlags = [
    "pyexecdir=$(py)/${python3.sitePackages}"
    "pythondir=$(py)/${python3.sitePackages}"
  ];

  doCheck = false; # fails 1 out of 1 tests, needs `certutil`

  meta = with stdenv.lib; {
    description = "A library for manipulating storage volume encryption keys and storing them separately from volumes to handle forgotten passphrases, and the associated command-line tool";
    homepage = https://pagure.io/volume_key/;
    license = licenses.gpl2;
    maintainers = with maintainers; [];
    platforms = platforms.linux;
  };
}