summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Le Cuirot <chewi@gentoo.org>2024-02-24 23:10:23 +0000
committerJames Le Cuirot <chewi@gentoo.org>2024-02-24 23:10:23 +0000
commita78a3ecdfec2294b96255a02be639741352a7314 (patch)
tree6cc7caa11b5db88a8bf70775c8b92a1bf962b2d5 /app-crypt/pinentry
parentapp-crypt/gnupg: Fix cross-compiling by using gpgrt-config (diff)
downloadgentoo-a78a3ecdfec2294b96255a02be639741352a7314.tar.gz
gentoo-a78a3ecdfec2294b96255a02be639741352a7314.tar.bz2
gentoo-a78a3ecdfec2294b96255a02be639741352a7314.zip
app-crypt/pinentry: Fix cross-compiling by using gpgrt-config
It appears to be a reimplementation of pkg-config in Bash. It even uses the SYSROOT properly without setting any environment variables, seemingly by basing paths on where it was executed from. As such, using the build host's gpgrt-config doesn't work. Closes: https://bugs.gentoo.org/914708 Signed-off-by: James Le Cuirot <chewi@gentoo.org>
Diffstat (limited to 'app-crypt/pinentry')
-rw-r--r--app-crypt/pinentry/pinentry-1.2.1-r5.ebuild107
1 files changed, 107 insertions, 0 deletions
diff --git a/app-crypt/pinentry/pinentry-1.2.1-r5.ebuild b/app-crypt/pinentry/pinentry-1.2.1-r5.ebuild
new file mode 100644
index 000000000000..4fab916751e3
--- /dev/null
+++ b/app-crypt/pinentry/pinentry-1.2.1-r5.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
+inherit autotools qmake-utils verify-sig
+
+DESCRIPTION="Simple passphrase entry dialogs which utilize the Assuan protocol"
+HOMEPAGE="https://gnupg.org/aegypten2/"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="caps efl emacs gtk keyring ncurses qt5 wayland X"
+
+DEPEND="
+ >=dev-libs/libassuan-2.1
+ >=dev-libs/libgcrypt-1.6.3
+ >=dev-libs/libgpg-error-1.17
+ efl? ( dev-libs/efl[X] )
+ keyring? ( app-crypt/libsecret )
+ ncurses? ( sys-libs/ncurses:= )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ wayland? ( kde-plasma/kwayland:5 )
+ X? (
+ dev-qt/qtx11extras:5
+ x11-libs/libX11
+ )
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ gtk? ( app-crypt/gcr:0[gtk] )
+"
+BDEPEND="
+ sys-devel/gettext
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-gnupg )
+"
+PDEPEND="emacs? ( app-emacs/pinentry )"
+IDEPEND=">=app-eselect/eselect-pinentry-0.7.2"
+
+DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.0.0-AR.patch"
+ "${FILESDIR}/${PN}-1.2.1-automagic-capslock.patch" # bug #819939, bug #837719
+)
+
+src_prepare() {
+ default
+
+ unset FLTK_CONFIG
+
+ eautoreconf
+}
+
+src_configure() {
+ export PATH="$(qt5_get_bindir):${PATH}"
+ export QTLIB="$(qt5_get_libdir)"
+
+ local myeconfargs=(
+ $(use_enable efl pinentry-efl)
+ $(use_enable emacs pinentry-emacs)
+ $(use_enable keyring libsecret)
+ $(use_enable gtk pinentry-gnome3)
+ $(use_enable ncurses fallback-curses)
+ $(use_enable ncurses pinentry-curses)
+ $(use_enable qt5 pinentry-qt)
+ $(use_enable wayland kf5-wayland)
+ $(use_enable X qtx11extras)
+ $(use_with X x)
+
+ --enable-pinentry-tty
+ --disable-pinentry-fltk
+ --disable-pinentry-gtk2
+
+ MOC="$(qt5_get_bindir)"/moc
+ ac_cv_path_GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config"
+
+ $("${S}/configure" --help | grep -- '--without-.*-prefix' | sed -e 's/^ *\([^ ]*\) .*/\1/g')
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ rm "${ED}"/usr/bin/pinentry || die
+
+ use qt5 && dosym pinentry-qt /usr/bin/pinentry-qt5
+}
+
+pkg_postinst() {
+ eselect pinentry update ifunset
+}
+
+pkg_postrm() {
+ eselect pinentry update ifunset
+}