summaryrefslogtreecommitdiff
path: root/app-crypt/pinentry
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-02-27 23:40:34 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-02-27 23:40:34 +0000
commitfdd31f37b982d2c1b6d73b85f99718b13031be36 (patch)
treeb53698971171aec857ab0822be99fc89cac616c6 /app-crypt/pinentry
parent5cf235d5f7f308ba0183f7fa588514966b692114 (diff)
gentoo auto-resync : 27:02:2024 - 23:40:33
Diffstat (limited to 'app-crypt/pinentry')
-rw-r--r--app-crypt/pinentry/Manifest2
-rw-r--r--app-crypt/pinentry/files/pinentry-1.2.1-include-memory.patch313
-rw-r--r--app-crypt/pinentry/pinentry-1.2.1-r6.ebuild108
3 files changed, 423 insertions, 0 deletions
diff --git a/app-crypt/pinentry/Manifest b/app-crypt/pinentry/Manifest
index 1810fb386ed2..7d32b7244073 100644
--- a/app-crypt/pinentry/Manifest
+++ b/app-crypt/pinentry/Manifest
@@ -1,7 +1,9 @@
AUX pinentry-1.0.0-AR.patch 326 BLAKE2B 2a05565287d2a3ff9423db1365af6ac1d2d0e0e5b3b7db49ee927eacd480cfbd29abd2313d84eb764e9d7eccd4654e2173fbf8be4508dd88f14bf12f0f9dab39 SHA512 3a8b13ddaa2af8c793586cd73e44b59828e769c3861b2d328273bac991e7e171c8714e2098674a9ae8a77c9a68098012d217e67dde8872df154a1e499837de52
AUX pinentry-1.2.1-automagic-capslock.patch 2831 BLAKE2B abe6c6815521dd80a227704ad2698e4aaa808faccb7d95acb1b2af8bb55f2fec03d92df0b60703da2c9f092988da32572ad2fcbd1735b3109ae278d24e76e1eb SHA512 a9fe32da17d214e5d0355efa575c04f4010a42dd9b272e2446f632017a383f2dd5bd3b98a8a71fe13bf55769fa0b420310d4f3217fa16a31272058d44598f99d
+AUX pinentry-1.2.1-include-memory.patch 8682 BLAKE2B e119583daaf2b418047fc51bc29dafb979452f5831dd89a86879c87038abb0d690752078577803810f52a0eb2660ad3428abdcac4f670450ac09b701c250641c SHA512 9a56ea04447fabd248f54953d07262510d7ebcfef3e5daf8084f4138df037bf31288ff95baa6eae6ec7584a773fd3ae242c121ca3c1910d415407a8eccb69ccd
DIST pinentry-1.2.1.tar.bz2 547698 BLAKE2B aa47612aa3a6f74c3676bf4018780356cb22ed4078792c1f466f9e0465199428c151c0e20dfbe6c784ef93c2b42b673daff0b6adc74c8c98fed9921e65ed42ea SHA512 a665315628f4dcf07e16a22db3f3be15d7e7e93b3deec0546c7275b71b0e3bd65535a08af5e12d6339fd6595132df86529401d9d12bd17c428a3466e8dfafab6
DIST pinentry-1.2.1.tar.bz2.sig 238 BLAKE2B 01ba3dc296a8e76c546d21d0bb0cd13778476d5d5b3ef55a3401c6a0353a56d79250d11555afb31c77c5a77e63847ded0f8eaef395bb0dc2ee3ff1d6a4ed83bd SHA512 d0e8435dc169a58f111f057f1c9fbb6c70da32a850f1107d6abdf41357c1714832728109ae61507db313d7eaef9596e5faf92fd21bed78adcc46a8c8a590430b
EBUILD pinentry-1.2.1-r4.ebuild 2559 BLAKE2B 9119a96aad7f9866a7f10dda1048f4f42b9b7e4298ac82160a8e0bb47d4938ef6dc8f2e400a6fc8f9426c601516738e25b470ba668a29aab761285f0ad60965d SHA512 85e87975e0e5da0f026462291ea61ac19946117e565d9c163d4dc467d8d5d6a976c2d08921a78408816090930e32f0d0c56d2cbca63e2fb85f3b532ba4834c7c
EBUILD pinentry-1.2.1-r5.ebuild 2512 BLAKE2B 74956d554d56a8e620ff55697fa4a75f20e897955591469d9481afd9dae050a142be5866e1f28d39391252d6b3370a87b5c668f3ba5891b9d8b96d0a609a57aa SHA512 ad9a55fdbd346ef225b572231695b7802ae304674901ecf5e2e9e0cbdec9e15cf2e87bc4cb97531b1a43f97c8b1bce9b81fae6a85adc682e193d9204dbcd41e9
+EBUILD pinentry-1.2.1-r6.ebuild 2560 BLAKE2B 5e4c6c87b7843372b79ed44c0c25f69faa4f4dca7c0ae288e0bd8ddd309f6ead98d08f5004487fda91a29cbdde6f377365f77ad97ec66967ea24bea0a606542a SHA512 2b1fc47a238fc348a3dee7862498e3eb44af9d5b3c84ccf3dbfe0474815691f2048776fc4d71f44e61007b728d84259d7606bb8fb7b28004af4be45d842e9153
MISC metadata.xml 344 BLAKE2B d71f184ae783d215e32dc94e346c1f753f158b298cc2df87c14d5b73454ff3b4bf0ce4744d2aa0359bc68cb993cd35d2d6f77a09769853fda5b66e1cc1da3580 SHA512 0ae1c64980d4d94b8bbc04040a17b358b7138bf4022dcd97b6d2c464bc5fac0911c9522bea253586f69c8d137b75fe3e302d7cd9802290c2720c77706d9a935f
diff --git a/app-crypt/pinentry/files/pinentry-1.2.1-include-memory.patch b/app-crypt/pinentry/files/pinentry-1.2.1-include-memory.patch
new file mode 100644
index 000000000000..8c67950af6f3
--- /dev/null
+++ b/app-crypt/pinentry/files/pinentry-1.2.1-include-memory.patch
@@ -0,0 +1,313 @@
+https://bugs.gentoo.org/925557
+https://dev.gnupg.org/D566
+
+From 8ab1682e80a2b4185ee9ef66cbb44340245966fc Mon Sep 17 00:00:00 2001
+From: Werner Koch <wk@gnupg.org>
+Date: Mon, 20 Mar 2023 08:31:04 +0100
+Subject: [PATCH] Fix problem with inclusion of wrong memory.h.
+
+* secmem/memory.h: Rename to ...
+* secmem/secmem.h: this.
+* pinentry/pinentry.h: Include secmem.h. Remove almost all inclusions
+of memory.h or replace them by "../secmem/secmem.h".
+--
+
+See-also: https://dev.gnupg.org/D566
+---
+ fltk/main.cxx | 1 -
+ fltk/pinwindow.cxx | 2 +-
+ gnome3/pinentry-gnome3.c | 2 --
+ pinentry/password-cache.c | 2 +-
+ pinentry/pinentry-curses.c | 7 +++----
+ pinentry/pinentry-emacs.c | 2 +-
+ pinentry/pinentry.c | 1 -
+ pinentry/pinentry.h | 2 ++
+ secmem/Makefile.am | 2 +-
+ secmem/secmem++.h | 2 +-
+ secmem/secmem.c | 2 +-
+ secmem/{memory.h => secmem.h} | 0
+ tqt/secqstring.h | 2 +-
+ tty/pinentry-tty.c | 1 -
+ w32/main.c | 1 -
+ 15 files changed, 12 insertions(+), 17 deletions(-)
+ rename secmem/{memory.h => secmem.h} (100%)
+
+--- a/fltk/main.cxx 2019-03-05 23:09:48.000000000 -0800
++++ b/fltk/main.cxx 2024-02-26 11:02:47.822134762 -0800
+@@ -34,7 +34,6 @@
+ #include <getopt.h>
+ #include <assert.h>
+
+-#include "memory.h"
+ #include <memory>
+
+ #include <pinentry.h>
+--- a/fltk/pinwindow.cxx 2017-12-03 08:13:05.000000000 -0800
++++ b/fltk/pinwindow.cxx 2024-02-26 11:02:47.822134762 -0800
+@@ -32,7 +32,7 @@
+ #include <FL/Fl_Return_Button.H>
+ #include <FL/Fl_Pixmap.H>
+
+-#include "memory.h"
++#include "../secmem/secmem.h"
+
+ #include "encrypt.xpm"
+ #include "icon.xpm"
+--- a/gnome3/pinentry-gnome3.c 2022-08-24 03:31:59.000000000 -0700
++++ b/gnome3/pinentry-gnome3.c 2024-02-26 11:02:47.822134762 -0800
+@@ -30,8 +30,6 @@
+
+ #include <assuan.h>
+
+-#include "memory.h"
+-
+ #include "pinentry.h"
+
+ #ifdef FALLBACK_CURSES
+--- a/pinentry/password-cache.c 2017-12-03 08:13:15.000000000 -0800
++++ b/pinentry/password-cache.c 2024-02-26 11:02:47.822134762 -0800
+@@ -31,7 +31,7 @@
+ #endif
+
+ #include "password-cache.h"
+-#include "memory.h"
++#include "../secmem/secmem.h"
+
+ #ifdef HAVE_LIBSECRET
+ static const SecretSchema *
+--- a/pinentry/pinentry.c 2022-08-24 03:31:59.000000000 -0700
++++ b/pinentry/pinentry.c 2024-02-26 11:02:47.822134762 -0800
+@@ -44,7 +44,6 @@
+
+ #include <assuan.h>
+
+-#include "memory.h"
+ #include "secmem-util.h"
+ #include "argparse.h"
+ #include "pinentry.h"
+--- a/pinentry/pinentry-curses.c 2022-08-24 03:31:59.000000000 -0700
++++ b/pinentry/pinentry-curses.c 2024-02-26 11:02:47.822134762 -0800
+@@ -62,8 +62,6 @@
+ #include <utime.h>
+ #endif /*HAVE_UTIME_H*/
+
+-#include <memory.h>
+-
+ #ifdef HAVE_WCHAR_H
+ #include <wchar.h>
+ #endif /*HAVE_WCHAR_H*/
+@@ -1017,10 +1015,11 @@
+ #ifndef HAVE_DOSISH_SYSTEM
+ int no_input = 1;
+ #endif
+-
+ #ifdef HAVE_NCURSESW
+ char *old_ctype = NULL;
++#endif
+
++#ifdef HAVE_NCURSESW
+ if (pinentry->lc_ctype)
+ {
+ old_ctype = strdup (setlocale (LC_CTYPE, NULL));
+--- a/pinentry/pinentry-emacs.c 2021-08-11 04:16:10.000000000 -0700
++++ b/pinentry/pinentry-emacs.c 2024-02-26 11:02:47.822134762 -0800
+@@ -48,7 +48,7 @@
+ #include <assuan.h>
+
+ #include "pinentry-emacs.h"
+-#include "memory.h"
++#include "../secmem/secmem.h"
+ #include "secmem-util.h"
+
+ /* The communication mechanism is similar to emacsclient, but there
+--- a/pinentry/pinentry.h 2022-08-24 03:31:59.000000000 -0700
++++ b/pinentry/pinentry.h 2024-02-26 11:02:47.822134762 -0800
+@@ -21,6 +21,8 @@
+ #ifndef PINENTRY_H
+ #define PINENTRY_H
+
++#include "../secmem/secmem.h"
++
+ #ifdef __cplusplus
+ extern "C" {
+ #if 0
+--- a/secmem/Makefile.am 2017-12-03 08:13:05.000000000 -0800
++++ b/secmem/Makefile.am 2024-02-26 11:02:47.822134762 -0800
+@@ -22,7 +22,7 @@
+ noinst_LIBRARIES = libsecmem.a
+
+ libsecmem_a_SOURCES = \
+- memory.h \
++ secmem.h \
+ secmem-util.h \
+ util.h \
+ secmem.c \
+--- a/secmem/memory.h 2017-12-03 08:13:05.000000000 -0800
++++ b/secmem/memory.h 1969-12-31 16:00:00.000000000 -0800
+@@ -1,55 +0,0 @@
+-/* Quintuple Agent secure memory allocation
+- * Copyright (C) 1998,1999 Free Software Foundation, Inc.
+- * Copyright (C) 1999,2000 Robert Bihlmeyer <robbe@orcus.priv.at>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program; if not, see <https://www.gnu.org/licenses/>.
+- * SPDX-License-Identifier: GPL-2.0+
+- */
+-
+-#ifndef _MEMORY_H
+-#define _MEMORY_H
+-
+-#include <sys/types.h>
+-
+-#ifdef __cplusplus
+-extern "C" {
+-#if 0
+-}
+-#endif
+-#endif
+-
+-
+-/* values for flags, hardcoded in secmem.c */
+-#define SECMEM_WARN 0
+-#define SECMEM_DONT_WARN 1
+-#define SECMEM_SUSPEND_WARN 2
+-
+-void secmem_init( size_t npool );
+-void secmem_term( void );
+-void *secmem_malloc( size_t size );
+-void *secmem_realloc( void *a, size_t newsize );
+-void secmem_free( void *a );
+-int m_is_secure( const void *p );
+-void secmem_dump_stats(void);
+-void secmem_set_flags( unsigned flags );
+-unsigned secmem_get_flags(void);
+-size_t secmem_get_max_size (void);
+-
+-#if 0
+-{
+-#endif
+-#ifdef __cplusplus
+-}
+-#endif
+-#endif /* _MEMORY_H */
+--- a/secmem/secmem.c 2022-08-24 03:31:59.000000000 -0700
++++ b/secmem/secmem.c 2024-02-26 11:02:47.822134762 -0800
+@@ -34,7 +34,7 @@
+ #endif
+ #include <string.h>
+
+-#include "memory.h"
++#include "secmem.h"
+
+ #ifdef ORIGINAL_GPG_VERSION
+ #include "types.h"
+--- a/secmem/secmem++.h 2017-12-03 08:13:05.000000000 -0800
++++ b/secmem/secmem++.h 2024-02-26 11:02:47.822134762 -0800
+@@ -19,7 +19,7 @@
+ #ifndef __SECMEM_SECMEMPP_H__
+ #define __SECMEM_SECMEMPP_H__
+
+-#include "secmem/memory.h"
++#include "../secmem/secmem.h"
+ #include <cstddef>
+
+ namespace secmem {
+--- a/secmem/secmem.h 1969-12-31 16:00:00.000000000 -0800
++++ b/secmem/secmem.h 2024-02-26 11:02:47.822134762 -0800
+@@ -0,0 +1,55 @@
++/* Quintuple Agent secure memory allocation
++ * Copyright (C) 1998,1999 Free Software Foundation, Inc.
++ * Copyright (C) 1999,2000 Robert Bihlmeyer <robbe@orcus.priv.at>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, see <https://www.gnu.org/licenses/>.
++ * SPDX-License-Identifier: GPL-2.0+
++ */
++
++#ifndef _MEMORY_H
++#define _MEMORY_H
++
++#include <sys/types.h>
++
++#ifdef __cplusplus
++extern "C" {
++#if 0
++}
++#endif
++#endif
++
++
++/* values for flags, hardcoded in secmem.c */
++#define SECMEM_WARN 0
++#define SECMEM_DONT_WARN 1
++#define SECMEM_SUSPEND_WARN 2
++
++void secmem_init( size_t npool );
++void secmem_term( void );
++void *secmem_malloc( size_t size );
++void *secmem_realloc( void *a, size_t newsize );
++void secmem_free( void *a );
++int m_is_secure( const void *p );
++void secmem_dump_stats(void);
++void secmem_set_flags( unsigned flags );
++unsigned secmem_get_flags(void);
++size_t secmem_get_max_size (void);
++
++#if 0
++{
++#endif
++#ifdef __cplusplus
++}
++#endif
++#endif /* _MEMORY_H */
+--- a/tqt/secqstring.h 2017-12-03 08:33:12.000000000 -0800
++++ b/tqt/secqstring.h 2024-02-26 11:02:47.822134762 -0800
+@@ -65,7 +65,7 @@
+
+ extern "C"
+ {
+-#include "memory.h"
++#include "../secmem/secmem.h"
+ }
+
+ /* We need the original qchar and qstring for transparent conversion
+--- a/tty/pinentry-tty.c 2021-08-11 04:16:10.000000000 -0700
++++ b/tty/pinentry-tty.c 2024-02-26 11:02:47.822134762 -0800
+@@ -41,7 +41,6 @@
+ #include <gpg-error.h>
+
+ #include "pinentry.h"
+-#include "memory.h"
+
+ #ifndef HAVE_DOSISH_SYSTEM
+ static int timed_out;
+--- a/w32/main.c 2022-08-24 03:31:59.000000000 -0700
++++ b/w32/main.c 2024-02-26 11:02:47.822134762 -0800
+@@ -29,7 +29,6 @@
+ #endif
+
+ #include "pinentry.h"
+-#include "memory.h"
+
+ #include "resource.h"
+ /* #include "msgcodes.h" */
diff --git a/app-crypt/pinentry/pinentry-1.2.1-r6.ebuild b/app-crypt/pinentry/pinentry-1.2.1-r6.ebuild
new file mode 100644
index 000000000000..898f4bef6a9e
--- /dev/null
+++ b/app-crypt/pinentry/pinentry-1.2.1-r6.ebuild
@@ -0,0 +1,108 @@
+# 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
+ "${FILESDIR}/${PN}-1.2.1-include-memory.patch"
+)
+
+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
+}