39a07cabe8
By default, GPGME tries to search in $PATH for the gpg and gpgconf binaries. This has the downside, that the library won't work by its own and needs to have GnuPG in systemPackages or the user environment. I've stumbled on this while working on one of the dependencies of nixos-assimilate and nixpart (volume_key), where the testing environment didn't come with GnuPG in $PATH and thus the tests have failed. After testing this with a few programs using GPGME, I haven't found any weird behavior in conjunction with the GnuPG agent. However one possible implication could be that if the GnuPG used in $PATH (and the config files in the user's home directory) should be vastly incompatible, it could lead to failures. In practice however, the GnuPG1/2 versions pretty much seem to stay compatible within their major releases so it shouldn't pose a problem. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
35 lines
1,007 B
Nix
35 lines
1,007 B
Nix
{ stdenv, fetchurl, libgpgerror, gnupg, pkgconfig, glib, pth, libassuan
|
|
, useGnupg1 ? false, gnupg1 ? null }:
|
|
|
|
assert useGnupg1 -> gnupg1 != null;
|
|
assert !useGnupg1 -> gnupg != null;
|
|
|
|
let
|
|
gpgStorePath = if useGnupg1 then gnupg1 else gnupg;
|
|
gpgProgram = if useGnupg1 then "gpg" else "gpg2";
|
|
in
|
|
stdenv.mkDerivation rec {
|
|
name = "gpgme-1.6.0";
|
|
|
|
src = fetchurl {
|
|
url = "mirror://gnupg/gpgme/${name}.tar.bz2";
|
|
sha256 = "17892sclz3yg45wbyqqrzzpq3l0icbnfl28f101b3062g8cy97dh";
|
|
};
|
|
|
|
propagatedBuildInputs = [ libgpgerror glib libassuan pth ];
|
|
|
|
nativeBuildInputs = [ pkgconfig gnupg ];
|
|
|
|
configureFlags = [
|
|
"--with-gpg=${gpgStorePath}/bin/${gpgProgram}"
|
|
"--enable-fixed-path=${gpgStorePath}/bin"
|
|
];
|
|
|
|
meta = {
|
|
homepage = "http://www.gnupg.org/related_software/gpgme";
|
|
description = "Library for making GnuPG easier to use";
|
|
license = stdenv.lib.licenses.gpl2;
|
|
platforms = stdenv.lib.platforms.unix;
|
|
maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
|
|
};
|
|
}
|