From c7af9d0b5ebaa1fdb08ff5d8a56004998bcd8103 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 26 Mar 2020 12:16:45 +0100 Subject: gnu: gnupg: Use ~/.guix-profile/bin/pinentry by default. Fixes . Reported by Danny Milosavljevic . * gnu/packages/patches/gnupg-default-pinentry.patch: New file. * gnu/packages/gnupg.scm (gnupg)[source]: Use it. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/gnupg.scm | 5 +++-- gnu/packages/patches/gnupg-default-pinentry.patch | 15 +++++++++++++++ 3 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/gnupg-default-pinentry.patch diff --git a/gnu/local.mk b/gnu/local.mk index 5a51c474ed..07b159c4fe 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -972,6 +972,7 @@ dist_patch_DATA = \ %D%/packages/patches/gmp-faulty-test.patch \ %D%/packages/patches/gnome-shell-theme.patch \ %D%/packages/patches/gnome-tweaks-search-paths.patch \ + %D%/packages/patches/gnupg-default-pinentry.patch \ %D%/packages/patches/gnutls-skip-trust-store-test.patch \ %D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \ %D%/packages/patches/gobject-introspection-cc.patch \ diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 856c01a6d8..fc5b4fbc63 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2013, 2015, 2018 Andreas Enge ;;; Copyright © 2014, 2018 Eric Bavier ;;; Copyright © 2014, 2015, 2016 Mark H Weaver @@ -254,7 +254,8 @@ compatible to GNU Pth.") ".tar.bz2")) (sha256 (base32 - "0c6a4v9p6qzhsw1pfcwc459bxpc8hma0w9z8iqb9khvligack9q4")))) + "0c6a4v9p6qzhsw1pfcwc459bxpc8hma0w9z8iqb9khvligack9q4")) + (patches (search-patches "gnupg-default-pinentry.patch")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/patches/gnupg-default-pinentry.patch b/gnu/packages/patches/gnupg-default-pinentry.patch new file mode 100644 index 0000000000..272f4b53dc --- /dev/null +++ b/gnu/packages/patches/gnupg-default-pinentry.patch @@ -0,0 +1,15 @@ +Default to the pinentry program installed in ~/.guix-profile. + +diff --git a/common/homedir.c b/common/homedir.c +index e9e75d0..74e0aaf 100644 +--- a/common/homedir.c ++++ b/common/homedir.c +@@ -968,7 +968,7 @@ get_default_pinentry_name (int reset) + } names[] = { + /* The first entry is what we return in case we found no + other pinentry. */ +- { gnupg_bindir, DIRSEP_S "pinentry" EXEEXT_S }, ++ { gnupg_homedir, "/.guix-profile/bin/pinentry" }, + #ifdef HAVE_W32_SYSTEM + /* Try Gpg4win directory (with bin and without.) */ + { w32_rootdir, "\\..\\Gpg4win\\bin\\pinentry.exe" }, -- cgit v1.2.3